lkml.org 
[lkml]   [2022]   [Aug]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 17/33] thermal/drivers/rcar: Switch to new of API
    Date
    The thermal OF code has a new API allowing to migrate the OF
    initialization to a simpler approach. The ops are no longer device
    tree specific and are the generic ones provided by the core code.

    Convert the ops to the thermal_zone_device_ops format and use the new
    API to register the thermal zone with these generic ops.

    Signed-off-by: Daniel Lezcano <daniel.lezcano@linexp.org>
    Tested-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
    ---
    drivers/thermal/rcar_gen3_thermal.c | 16 ++++++++--------
    drivers/thermal/rcar_thermal.c | 13 +++----------
    2 files changed, 11 insertions(+), 18 deletions(-)

    diff --git a/drivers/thermal/rcar_gen3_thermal.c b/drivers/thermal/rcar_gen3_thermal.c
    index e2020c6308cc..40ec63ad0a1b 100644
    --- a/drivers/thermal/rcar_gen3_thermal.c
    +++ b/drivers/thermal/rcar_gen3_thermal.c
    @@ -164,9 +164,9 @@ static int rcar_gen3_thermal_round(int temp)
    return result * RCAR3_THERMAL_GRAN;
    }

    -static int rcar_gen3_thermal_get_temp(void *devdata, int *temp)
    +static int rcar_gen3_thermal_get_temp(struct thermal_zone_device *tz, int *temp)
    {
    - struct rcar_gen3_thermal_tsc *tsc = devdata;
    + struct rcar_gen3_thermal_tsc *tsc = tz->devdata;
    int mcelsius, val;
    int reg;

    @@ -203,9 +203,9 @@ static int rcar_gen3_thermal_mcelsius_to_temp(struct rcar_gen3_thermal_tsc *tsc,
    return INT_FIXPT(val);
    }

    -static int rcar_gen3_thermal_set_trips(void *devdata, int low, int high)
    +static int rcar_gen3_thermal_set_trips(struct thermal_zone_device *tz, int low, int high)
    {
    - struct rcar_gen3_thermal_tsc *tsc = devdata;
    + struct rcar_gen3_thermal_tsc *tsc = tz->devdata;
    u32 irqmsk = 0;

    if (low != -INT_MAX) {
    @@ -225,7 +225,7 @@ static int rcar_gen3_thermal_set_trips(void *devdata, int low, int high)
    return 0;
    }

    -static struct thermal_zone_of_device_ops rcar_gen3_tz_of_ops = {
    +static struct thermal_zone_device_ops rcar_gen3_tz_of_ops = {
    .get_temp = rcar_gen3_thermal_get_temp,
    .set_trips = rcar_gen3_thermal_set_trips,
    };
    @@ -504,8 +504,8 @@ static int rcar_gen3_thermal_probe(struct platform_device *pdev)
    for (i = 0; i < priv->num_tscs; i++) {
    struct rcar_gen3_thermal_tsc *tsc = priv->tscs[i];

    - zone = devm_thermal_zone_of_sensor_register(dev, i, tsc,
    - &rcar_gen3_tz_of_ops);
    + zone = devm_thermal_of_zone_register(dev, i, tsc,
    + &rcar_gen3_tz_of_ops);
    if (IS_ERR(zone)) {
    dev_err(dev, "Sensor %u: Can't register thermal zone\n", i);
    ret = PTR_ERR(zone);
    @@ -556,7 +556,7 @@ static int __maybe_unused rcar_gen3_thermal_resume(struct device *dev)

    priv->thermal_init(tsc);
    if (zone->ops->set_trips)
    - rcar_gen3_thermal_set_trips(tsc, zone->prev_low_trip,
    + rcar_gen3_thermal_set_trips(zone, zone->prev_low_trip,
    zone->prev_high_trip);
    }

    diff --git a/drivers/thermal/rcar_thermal.c b/drivers/thermal/rcar_thermal.c
    index 1d729ed4d685..4df42d70d867 100644
    --- a/drivers/thermal/rcar_thermal.c
    +++ b/drivers/thermal/rcar_thermal.c
    @@ -271,13 +271,6 @@ static int rcar_thermal_get_current_temp(struct rcar_thermal_priv *priv,
    return 0;
    }

    -static int rcar_thermal_of_get_temp(void *data, int *temp)
    -{
    - struct rcar_thermal_priv *priv = data;
    -
    - return rcar_thermal_get_current_temp(priv, temp);
    -}
    -
    static int rcar_thermal_get_temp(struct thermal_zone_device *zone, int *temp)
    {
    struct rcar_thermal_priv *priv = rcar_zone_to_priv(zone);
    @@ -323,8 +316,8 @@ static int rcar_thermal_get_trip_temp(struct thermal_zone_device *zone,
    return 0;
    }

    -static const struct thermal_zone_of_device_ops rcar_thermal_zone_of_ops = {
    - .get_temp = rcar_thermal_of_get_temp,
    +static struct thermal_zone_device_ops rcar_thermal_zone_of_ops = {
    + .get_temp = rcar_thermal_get_temp,
    };

    static struct thermal_zone_device_ops rcar_thermal_zone_ops = {
    @@ -534,7 +527,7 @@ static int rcar_thermal_probe(struct platform_device *pdev)
    goto error_unregister;

    if (chip->use_of_thermal) {
    - priv->zone = devm_thermal_zone_of_sensor_register(
    + priv->zone = devm_thermal_of_zone_register(
    dev, i, priv,
    &rcar_thermal_zone_of_ops);
    } else {
    --
    2.25.1
    \
     
     \ /
      Last update: 2022-08-05 00:54    [W:2.122 / U:0.416 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site