RE: [PATCH v2 21/26] thermal/drivers/da9062: Use generic thermal_zone_get_trip() function
From: DLG Adam Ward
Date: Wed Aug 10 2022 - 04:57:57 EST
On 09 August 2022 23:05, Daniel Lezcano wrote:
> The thermal framework gives the possibility to register the trip
> points with the thermal zone. When that is done, no get_trip_* ops are
> needed and they can be removed.
>
> Convert ops content logic into generic trip points and register them with the
> thermal zone.
>
> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Reviewed-by: Adam Ward <DLG-Adam.Ward.opensource@xxxxxxxxxxxxxx>
> ---
> drivers/thermal/da9062-thermal.c | 52 +++++---------------------------
> 1 file changed, 8 insertions(+), 44 deletions(-)
>
> diff --git a/drivers/thermal/da9062-thermal.c b/drivers/thermal/da9062-
> thermal.c
> index 180edec34e07..1e163e90d6b6 100644
> --- a/drivers/thermal/da9062-thermal.c
> +++ b/drivers/thermal/da9062-thermal.c
> @@ -120,44 +120,6 @@ static irqreturn_t da9062_thermal_irq_handler(int
> irq, void *data)
> return IRQ_HANDLED;
> }
>
> -static int da9062_thermal_get_trip_type(struct thermal_zone_device *z,
> - int trip,
> - enum thermal_trip_type *type)
> -{
> - struct da9062_thermal *thermal = z->devdata;
> -
> - switch (trip) {
> - case 0:
> - *type = THERMAL_TRIP_HOT;
> - break;
> - default:
> - dev_err(thermal->dev,
> - "Driver does not support more than 1 trip-wire\n");
> - return -EINVAL;
> - }
> -
> - return 0;
> -}
> -
> -static int da9062_thermal_get_trip_temp(struct thermal_zone_device *z,
> - int trip,
> - int *temp)
> -{
> - struct da9062_thermal *thermal = z->devdata;
> -
> - switch (trip) {
> - case 0:
> - *temp = DA9062_MILLI_CELSIUS(125);
> - break;
> - default:
> - dev_err(thermal->dev,
> - "Driver does not support more than 1 trip-wire\n");
> - return -EINVAL;
> - }
> -
> - return 0;
> -}
> -
> static int da9062_thermal_get_temp(struct thermal_zone_device *z,
> int *temp)
> {
> @@ -172,8 +134,10 @@ static int da9062_thermal_get_temp(struct
> thermal_zone_device *z,
>
> static struct thermal_zone_device_ops da9062_thermal_ops = {
> .get_temp = da9062_thermal_get_temp,
> - .get_trip_type = da9062_thermal_get_trip_type,
> - .get_trip_temp = da9062_thermal_get_trip_temp,
> +};
> +
> +static struct thermal_trip trips[] = {
> + { .temperature = DA9062_MILLI_CELSIUS(125), .type =
> THERMAL_TRIP_HOT },
> };
>
> static const struct da9062_thermal_config da9062_config = {
> @@ -228,10 +192,10 @@ static int da9062_thermal_probe(struct
> platform_device *pdev)
> INIT_DELAYED_WORK(&thermal->work, da9062_thermal_poll_on);
> mutex_init(&thermal->lock);
>
> - thermal->zone = thermal_zone_device_register(thermal->config-
> >name,
> - 1, 0, thermal,
> - &da9062_thermal_ops, NULL,
> pp_tmp,
> - 0);
> + thermal->zone = thermal_zone_device_register_with_trips(thermal-
> >config->name,
> + trips,
> ARRAY_SIZE(trips), 0, thermal,
> +
> &da9062_thermal_ops, NULL, pp_tmp,
> + 0);
> if (IS_ERR(thermal->zone)) {
> dev_err(&pdev->dev, "Cannot register thermal zone
> device\n");
> ret = PTR_ERR(thermal->zone);
> --
> 2.34.1