From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg KH Date: Tue, 01 Mar 2005 08:01:43 +0000 Subject: Re: event sequencing Message-Id: <20050301080143.GD3890@kroah.com> List-Id: References: <9e473391050225081838f673c7@mail.gmail.com> In-Reply-To: <9e473391050225081838f673c7@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org On Mon, Feb 28, 2005 at 04:13:23PM -0500, Jon Smirl wrote: > On Mon, 28 Feb 2005 11:56:43 -0800, Greg KH wrote: > > I like the idea of your patch, but I think it breaks when we remove the > > class_device device, right? Or if we remove the parent class_device > > first. > > Added code to inc the parent's ref count. > BTW if parent is NULL the later call to > class_device_add_attrs(class_dev); is going to trap. > > [jonsmirl@jonsmirl base]$ bk diffs -u > === class.c 1.57 vs edited ==> --- 1.57/drivers/base/class.c 2004-12-21 19:29:34 -05:00 > +++ edited/class.c 2005-02-28 16:10:04 -05:00 > @@ -417,8 +417,9 @@ > > /* first, register with generic layer. */ > kobject_set_name(&class_dev->kobj, "%s", class_dev->class_id); > - if (parent) > + if (parent && !class_dev->kobj.parent) > class_dev->kobj.parent = &parent->subsys.kset.kobj; > + class_dev->kobj.parent = kobject_get(class_dev->kobj.parent); > > if ((error = kobject_add(&class_dev->kobj))) > goto register_done; > @@ -467,6 +468,7 @@ > class_device_driver_unlink(class_dev); > class_device_remove_attrs(class_dev); > > + kobject_put(class_dev->kobj.parent); > kobject_del(&class_dev->kobj); > > if (parent) And this works ok for you? Hm, we don't really need to walk class devices in "order" like we do for real devices, so this might be acceptable. But it just feels wrong, and I _know_ people will get this wrong (everyone gets the class code wrong the first time they do it.) We're trying to make this simpler, not more complex, with hidden "if you set this pointer before you call a function, this magic happens..." Anyway, let's do this properly, it's on the todo list, and will get done in a few weeks. thanks, greg k-h ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_ide95&alloc_id396&op=click _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel