Re: [PATCH v6 6/6] hwmon: pwm-fan: Code for using PWM FAN as a cooling device

Guenter Roeck
2015-02-26T14:12:36Z

On 02/26/2015 05:59 AM, Lukasz Majewski wrote:
> The PWM FAN device can now be used as a thermal cooling device. Necessary
> infrastructure has been added in this commit.
>
> Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
> Acked-by: Eduardo Valentin <edubezval@gmail.com>
> ---
> Changes for v2:
> - Replace pwm_fan_cooling_states with pwm_fan_cooling_levels
> - Update ctx->pwm_fan_state when correct data from device tree is available
> - Using therma_cdev_update() when thermal is ready for controlling the fan
> Changes for v3:
> - Rename patch heading
> - pwm_fan_of_get_cooling_data() now returns -EINVAL when no "cooling-levels"
> property defined
> - register of cooling device only when proper cooling data is present
> Changes for v4:
> - None
> Changes for v5:
> - Check for IS_ENABLED(CONFIG_THERMAL) has been added to prevent from
> executing thermal_* specific functions
> Changes for v6:
> - Adding missing ctx == NULL check in pwm_fan_get_max_state()
> - Call to thermal_cooling_device_unregister(ctx->cdev); at pwm_fan_remove()
> - struct thermal_cooling_device *cdev; added to struct pwm_fan_ctx
> ---
> drivers/hwmon/pwm-fan.c | 89 ++++++++++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 88 insertions(+), 1 deletion(-)
[ ... ]
>
> @@ -200,6 +286,7 @@ static int pwm_fan_remove(struct platform_device *pdev)
> {
> struct pwm_fan_ctx *ctx = platform_get_drvdata(pdev);
>
> + thermal_cooling_device_unregister(ctx->cdev);

Unfortunately there is still no prototype for this if CONFIG_THERMAL
is not configured.

Two options: Yet another revision, or wait a week until the prototypes
are (hopefully) available and submit a patch without the conditionals.

Guenter