From: Greg KH <gregkh@suse.de>
To: Kay Sievers <kay.sievers@vrfy.org>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 34/54] Driver Core: add kobj_attribute handling
Date: Mon, 5 Nov 2007 10:46:36 -0800 [thread overview]
Message-ID: <20071105184636.GA23031@suse.de> (raw)
In-Reply-To: <1194287971.2174.27.camel@lov.site>
On Mon, Nov 05, 2007 at 07:39:31PM +0100, Kay Sievers wrote:
> On Mon, 2007-11-05 at 19:17 +0100, Cornelia Huck wrote:
> > On Mon, 05 Nov 2007 19:07:50 +0100,
> > Kay Sievers <kay.sievers@vrfy.org> wrote:
> >
> > > On Mon, 2007-11-05 at 18:43 +0100, Cornelia Huck wrote:
> > > > On Mon, 05 Nov 2007 18:25:40 +0100,
> > > > Kay Sievers <kay.sievers@vrfy.org> wrote:
> > > >
> > > > > > > That should usually be done by default attributes assigned to the ktype.
> > > > > > > Do you have a good use case, where people need to create such attributes
> > > > > > > individually instead?
> > > > > >
> > > > > > The s390 code that was converted to use kobj_attributes :)
> > > > > >
> > > > > > These look very useful, I'll go add them to the series unless Kay really
> > > > > > objects.
> > > > >
> > > > > I just want to hear a good reason to create attributes individually. :)
> > > > > Especially in conjunction with kobject_register(), these attributes are
> > > > > not available at uevent time, which is really really bad.
> > > > >
> > > > > Default attributes just work fine, and have the proper error handling
> > > > > built-in. Offering special functions for it, may just encourage people
> > > > > to continue this "broken" way of creating attributes.
> > > >
> > > > But where should I specify those default attributes?
> > > > kset_create_and_register() sets the ktype to kset_ktype...
> > >
> > > Do you need to create attributes at a kset itself, not the kobjects that
> > > belong to the kset?
> >
> > Yes, see arch/s390/kernel/ipl.c
>
> Where are the objects that join this kset? A kset is a "collection of
> objects of a similar type", If there are no objects, you don't need a
> kset at all, I guess, but just a plain directory. :)
>
> Anyway, seems we need an easy way to pass default attributes to ksets
> and plain directories. If userspace should set some values here when a
> subsystems creates the its sysfs representation, we must make sure, that
> the attributes exist at the time the event is sent, otherwise we will
> run into all sorts of timing problems.
Kay is right, it should be simple to add the kobject attributes to the
kobject itself when it is registered to this kset, right?
> > (and I guess anything that uses
> > subsys_create_file() before).
>
> Well, some users embedded ksets(subsystem) into objects, because it they
> confused kobjects and ksets. So there may be a only very few valid users
> left. :)
Hm, I don't think that anyone still does this anymore, as I think I
fixed up all of these horrible use cases :)
thanks,
greg k-h
next prev parent reply other threads:[~2007-11-05 18:47 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-02 23:57 [RFC] kobject and kset core changes and cleanups Greg KH
2007-11-02 23:58 ` [PATCH 01/54] ecryptfs: clean up attribute mess Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 02/54] KOBJECT: remove struct kobj_type from struct kset Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 03/54] KOBJECT: remove kobj_set_kset_s as no one is using it anymore Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 04/54] kset: add kset_create_and_register function Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 05/54] kset: convert fuse to use kset_create Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 06/54] kset: convert securityfs " Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 07/54] kset: convert debugfs " Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 08/54] kset: convert configfs " Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 09/54] kset: convert ecryptfs " Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 10/54] kset: convert main fs kset " Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 11/54] kset: convert gfs2 " Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 12/54] kset: convert gfs2 dlm " Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 13/54] kset: convert " Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 14/54] kset: convert pci hotplug to use kset_create_and_register Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 15/54] kset: remove decl_subsys_name Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 16/54] kset: convert kernel_subsys to use kset_create Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 17/54] kset: convert drivers/base/bus.c kset_create_and_register Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 18/54] kset: convert drivers/base/class.c kset_create_and_register Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 19/54] kset: convert drivers/base/firmware.c kset_create_and_register Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 20/54] kset: convert /sys/devices to use kset_create Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 21/54] kset: convert /sys/hypervisor " Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 22/54] kset: convert /sys/devices/system " Greg Kroah-Hartman
2007-11-05 18:11 ` Cornelia Huck
2007-11-05 18:58 ` Greg KH
2007-11-05 19:11 ` Cornelia Huck
2007-11-05 20:03 ` Greg KH
2007-11-13 23:14 ` Andrew Morton
2007-11-14 0:01 ` Andrew Morton
2007-11-14 0:35 ` Greg KH
2007-11-14 7:35 ` Andrew Morton
2007-11-02 23:59 ` [PATCH 23/54] kset: convert slub " Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 24/54] kset: move /sys/slab to /sys/kernel/slab Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 25/54] kset: convert /sys/module to use kset_create Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 26/54] kset: convert /sys/power " Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 27/54] kset: convert s390 hypervisor kset " Greg Kroah-Hartman
2007-11-05 13:18 ` Cornelia Huck
2007-11-05 17:06 ` Greg KH
2007-11-02 23:59 ` [PATCH 28/54] kset: convert struct bus_device->devices " Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 29/54] kset: convert struct bus_device->drivers " Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 30/54] driver core: remove owner field from struct bus_type Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 31/54] driver core: add way to get to bus kset Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 32/54] driver core: add way to get to bus device klist Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 33/54] driver core: remove fields from struct bus_type Greg Kroah-Hartman
2007-11-05 10:33 ` Cornelia Huck
2007-11-05 17:00 ` Greg KH
2007-11-02 23:59 ` [PATCH 34/54] Driver Core: add kobj_attribute handling Greg Kroah-Hartman
2007-11-05 12:42 ` Cornelia Huck
2007-11-05 16:23 ` Kay Sievers
2007-11-05 17:11 ` Greg KH
2007-11-05 17:25 ` Kay Sievers
2007-11-05 17:43 ` Cornelia Huck
2007-11-05 18:07 ` Kay Sievers
2007-11-05 18:17 ` Cornelia Huck
2007-11-05 18:39 ` Kay Sievers
2007-11-05 18:46 ` Greg KH [this message]
2007-11-05 18:59 ` Cornelia Huck
2007-11-05 20:01 ` Greg KH
2007-11-02 23:59 ` [PATCH 35/54] Driver Core: switch all dynamic ksets to kobj_sysfs_ops Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 36/54] fix struct user_info export's sysfs interaction Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 37/54] ecryptfs: remove version_str file from sysfs Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 38/54] efivars: remove new_var and del_var files " Greg Kroah-Hartman
2007-11-16 15:01 ` Matt Domsch
2007-11-27 5:47 ` Greg KH
2007-11-02 23:59 ` [PATCH 39/54] kobject: convert efivars to kobj_attr interface Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 40/54] firmware: export firmware_kset so that people can use that instead of the braindead firmware_register interface Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 41/54] kset: convert efivars to use kset_create for the efi subsystem Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 42/54] kset: convert efivars to use kset_create for the vars sub-subsystem Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 43/54] kobject: convert arm/mach-omap1/pm.c to kobj_attr interface Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 44/54] kobject: convert pseries/power.c " Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 45/54] kobject: convert s390 ipl.c " Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 46/54] kset: convert s390 ipl.c to use kset_create Greg Kroah-Hartman
2007-11-05 10:27 ` Cornelia Huck
2007-11-05 17:05 ` Greg KH
2007-11-02 23:59 ` [PATCH 47/54] kobject: convert parisc/pdc_stable to kobj_attr interface Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 48/54] kset: convert parisc/pdc_stable.c to use kset_create Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 49/54] Driver Core: kill subsys_attribute and default sysfs ops Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 50/54] kset: convert edd to use kset_create Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 51/54] kset: convert acpi " Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 52/54] firmware: remove firmware_(un)register() Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 53/54] kset: convert ocfs2 to use kset_create Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 54/54] kset: remove decl_subsys macro Greg Kroah-Hartman
2007-11-06 6:25 ` [RFC] kobject and kset core changes and cleanups Andrew Morton
2007-11-06 7:11 ` Andrew Morton
2007-11-06 8:14 ` Stephane Eranian
2007-11-06 21:15 ` Greg KH
2007-11-06 21:33 ` Stephane Eranian
2007-11-06 8:04 ` Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20071105184636.GA23031@suse.de \
--to=gregkh@suse.de \
--cc=cornelia.huck@de.ibm.com \
--cc=kay.sievers@vrfy.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox