Message ID | 20230410205305.1649678-2-daniel.lezcano@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | Thermal zone device structure encapsulation | expand |
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 = { > --
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 --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 = {
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(-)