diff mbox series

[v2,1/7] thermal/drivers/intel_pch_thermal: Use thermal driver device to write a trace

Message ID 20230410205305.1649678-2-daniel.lezcano@linaro.org
State Superseded
Headers show
Series Thermal zone device structure encapsulation | expand

Commit Message

Daniel Lezcano April 10, 2023, 8:52 p.m. UTC
The pch_critical() callback accesses the thermal zone device structure
internals, it dereferences the thermal zone struct device and the 'type'.

For the former, the driver related device should be use instead and
for the latter an accessor already exists. Use them instead of
accessing the internals.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
 drivers/thermal/intel/intel_pch_thermal.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Rafael J. Wysocki April 11, 2023, 6:16 p.m. UTC | #1
On Mon, Apr 10, 2023 at 10:53 PM Daniel Lezcano
<daniel.lezcano@linaro.org> wrote:
>
> The pch_critical() callback accesses the thermal zone device structure
> internals, it dereferences the thermal zone struct device and the 'type'.
>
> For the former, the driver related device should be use instead and
> for the latter an accessor already exists. Use them instead of
> accessing the internals.
>
> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
> ---
>  drivers/thermal/intel/intel_pch_thermal.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/thermal/intel/intel_pch_thermal.c b/drivers/thermal/intel/intel_pch_thermal.c
> index dce50d239357..0de46057db2a 100644
> --- a/drivers/thermal/intel/intel_pch_thermal.c
> +++ b/drivers/thermal/intel/intel_pch_thermal.c
> @@ -127,7 +127,10 @@ static int pch_thermal_get_temp(struct thermal_zone_device *tzd, int *temp)
>
>  static void pch_critical(struct thermal_zone_device *tzd)
>  {
> -       dev_dbg(&tzd->device, "%s: critical temperature reached\n", tzd->type);
> +       struct pch_thermal_device *ptd = thermal_zone_device_priv(tzd);
> +
> +       dev_dbg(&ptd->pdev->dev, "%s: critical temperature reached\n",
> +               thermal_zone_device_type(tzd));

No, this just makes the code more complex than it is and the only
reason seems to be "cleanliness".

Something like

thermal_zone_dbg(tzd, "critical temperature reached\n");

would work, the above doesn't.  Sorry.

>  }
>
>  static struct thermal_zone_device_ops tzd_ops = {
> --
Daniel Lezcano April 11, 2023, 8:10 p.m. UTC | #2
On 11/04/2023 20:16, Rafael J. Wysocki wrote:
> On Mon, Apr 10, 2023 at 10:53 PM Daniel Lezcano
> <daniel.lezcano@linaro.org> wrote:
>>
>> The pch_critical() callback accesses the thermal zone device structure
>> internals, it dereferences the thermal zone struct device and the 'type'.
>>
>> For the former, the driver related device should be use instead and
>> for the latter an accessor already exists. Use them instead of
>> accessing the internals.
>>
>> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
>> ---
>>   drivers/thermal/intel/intel_pch_thermal.c | 5 ++++-
>>   1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/thermal/intel/intel_pch_thermal.c b/drivers/thermal/intel/intel_pch_thermal.c
>> index dce50d239357..0de46057db2a 100644
>> --- a/drivers/thermal/intel/intel_pch_thermal.c
>> +++ b/drivers/thermal/intel/intel_pch_thermal.c
>> @@ -127,7 +127,10 @@ static int pch_thermal_get_temp(struct thermal_zone_device *tzd, int *temp)
>>
>>   static void pch_critical(struct thermal_zone_device *tzd)
>>   {
>> -       dev_dbg(&tzd->device, "%s: critical temperature reached\n", tzd->type);
>> +       struct pch_thermal_device *ptd = thermal_zone_device_priv(tzd);
>> +
>> +       dev_dbg(&ptd->pdev->dev, "%s: critical temperature reached\n",
>> +               thermal_zone_device_type(tzd));
> 
> No, this just makes the code more complex than it is and the only
> reason seems to be "cleanliness".
> 
> Something like
> 
> thermal_zone_dbg(tzd, "critical temperature reached\n");
> 
> would work, the above doesn't.  Sorry.

Why not add a trace directly in handle_critical_trips() in 
thermal_core.c and remove this one ?
diff mbox series

Patch

diff --git a/drivers/thermal/intel/intel_pch_thermal.c b/drivers/thermal/intel/intel_pch_thermal.c
index dce50d239357..0de46057db2a 100644
--- a/drivers/thermal/intel/intel_pch_thermal.c
+++ b/drivers/thermal/intel/intel_pch_thermal.c
@@ -127,7 +127,10 @@  static int pch_thermal_get_temp(struct thermal_zone_device *tzd, int *temp)
 
 static void pch_critical(struct thermal_zone_device *tzd)
 {
-	dev_dbg(&tzd->device, "%s: critical temperature reached\n", tzd->type);
+	struct pch_thermal_device *ptd = thermal_zone_device_priv(tzd);
+
+	dev_dbg(&ptd->pdev->dev, "%s: critical temperature reached\n",
+		thermal_zone_device_type(tzd));
 }
 
 static struct thermal_zone_device_ops tzd_ops = {