In Fuchsia, all communications between drivers and non-drivers occur over
[FIDL (Fuchsia Interface Definition Language)](https://fuchsia.dev/docs/concepts/fidl/overview) calls. If your driver uses
the Banjo protocol, you'll need to update the driver to make only FIDL calls.

In short, migrating a driver from Banjo to FIDL involves the
steps below:

1. Update the driver's `.fidl` file to create a new FIDL interface.
2. Update the driver's source code to use the new interface.
3. Build and test the driver using the new FIDL interface.

## Before you start

Prior to starting migration tasks, first check out the
[**Frequently asked questions**](https://fuchsia.dev/docs/development/drivers/migration/migrate-from-banjo-to-fidl/faq) page. This can help you identify
special conditions or edge cases that may apply to your driver.

## List of migration tasks

- [**Convert Banjo protocols to FIDL protocols**](https://fuchsia.dev/fuchsia-src/development/drivers/migration/migrate-from-banjo-to-fidl/convert-banjo-protocols-to-fidl-protocols):
  Learn how to migrate a driver from using the Banjo protocol to FIDL.

  - [Update the driver from Banjo to FIDL](https://fuchsia.dev/fuchsia-src/development/drivers/migration/migrate-from-banjo-to-fidl/convert-banjo-protocols-to-fidl-protocols#update-the-dfv1-driver-from-banjo-to-fidl)
  - (Optional) [Update the driver to use two-way communication](https://fuchsia.dev/fuchsia-src/development/drivers/migration/migrate-from-banjo-to-fidl/convert-banjo-protocols-to-fidl-protocols#update-the-dfv1-driver-to-use-two-way-communication)
  - [Additional resources](https://fuchsia.dev/fuchsia-src/development/drivers/migration/migrate-from-banjo-to-fidl/convert-banjo-protocols-to-fidl-protocols#additional-resources)

[](https://issues.fuchsia.dev/issues/new?component=1439230&template=1881640&description=Issue+on:+https://fuchsia.dev/docs/development/drivers/migration/migrate-from-banjo-to-fidl/overview.md "Report a bug or suggest improvements on this page") [](https://cs.opensource.google/fuchsia/fuchsia/+/main:docs/development/drivers/migration/migrate-from-banjo-to-fidl/overview.md "View the source code of this page") [](https://ci.android.com/edit?repo=fuchsia/fuchsia/main&file=docs/development/drivers/migration/migrate-from-banjo-to-fidl/overview.md&cloneRepo=fuchsia/fuchsia:refs/heads/main&fullPath=fuchsia/docs/development/drivers/migration/migrate-from-banjo-to-fidl/overview.md "Edit the source code of this page")