Re: [PATCH v5 07/12] PM / devfreq: export devfreq_class
From: Chanwoo Choi
Date: Wed Jul 04 2018 - 01:30:46 EST
Hi,
I didn't see any framework which exporting the class instance.
It is very dangerous. Unknown device drivers is able to reset
the 'devfreq_class' instance. I can't agree this approach.
Regards,
Chanwoo Choi
On 2018ë 07ì 04ì 08:47, Matthias Kaehlcke wrote:
> Exporting the device class allows other parts of the kernel to enumerate
> the devfreq devices and receive notification when a devfreq device is
> added or removed.
>
> Signed-off-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx>
> Reviewed-by: Brian Norris <briannorris@xxxxxxxxxxxx>
> ---
> Changes in v5:
> - none
>
> Changes in v4:
> - added 'Reviewed-by: Brian Norris <briannorris@xxxxxxxxxxxx>' tag
>
> Changes in v3:
> - none
>
> Changes in v2:
> - patch added to series
> ---
> drivers/devfreq/devfreq.c | 3 ++-
> include/linux/devfreq.h | 2 ++
> 2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
> index 4cbaa7ad1972..38b90b64fc6e 100644
> --- a/drivers/devfreq/devfreq.c
> +++ b/drivers/devfreq/devfreq.c
> @@ -31,7 +31,8 @@
> #define MAX(a,b) ((a > b) ? a : b)
> #define MIN(a,b) ((a < b) ? a : b)
>
> -static struct class *devfreq_class;
> +struct class *devfreq_class;
> +EXPORT_SYMBOL_GPL(devfreq_class);
>
> /*
> * devfreq core provides delayed work based load monitoring helper
> diff --git a/include/linux/devfreq.h b/include/linux/devfreq.h
> index c4f84a769cb5..964e064a951f 100644
> --- a/include/linux/devfreq.h
> +++ b/include/linux/devfreq.h
> @@ -206,6 +206,8 @@ struct devfreq_freqs {
> };
>
> #if defined(CONFIG_PM_DEVFREQ)
> +extern struct class *devfreq_class;
> +
> extern struct devfreq *devfreq_add_device(struct device *dev,
> struct devfreq_dev_profile *profile,
> const char *governor_name,
>