6.3.1 Required Hybrid Driver Features

Hybrid drivers are required to implement the following features:
  • Installation of one or more instances of the EFI_DRIVER_BINDING_PROTOCOL in a driver's entry point.
  • Management of one or more controller handles.
Even if a driver writer is convinced the driver manages only a single bus controller, the driver should be designed to manage multiple bus controllers. The overhead for this functionality is low, and it makes the driver more portable.
  • Production of child handles.
This feature is the key distinction between device drivers and bus drivers.
  • Consumption of one or more I/O-related protocols from a controller handle.
  • Production of one or more I/O-related protocols on the same controller handle.
  • Production of one or more I/O-related protocols on each child handle.