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.