lkml.org 
[lkml]   [2022]   [Jul]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 25/32] ata/drivers/ahci_imx: Switch to new of thermal 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.

    sata_ahci_read_temperature() is used by sata_ahci_show_temp() also.

    So in order to change the function prototype for the get_temp ops which
    does not take a void* but a thermal_zone_device* structure, this
    function wraps the call.

    Signed-off-by: Daniel Lezcano <daniel.lezcano@linexp.org>
    ---
    drivers/ata/ahci_imx.c | 15 ++++++++++-----
    1 file changed, 10 insertions(+), 5 deletions(-)

    diff --git a/drivers/ata/ahci_imx.c b/drivers/ata/ahci_imx.c
    index 79aa9f285312..b734e069034d 100644
    --- a/drivers/ata/ahci_imx.c
    +++ b/drivers/ata/ahci_imx.c
    @@ -327,7 +327,7 @@ static int read_adc_sum(void *dev, u16 rtune_ctl_reg, void __iomem * mmio)
    }

    /* SATA AHCI temperature monitor */
    -static int sata_ahci_read_temperature(void *dev, int *temp)
    +static int __sata_ahci_read_temperature(void *dev, int *temp)
    {
    u16 mpll_test_reg, rtune_ctl_reg, dac_ctl_reg, read_sum;
    u32 str1, str2, str3, str4;
    @@ -416,6 +416,11 @@ static int sata_ahci_read_temperature(void *dev, int *temp)
    return 0;
    }

    +static int sata_ahci_read_temperature(struct thermal_zone_device *tz, int *temp)
    +{
    + return __sata_ahci_read_temperature(tz->devdata, temp);
    +}
    +
    static ssize_t sata_ahci_show_temp(struct device *dev,
    struct device_attribute *da,
    char *buf)
    @@ -423,14 +428,14 @@ static ssize_t sata_ahci_show_temp(struct device *dev,
    unsigned int temp = 0;
    int err;

    - err = sata_ahci_read_temperature(dev, &temp);
    + err = __sata_ahci_read_temperature(dev, &temp);
    if (err < 0)
    return err;

    return sprintf(buf, "%u\n", temp);
    }

    -static const struct thermal_zone_of_device_ops fsl_sata_ahci_of_thermal_ops = {
    +static const struct thermal_zone_device_ops fsl_sata_ahci_of_thermal_ops = {
    .get_temp = sata_ahci_read_temperature,
    };

    @@ -1131,8 +1136,8 @@ static int imx_ahci_probe(struct platform_device *pdev)
    ret = PTR_ERR(hwmon_dev);
    goto disable_clk;
    }
    - devm_thermal_zone_of_sensor_register(hwmon_dev, 0, hwmon_dev,
    - &fsl_sata_ahci_of_thermal_ops);
    + devm_thermal_of_zone_register(hwmon_dev, 0, hwmon_dev,
    + &fsl_sata_ahci_of_thermal_ops);
    dev_info(dev, "%s: sensor 'sata_ahci'\n", dev_name(hwmon_dev));
    }

    --
    2.25.1
    \
     
     \ /
      Last update: 2022-07-25 23:30    [W:4.508 / U:0.200 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site