KOBJ_BIND uevent
From: Jonas Bonn
Date: Mon Nov 05 2018 - 05:36:04 EST
Hi,
I have a question about the ordering of uevents, specifically concerning
complex USB devices that present multiple interfaces/functions.
Before KOBJ_BIND, a USB device would typically present itself as:
add usb_device
add usb_interface-1
add subsystem-device-1.0
add subsystem-device-1.1
add usb_interface-2
add subsystem-device-2.0
I have noted that the recently added "bind" actions, however, present in
the reverse order.
bind subsystem-device-1.0
bind subsystem-device-1.1
bind usb-interface-1
bind subsystem-device-2.0
bind usb_interface-2
bind usb_device
This secondary ordering could be useful in the sense that the final
"bind" action on the usb_device is an indication that the kernel has
finished enumeration of all endpoints and has bound all drivers that it
could to the available interfaces... i.e. no further events for this
device are expected.
The question, then, is: is the above ordering of "bind" events stable,
or is it just a consequence of the current implementation and may change
in the future?
/Jonas