Re: [PATCH] thermal: rcar_gen3_thermal: Add supports the hwmon thermal sysfs

2018-12-04 Thread Hoan

Dear Geert-san, Wolfram-san

I'm sorry for the delay at the comments of this patch.

And I think it's not hurry!


+   /* Enable hwmon thermal sysfs */
+   tsc->zone->tzp->no_hwmon = false;
+   ret = thermal_add_hwmon_sysfs(tsc->zone);
+   if (ret)
+   dev_err(dev, "Can't register hwmon sysfs\n");
+
 dev_info(dev, "TSC%d: Loaded %d trip points\n", i, ret);
 }

You forgot to call thermal_remove_hwmon_sysfs() in the .remove()
callback?


I got it, Thanks!

On 2018/11/13 20:57, Wolfram Sang wrote:

Hi Hoan,


+   /* Enable hwmon thermal sysfs */
+   tsc->zone->tzp->no_hwmon = false;

A driver diving so deep into core structures always looks suspicious.
Questions I have:

1)

We have that code also in rcar_thermal.c, but the commit introducing
it[1] has a reason which does not apply for this driver, or?


This is not the reason to apply this patch.

I would say here are the general Linux systems, or as if the systems

that thermal was registered by "thermal_zone_device_register()".

The Linux community has developed tools that use this, such as 
"lm-sensors",


my Ubuntu and rcar-Gen2 are still compatible with lm-sensors but Gen3 
does not.


Although I do not want to say paradoxical that the kernel drivers must 
be compatible


with the user-space applications.


2)

of_parse_thermal_zones() intentionally sets this flag with this
comment:

/* No hwmon because there might be hwmon drivers registering */

Why does it not apply for us?

I think so it should be registered separately.

3)

If it turns out, we really need it, there should be some thermal core
helper or flag for it, I'd think...


Yes, It up to you!


Regards,

Wolfram

[1] 64a411e8042e ("thermal: rcar-thermal: enable hwmon when 
thermal_zone_of_sensor_register is used")


Thank you very much for your comments :-)!

Hoan.




Re: [PATCH] thermal: rcar_gen3_thermal: Add supports the hwmon thermal sysfs

2018-11-13 Thread Wolfram Sang

> Please run scripts/get_maintainer.pl on your patches, to get the list of
> maintainers.
> 
> CC thermal

Thanks, Geert!


Hi Hoan,

> + /* Enable hwmon thermal sysfs */
> + tsc->zone->tzp->no_hwmon = false;

A driver diving so deep into core structures always looks suspicious.
Questions I have:

1)

We have that code also in rcar_thermal.c, but the commit introducing
it[1] has a reason which does not apply for this driver, or?

2)

of_parse_thermal_zones() intentionally sets this flag with this
comment:

/* No hwmon because there might be hwmon drivers registering */

Why does it not apply for us?

3)

If it turns out, we really need it, there should be some thermal core
helper or flag for it, I'd think...

Regards,

   Wolfram

[1] 64a411e8042e ("thermal: rcar-thermal: enable hwmon when 
thermal_zone_of_sensor_register is used")



signature.asc
Description: PGP signature


Re: [PATCH] thermal: rcar_gen3_thermal: Add supports the hwmon thermal sysfs

2018-11-13 Thread Geert Uytterhoeven
Hi Hoan,

Thanks for your patch!

Please run scripts/get_maintainer.pl on your patches, to get the list of
maintainers.

CC thermal

On Tue, Nov 13, 2018 at 7:46 AM Nguyen An Hoan  wrote:
>
> From: Hoan Nguyen An 
>
> Gen3 thermal registered by devm_thermal_zone_of_sensor_register()
> and this function does not enable hwmon sysfs extensions.
> This patch enables it to keep compatibility to common systems
>
> Signed-off-by: Hoan Nguyen An 
> ---
>  drivers/thermal/rcar_gen3_thermal.c | 7 +++
>  1 file changed, 7 insertions(+)
>
> diff --git a/drivers/thermal/rcar_gen3_thermal.c 
> b/drivers/thermal/rcar_gen3_thermal.c
> index 75786cc..ae172db 100644
> --- a/drivers/thermal/rcar_gen3_thermal.c
> +++ b/drivers/thermal/rcar_gen3_thermal.c
> @@ -19,6 +19,7 @@
>  #include 
>
>  #include "thermal_core.h"
> +#include "thermal_hwmon.h"
>
>  /* Register offsets */
>  #define REG_GEN3_IRQSTR0x04
> @@ -429,6 +430,12 @@ static int rcar_gen3_thermal_probe(struct 
> platform_device *pdev)
> if (ret < 0)
> goto error_unregister;
>
> +   /* Enable hwmon thermal sysfs */
> +   tsc->zone->tzp->no_hwmon = false;
> +   ret = thermal_add_hwmon_sysfs(tsc->zone);
> +   if (ret)
> +   dev_err(dev, "Can't register hwmon sysfs\n");
> +
> dev_info(dev, "TSC%d: Loaded %d trip points\n", i, ret);
> }
>

You forgot to call thermal_remove_hwmon_sysfs() in the .remove()
callback?

Gr{oetje,eeting}s,

Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds


[PATCH] thermal: rcar_gen3_thermal: Add supports the hwmon thermal sysfs

2018-11-12 Thread Nguyen An Hoan
From: Hoan Nguyen An 

Gen3 thermal registered by devm_thermal_zone_of_sensor_register()
and this function does not enable hwmon sysfs extensions.
This patch enables it to keep compatibility to common systems

Signed-off-by: Hoan Nguyen An 
---
 drivers/thermal/rcar_gen3_thermal.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/drivers/thermal/rcar_gen3_thermal.c 
b/drivers/thermal/rcar_gen3_thermal.c
index 75786cc..ae172db 100644
--- a/drivers/thermal/rcar_gen3_thermal.c
+++ b/drivers/thermal/rcar_gen3_thermal.c
@@ -19,6 +19,7 @@
 #include 
 
 #include "thermal_core.h"
+#include "thermal_hwmon.h"
 
 /* Register offsets */
 #define REG_GEN3_IRQSTR0x04
@@ -429,6 +430,12 @@ static int rcar_gen3_thermal_probe(struct platform_device 
*pdev)
if (ret < 0)
goto error_unregister;
 
+   /* Enable hwmon thermal sysfs */
+   tsc->zone->tzp->no_hwmon = false;
+   ret = thermal_add_hwmon_sysfs(tsc->zone);
+   if (ret)
+   dev_err(dev, "Can't register hwmon sysfs\n");
+
dev_info(dev, "TSC%d: Loaded %d trip points\n", i, ret);
}
 
-- 
2.7.4