Re: [PATCH 3/5] driver core: class: add function to create /sys/class/<class>/foo directory

From: Greg Kroah-Hartman
Date: Sun Sep 08 2019 - 09:08:39 EST


On Sun, Sep 08, 2019 at 09:41:10PM +0900, Akinobu Mita wrote:
> This adds a new function class_kobject_create_and_add() that creates a
> directory in the /sys/class/<class>.
>
> This function is required to create the /sys/class/leds/triggers directory
> that contains all available LED triggers.
>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: "Rafael J. Wysocki" <rafael@xxxxxxxxxx>
> Cc: Jacek Anaszewski <jacek.anaszewski@xxxxxxxxx>
> Cc: Pavel Machek <pavel@xxxxxx>
> Cc: Dan Murphy <dmurphy@xxxxxx>
> Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>
> ---
> drivers/base/class.c | 7 +++++++
> include/linux/device.h | 3 +++
> 2 files changed, 10 insertions(+)
>
> diff --git a/drivers/base/class.c b/drivers/base/class.c
> index d8a6a58..f4c53e7 100644
> --- a/drivers/base/class.c
> +++ b/drivers/base/class.c
> @@ -104,6 +104,13 @@ void class_remove_file_ns(struct class *cls, const struct class_attribute *attr,
> sysfs_remove_file_ns(&cls->p->subsys.kobj, &attr->attr, ns);
> }
>
> +struct kobject *class_kobject_create_and_add(const char *name,
> + struct class *cls)
> +{
> + return kobject_create_and_add(name, &cls->p->subsys.kobj);
> +}
> +EXPORT_SYMBOL_GPL(class_kobject_create_and_add);

Ick, why? Are you _SURE_ you really need to do this? Positive? This
feels very strange...

greg k-h