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.