Re: [External] : RE: Re : [PATCH v5 3/5] thermal: renesas: rzg3e: Add thermal driver for the Renesas RZ/G3E SoC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi John,

On 03-04-2025 00:52, John Madieu wrote:
Hi Alok,

-----Original Message-----
From: ALOK TIWARI <alok.a.tiwari@xxxxxxxxxx>
Sent: Tuesday, April 1, 2025 8:24 PM
To: John Madieu <john.madieu.xa@xxxxxxxxxxxxxx>; geert+renesas@xxxxxxxxx;
conor+dt@xxxxxxxxxx; krzk+dt@xxxxxxxxxx; robh@xxxxxxxxxx;
rafael@xxxxxxxxxx; daniel.lezcano@xxxxxxxxxx
Subject: Re : [PATCH v5 3/5] thermal: renesas: rzg3e: Add thermal driver
for the Renesas RZ/G3E SoC

Hi John,

Thanks for your reply.

On 01-04-2025 17:35, John Madieu wrote:
Hi Alok,

Thanks for your feedback.

-----Original Message-----
From: ALOK TIWARI <alok.a.tiwari@xxxxxxxxxx>
Sent: Monday, March 31, 2025 8:11 PM
To: John Madieu <john.madieu.xa@xxxxxxxxxxxxxx>;
geert+renesas@xxxxxxxxx;
conor+dt@xxxxxxxxxx; krzk+dt@xxxxxxxxxx; robh@xxxxxxxxxx;
rafael@xxxxxxxxxx; daniel.lezcano@xxxxxxxxxx
Subject: Re : [PATCH v5 3/5] thermal: renesas: rzg3e: Add thermal
driver for the Renesas RZ/G3E SoC



On 31-03-2025 03:19, John Madieu wrote:
The RZ/G3E SoC integrates a Temperature Sensor Unit (TSU) block

+static int rzg3e_thermal_change_mode(struct thermal_zone_device *tz,
+				     enum thermal_device_mode mode) {
+	struct rzg3e_thermal_priv *priv = thermal_zone_device_priv(tz);
+
+	if (mode == THERMAL_DEVICE_DISABLED)
+		rzg3e_thermal_hw_disable(priv);
+	else
+		rzg3e_thermal_hw_enable(priv);
+
+	priv->mode = mode;
+	return 0;
+}
+
always return 0 here ? what, if (!priv) return -EINVAL; ?

priv cannot be NULL here, guaranteed from probe().
Returning 0 here is expected by the thermal framework to notify ops
success.


I agreed. priv cannot be NULL.
It appears that return 0 is deliberate in this case. can we add Meaningful
comment which help to code readability.


This is a standard tzd ops, which expects 0 to be returned
for disabling/enabling success. This is how it's implemented
in every Thermal driver I've gone through in the -next tree.

not sure if user call ioctl(fd, THERMAL_IOC_SET_MODE, 2) and it returns
0 with thermal enable.
that create possibility to thermal_core call thermal_notify_tz_disable if
any case

Am I missing something ?


That's fine. it is not supporting ioctl.
usually thermal core driver do check if(mode == THERMAL_DEVICE_ENABLED) condition, else part is by-default. as it is supporting only enable/disable case from /sys/class/thermal/thermal_zone0/mode. it does not create any issue.
LGTM.

+static const struct thermal_zone_device_ops rzg3e_tz_ops = {
+	.get_temp = rzg3e_thermal_get_temp,
+	.set_trips = rzg3e_thermal_set_trips,
+	.change_mode = rzg3e_thermal_change_mode, };
other renesas driver defined as rzg2l_tz_of_ops, can be used similar
one rzg3e_tz_of_ops for consistency!

Thanks for pointing it out. Makes sense. Will double check and update
accordingly.

+
+static int rzg3e_thermal_probe(struct platform_device *pdev) {
+	struct device *dev = &pdev->dev;
+	struct rzg3e_thermal_priv *priv;
+	struct reset_control *rstc;

Regards,
John





[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux