| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- /* SPDX-License-Identifier: GPL-2.0 */
- /*
- * Copyright (C) Linaro Ltd 2020
- * Author: Daniel Lezcano <daniel.lezcano@linaro.org>
- */
- struct thermal_genl_cpu_caps {
- int cpu;
- int performance;
- int efficiency;
- };
- 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;
- };
- struct thermal_zone_device;
- struct thermal_trip;
- struct thermal_cooling_device;
- /* Netlink notification function */
- #ifdef CONFIG_THERMAL_NETLINK
- int __init thermal_netlink_init(void);
- void __init thermal_netlink_exit(void);
- int thermal_genl_register_notifier(struct notifier_block *nb);
- int thermal_genl_unregister_notifier(struct notifier_block *nb);
- 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);
- 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);
- int thermal_notify_tz_trip_change(const struct thermal_zone_device *tz,
- const struct thermal_trip *trip);
- 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);
- int thermal_notify_tz_gov_change(const struct thermal_zone_device *tz,
- const char *name);
- int thermal_genl_sampling_temp(int id, int temp);
- int thermal_genl_cpu_capability_event(int count,
- struct thermal_genl_cpu_caps *caps);
- int thermal_notify_threshold_add(const struct thermal_zone_device *tz,
- int temperature, int direction);
- int thermal_notify_threshold_delete(const struct thermal_zone_device *tz,
- int temperature, int direction);
- int thermal_notify_threshold_flush(const struct thermal_zone_device *tz);
- int thermal_notify_threshold_down(const struct thermal_zone_device *tz);
- int thermal_notify_threshold_up(const struct thermal_zone_device *tz);
- #else
- static inline int thermal_netlink_init(void)
- {
- return 0;
- }
- static inline int thermal_notify_tz_create(const struct thermal_zone_device *tz)
- {
- return 0;
- }
- 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;
- }
- static inline int thermal_notify_tz_delete(const struct thermal_zone_device *tz)
- {
- return 0;
- }
- static inline int thermal_notify_tz_enable(const struct thermal_zone_device *tz)
- {
- return 0;
- }
- static inline int thermal_notify_tz_disable(const struct thermal_zone_device *tz)
- {
- return 0;
- }
- static inline int thermal_notify_tz_trip_down(const struct thermal_zone_device *tz,
- const struct thermal_trip *trip)
- {
- return 0;
- }
- static inline int thermal_notify_tz_trip_up(const struct thermal_zone_device *tz,
- const struct thermal_trip *trip)
- {
- return 0;
- }
- static inline int thermal_notify_tz_trip_change(const struct thermal_zone_device *tz,
- const struct thermal_trip *trip)
- {
- return 0;
- }
- static inline int thermal_notify_cdev_state_update(const struct thermal_cooling_device *cdev,
- int state)
- {
- return 0;
- }
- static inline int thermal_notify_cdev_add(const struct thermal_cooling_device *cdev)
- {
- return 0;
- }
- static inline int thermal_notify_cdev_delete(const struct thermal_cooling_device *cdev)
- {
- return 0;
- }
- static inline int thermal_notify_tz_gov_change(const struct thermal_zone_device *tz,
- const char *name)
- {
- return 0;
- }
- static inline int thermal_genl_sampling_temp(int id, int temp)
- {
- return 0;
- }
- static inline int thermal_genl_cpu_capability_event(int count, struct thermal_genl_cpu_caps *caps)
- {
- return 0;
- }
- static inline int thermal_notify_threshold_add(const struct thermal_zone_device *tz,
- int temperature, int direction)
- {
- return 0;
- }
- static inline int thermal_notify_threshold_delete(const struct thermal_zone_device *tz,
- int temperature, int direction)
- {
- return 0;
- }
- static inline int thermal_notify_threshold_flush(const struct thermal_zone_device *tz)
- {
- return 0;
- }
- static inline int thermal_notify_threshold_down(const struct thermal_zone_device *tz)
- {
- return 0;
- }
- static inline int thermal_notify_threshold_up(const struct thermal_zone_device *tz)
- {
- return 0;
- }
- static inline void __init thermal_netlink_exit(void) {}
- #endif /* CONFIG_THERMAL_NETLINK */
|