Message ID | 20220809220436.711020-22-daniel.lezcano@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | Rework the trip points creation | expand |
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@linaro.org> Reviewed-by: Adam Ward <DLG-Adam.Ward.opensource@dm.renesas.com> > --- > 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
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);
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@linaro.org> --- drivers/thermal/da9062-thermal.c | 52 +++++--------------------------- 1 file changed, 8 insertions(+), 44 deletions(-)