/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (c) 2020 MediaTek Inc. */ #ifndef _BACKLIGHT_COOLING_H #define _BACKLIGHT_COOLING_H #include /*=========================================================== * Macro Definitions *=========================================================== */ #define BACKLIGHT_COOLING_UNLIMITED_STATE (0) #define BACKLIGHT_COOLING_MAX_STATE (100) #define MAX_BACKLIGHT_COOLER_NAME_LEN (20) /*================================================== * Type Definitions *================================================== */ /** * struct backlight_cooling_device - data for backlight cooling device * @name: naming string for this cooling device * @target_state: target cooling state which is set in set_cur_state() * callback. * @max_state: maximum state supported for this cooling device * @cdev: thermal_cooling_device pointer to keep track of the * registered cooling device. * @throttle: callback function to handle throttle request * @dev: device node pointer */ struct backlight_cooling_device { char name[MAX_BACKLIGHT_COOLER_NAME_LEN]; unsigned long target_state; unsigned long max_state; struct thermal_cooling_device *cdev; int (*throttle)(struct backlight_cooling_device *bl_cdev, unsigned long state); struct device *dev; }; #endif