Migrating a DFv1 driver to DFv2 primarily involves updating the driver's interfaces and services to DFv2.
However, if your target driver has descendant DFv1 drivers that haven't yet migrated to DFv2, you need to use the compatibility shim to enable your now-DFv2 driver to talk to other DFv1 drivers in the system. For more information, see Set up the compat device server in a DFv2 driver.
Before you start
Prior to starting migration tasks, first check out the Frequently asked questions page. This can help you identify special conditions or edge cases that may apply to your driver.
List of migration tasks
Update DDK interfaces to DFv2: Learn how to migrate the legacy DFv1 driver interfaces to DFv2.
Update other services to DFv2: Learn how to migrate a driver's services other than the DDK interfaces to DFv2.
- Use the DFv2 service discovery
- Update component manifests of other drivers
- Expose a devfs node from the DFv2 driver
- Use dispatchers
- Use the DFv2 inspect
- (Optional) Implement your own load_firmware method
- (Optional) Use the node properties generated from FIDL service offers
- Update unit tests to DFv2
- Additional resources