On Wed, Apr 27, 2005 at 04:14:08PM -0700, Patrick Mansfield wrote:
> On Wed, Apr 27, 2005 at 05:21:10PM -0400, Alan Stern wrote:
> 
> > David's right.  Why did kobject_hotplug() move out of kobject_add() and
> > into its callers sometime after 2.6.11?  In particular the invocation in 
> > device_add() is in the wrong place; it needs to come before 
> > bus_add_device() starts probing for drivers.  Otherwise, as David points 
> > out, when the drivers start registering child devices from their probe 
> > methods, the hotplug events for those child devices will appear before the 
> > event for the parent.

Yes, that's bad, sorry, while I've moved the hotplug event generation to this
point to get saner sysfs timing I didn't realized this.

> But bus_add_device() calls device_add_attrs() to create attrs, if you call
> it after the hotplug, the user space hotplug event shows up before the
> sysfs attrs are created (if the driver is using the bus->dev_attrs field).

Right, it would be nice if the sysfs-attributes are ready before the event is
fired. This saves us all the sleep and stat loops in userspace.

> I'd like to see device_add() split into two pieces, one component that
> initializes the struct device, and another to call the hotplug and the bus
> probe.
> 
> And as Kay S. suggested, a new device_register() that is the functional
> equivalent of today's device_add().

I still like that and I can do the patch to split device_add so SCSI can
add the device but fire the hotplug event after the device is fully registered.

Greg, ok if I prepare a patch to look at or don't you like the split?

Otherwise it don't see how this can be fixed and we need to move the hotplug
event in core.c up where it was before and stick with the old sysfs
timing.

Thanks,
Kay


-------------------------------------------------------
SF.Net email is sponsored by: Tell us your software development plans!
Take this survey and enter to win a one-year sub to SourceForge.net
Plus IDC's 2005 look-ahead and a copy of this survey
Click here to start!  http://www.idcswdc.com/cgi-bin/survey?id=105hix
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to