2020-07-07 12:01:57 +03:00
/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright ( C ) Linaro Ltd 2020
* Author : Daniel Lezcano < daniel . lezcano @ linaro . org >
*/
2022-01-27 22:34:53 +03:00
struct thermal_genl_cpu_caps {
int cpu ;
int performance ;
int efficiency ;
} ;
2024-02-23 18:59:40 +03:00
enum thermal_genl_multicast_groups {
THERMAL_GENL_SAMPLING_GROUP = 0 ,
THERMAL_GENL_EVENT_GROUP = 1 ,
THERMAL_GENL_MAX_GROUP = THERMAL_GENL_EVENT_GROUP ,
} ;
# define THERMAL_NOTIFY_BIND 0
# define THERMAL_NOTIFY_UNBIND 1
struct thermal_genl_notify {
int mcgrp ;
} ;
2024-01-03 14:49:57 +03:00
struct thermal_zone_device ;
struct thermal_trip ;
2024-01-09 19:42:04 +03:00
struct thermal_cooling_device ;
2024-01-03 14:49:57 +03:00
2020-07-07 12:01:57 +03:00
/* Netlink notification function */
# ifdef CONFIG_THERMAL_NETLINK
2020-07-17 19:42:16 +03:00
int __init thermal_netlink_init ( void ) ;
2023-01-23 18:27:54 +03:00
void __init thermal_netlink_exit ( void ) ;
2024-02-23 18:59:40 +03:00
int thermal_genl_register_notifier ( struct notifier_block * nb ) ;
int thermal_genl_unregister_notifier ( struct notifier_block * nb ) ;
2024-01-03 14:59:10 +03:00
int thermal_notify_tz_create ( const struct thermal_zone_device * tz ) ;
int thermal_notify_tz_delete ( const struct thermal_zone_device * tz ) ;
int thermal_notify_tz_enable ( const struct thermal_zone_device * tz ) ;
int thermal_notify_tz_disable ( const struct thermal_zone_device * tz ) ;
2023-12-15 22:57:50 +03:00
int thermal_notify_tz_trip_down ( const struct thermal_zone_device * tz ,
const struct thermal_trip * trip ) ;
int thermal_notify_tz_trip_up ( const struct thermal_zone_device * tz ,
const struct thermal_trip * trip ) ;
2024-01-03 14:49:57 +03:00
int thermal_notify_tz_trip_change ( const struct thermal_zone_device * tz ,
const struct thermal_trip * trip ) ;
2024-01-09 19:42:04 +03:00
int thermal_notify_cdev_state_update ( const struct thermal_cooling_device * cdev ,
int state ) ;
int thermal_notify_cdev_add ( const struct thermal_cooling_device * cdev ) ;
int thermal_notify_cdev_delete ( const struct thermal_cooling_device * cdev ) ;
2024-01-03 14:59:10 +03:00
int thermal_notify_tz_gov_change ( const struct thermal_zone_device * tz ,
const char * name ) ;
2020-07-07 12:01:57 +03:00
int thermal_genl_sampling_temp ( int id , int temp ) ;
2022-01-27 22:34:53 +03:00
int thermal_genl_cpu_capability_event ( int count ,
struct thermal_genl_cpu_caps * caps ) ;
2020-07-07 12:01:57 +03:00
# else
2020-07-17 19:42:16 +03:00
static inline int thermal_netlink_init ( void )
{
return 0 ;
}
2024-01-03 14:59:10 +03:00
static inline int thermal_notify_tz_create ( const struct thermal_zone_device * tz )
2020-07-07 12:01:57 +03:00
{
return 0 ;
}
2024-02-23 18:59:40 +03:00
static inline int thermal_genl_register_notifier ( struct notifier_block * nb )
{
return 0 ;
}
static inline int thermal_genl_unregister_notifier ( struct notifier_block * nb )
{
return 0 ;
}
2024-01-03 14:59:10 +03:00
static inline int thermal_notify_tz_delete ( const struct thermal_zone_device * tz )
2020-07-07 12:01:57 +03:00
{
return 0 ;
}
2024-01-03 14:59:10 +03:00
static inline int thermal_notify_tz_enable ( const struct thermal_zone_device * tz )
2020-07-07 12:01:57 +03:00
{
return 0 ;
}
2024-01-03 14:59:10 +03:00
static inline int thermal_notify_tz_disable ( const struct thermal_zone_device * tz )
2020-07-07 12:01:57 +03:00
{
return 0 ;
}
2023-12-15 22:57:50 +03:00
static inline int thermal_notify_tz_trip_down ( const struct thermal_zone_device * tz ,
const struct thermal_trip * trip )
2020-07-07 12:01:57 +03:00
{
return 0 ;
}
2023-12-15 22:57:50 +03:00
static inline int thermal_notify_tz_trip_up ( const struct thermal_zone_device * tz ,
const struct thermal_trip * trip )
2020-07-07 12:01:57 +03:00
{
return 0 ;
}
2024-01-03 14:49:57 +03:00
static inline int thermal_notify_tz_trip_change ( const struct thermal_zone_device * tz ,
const struct thermal_trip * trip )
2020-07-07 12:01:57 +03:00
{
return 0 ;
}
2024-01-09 19:42:04 +03:00
static inline int thermal_notify_cdev_state_update ( const struct thermal_cooling_device * cdev ,
int state )
2020-07-07 12:01:57 +03:00
{
return 0 ;
}
2024-01-09 19:42:04 +03:00
static inline int thermal_notify_cdev_add ( const struct thermal_cooling_device * cdev )
2020-07-07 12:01:57 +03:00
{
return 0 ;
}
2024-01-09 19:42:04 +03:00
static inline int thermal_notify_cdev_delete ( const struct thermal_cooling_device * cdev )
2020-07-07 12:01:57 +03:00
{
return 0 ;
}
2024-01-03 14:59:10 +03:00
static inline int thermal_notify_tz_gov_change ( const struct thermal_zone_device * tz ,
const char * name )
2020-07-07 12:01:57 +03:00
{
return 0 ;
}
static inline int thermal_genl_sampling_temp ( int id , int temp )
{
return 0 ;
}
2022-01-27 22:34:53 +03:00
2022-02-07 19:38:29 +03:00
static inline int thermal_genl_cpu_capability_event ( int count , struct thermal_genl_cpu_caps * caps )
2022-01-27 22:34:53 +03:00
{
return 0 ;
}
2023-01-23 18:27:54 +03:00
static inline void __init thermal_netlink_exit ( void ) { }
2020-07-07 12:01:57 +03:00
# endif /* CONFIG_THERMAL_NETLINK */