6.2.9 Bus drivers that produce no children in Start()
If a bus controller supports hot-plug devices and the UEFI driver wants to
support hotplug events, then no child handles should be produced in Start()
.
Instead, a periodic timer event should be created, and each time the
notification function for the periodic timer event is called, the bus driver
should check to see if any devices have been hot added or hot removed from the
bus. Any devices that were already plugged into the bus when the driver was
first started look like they were just hot added. This means that for the
devices that were already plugged into the bus, the child handles are produced
the first time the notification function is executed.
The USB bus driver is an example driver in the EDK II that produces no children
in the Start()
service of the Driver Binding Protocol. This driver is located
at MdeModulePkg\Bus\Usb\UsbBusDxe
directory.