[banjo] Migrate fuchsia.hardware.gpio to FIDL.

Bug: 72629
Change-Id: I6fc2df9783c014cfe97ee624d0244dcc44996258
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/512627
Fuchsia-Auto-Submit: Suraj Malhotra <surajmalhotra@google.com>
Reviewed-by: David Gilhooley <dgilhooley@google.com>
Commit-Queue: Suraj Malhotra <surajmalhotra@google.com>
diff --git a/docs/development/drivers/tutorials/banjo-tutorial.md b/docs/development/drivers/tutorials/banjo-tutorial.md
index e415dfbd..d8ae61d 100644
--- a/docs/development/drivers/tutorials/banjo-tutorial.md
+++ b/docs/development/drivers/tutorials/banjo-tutorial.md
@@ -855,7 +855,7 @@
 
 Tests in Zircon get the mock headers automatically. Tests outsize of Zircon must depend on the
 protocol target with a `_mock` suffix, e.g.
-`//zircon/public/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock`.
+`//zircon/public/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock`.
 
 ## Using the mocks
 
diff --git a/sdk/banjo/BUILD.gn b/sdk/banjo/BUILD.gn
index a324585..8eedabf 100644
--- a/sdk/banjo/BUILD.gn
+++ b/sdk/banjo/BUILD.gn
@@ -50,7 +50,6 @@
   "fuchsia.hardware.goldfish.control",
   "fuchsia.hardware.goldfish.pipe",
   "fuchsia.hardware.goldfish.sync",
-  "fuchsia.hardware.gpio",
   "fuchsia.hardware.gpu.mali",
   "fuchsia.hardware.hidbus",
   "fuchsia.hardware.hiddevice",
diff --git a/sdk/banjo/fuchsia.hardware.gpio/BUILD.gn b/sdk/banjo/fuchsia.hardware.gpio/BUILD.gn
index 232d374..3097642 100644
--- a/sdk/banjo/fuchsia.hardware.gpio/BUILD.gn
+++ b/sdk/banjo/fuchsia.hardware.gpio/BUILD.gn
@@ -5,15 +5,16 @@
 import("//build/banjo/banjo.gni")
 
 banjo("fuchsia.hardware.gpio") {
+  fidl_only = true
   sources = [ "gpio.banjo" ]
   deps = [ "//sdk/banjo/zx" ]
 }
 
 group("fuchsia.hardware.gpio_banjo_cpp") {
-  public_deps = [ ":fuchsia.hardware.gpio" ]
+  public_deps = [ ":fuchsia.hardware.gpio_banjo_cpp_2" ]
 }
 
 group("fuchsia.hardware.gpio_banjo_cpp_mock") {
   testonly = true
-  public_deps = [ ":fuchsia.hardware.gpio_mock" ]
+  public_deps = [ ":fuchsia.hardware.gpio_banjo_cpp_mock_2" ]
 }
diff --git a/src/camera/drivers/sensors/imx227/BUILD.gn b/src/camera/drivers/sensors/imx227/BUILD.gn
index fd7ca90..af874ba 100644
--- a/src/camera/drivers/sensors/imx227/BUILD.gn
+++ b/src/camera/drivers/sensors/imx227/BUILD.gn
@@ -32,7 +32,7 @@
     ":imx227_bind",
     "//sdk/banjo/fuchsia.hardware.camera",
     "//sdk/banjo/fuchsia.hardware.camera.sensor",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.mipicsi",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/lib/syslog/cpp",
@@ -77,7 +77,7 @@
   deps = [
     ":lib",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp_mock",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.mipicsi:fuchsia.hardware.mipicsi_mock",
     "//src/devices/i2c/testing/mock-i2c",
     "//src/devices/testing/fake_ddk",
diff --git a/src/connectivity/ethernet/drivers/aml-ethernet-s912/BUILD.gn b/src/connectivity/ethernet/drivers/aml-ethernet-s912/BUILD.gn
index 114cfcc..4f44177 100644
--- a/src/connectivity/ethernet/drivers/aml-ethernet-s912/BUILD.gn
+++ b/src/connectivity/ethernet/drivers/aml-ethernet-s912/BUILD.gn
@@ -24,7 +24,7 @@
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.ethernet",
     "//sdk/banjo/fuchsia.hardware.ethernet.board",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//src/devices/bus/lib/device-protocol-pdev",
diff --git a/src/connectivity/ethernet/drivers/dwmac/BUILD.gn b/src/connectivity/ethernet/drivers/dwmac/BUILD.gn
index 74a6ac2..1c22aed 100644
--- a/src/connectivity/ethernet/drivers/dwmac/BUILD.gn
+++ b/src/connectivity/ethernet/drivers/dwmac/BUILD.gn
@@ -29,7 +29,7 @@
     "//sdk/banjo/fuchsia.hardware.ethernet",
     "//sdk/banjo/fuchsia.hardware.ethernet.board",
     "//sdk/banjo/fuchsia.hardware.ethernet.mac",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.test",
diff --git a/src/connectivity/openthread/drivers/ot-radio/config.gni b/src/connectivity/openthread/drivers/ot-radio/config.gni
index faf8088..64533f5 100644
--- a/src/connectivity/openthread/drivers/ot-radio/config.gni
+++ b/src/connectivity/openthread/drivers/ot-radio/config.gni
@@ -32,7 +32,7 @@
     ]
 
     deps = [
-      "//sdk/banjo/fuchsia.hardware.gpio",
+      "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
       "//sdk/banjo/fuchsia.hardware.spi",
       "//sdk/fidl/fuchsia.lowpan.spinel:fuchsia.lowpan.spinel_llcpp",
       "//src/connectivity/openthread/drivers/ot-radio:ot_radio_bind",
diff --git a/src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sdio/BUILD.gn b/src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sdio/BUILD.gn
index 003c799..41e5013 100644
--- a/src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sdio/BUILD.gn
+++ b/src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sdio/BUILD.gn
@@ -42,7 +42,7 @@
     "//zircon/system/ulib/zx",
   ]
   public_deps = [
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.sdio",
     "//src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac:core",
     "//src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac:linuxisms",
diff --git a/src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sdio/test/BUILD.gn b/src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sdio/test/BUILD.gn
index 668bec8..21b2cf1 100644
--- a/src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sdio/test/BUILD.gn
+++ b/src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac/sdio/test/BUILD.gn
@@ -18,8 +18,8 @@
   testonly = true
   sources = [ "sdio_test.cc" ]
   deps = [
-    "//sdk/banjo/fuchsia.hardware.gpio",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.sdio",
     "//sdk/banjo/fuchsia.hardware.sdio:fuchsia.hardware.sdio_mock",
     "//src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac:core",
diff --git a/src/devices/block/drivers/aml-sdmmc/BUILD.gn b/src/devices/block/drivers/aml-sdmmc/BUILD.gn
index ee73a62..c6667f6 100644
--- a/src/devices/block/drivers/aml-sdmmc/BUILD.gn
+++ b/src/devices/block/drivers/aml-sdmmc/BUILD.gn
@@ -24,7 +24,7 @@
   deps = [
     ":aml-sdmmc-bind",
     "//sdk/banjo/fuchsia.hardware.block",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.sdmmc",
     "//src/devices/block/lib/sdio",
@@ -53,7 +53,7 @@
   ]
   deps = [
     ":aml-sdmmc-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.sdmmc",
     "//src/devices/block/lib/sdio",
diff --git a/src/devices/block/drivers/as370-sdhci/BUILD.gn b/src/devices/block/drivers/as370-sdhci/BUILD.gn
index a1acebb..414d348 100644
--- a/src/devices/block/drivers/as370-sdhci/BUILD.gn
+++ b/src/devices/block/drivers/as370-sdhci/BUILD.gn
@@ -25,7 +25,7 @@
   deps = [
     ":as370-sdhci-bind",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.sdhci",
diff --git a/src/devices/block/drivers/mtk-sdmmc/BUILD.gn b/src/devices/block/drivers/mtk-sdmmc/BUILD.gn
index 25bc256..7bd6857 100644
--- a/src/devices/block/drivers/mtk-sdmmc/BUILD.gn
+++ b/src/devices/block/drivers/mtk-sdmmc/BUILD.gn
@@ -25,7 +25,7 @@
     ":mtk-sdmmc-bind",
     "//sdk/banjo/fuchsia.hardware.block",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.sdmmc",
     "//src/devices/block/lib/sdio",
@@ -57,7 +57,7 @@
     ":mtk-sdmmc-bind",
     "//sdk/banjo/fuchsia.hardware.block",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.sdmmc",
     "//sdk/lib/fdio",
diff --git a/src/devices/board/drivers/as370/BUILD.gn b/src/devices/board/drivers/as370/BUILD.gn
index 1042c71..f9f2f54 100644
--- a/src/devices/board/drivers/as370/BUILD.gn
+++ b/src/devices/board/drivers/as370/BUILD.gn
@@ -40,7 +40,7 @@
   ]
   deps = [
     ":as370-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/devices/board/drivers/astro/BUILD.gn b/src/devices/board/drivers/astro/BUILD.gn
index 366f5a4..7d929d0 100644
--- a/src/devices/board/drivers/astro/BUILD.gn
+++ b/src/devices/board/drivers/astro/BUILD.gn
@@ -62,7 +62,7 @@
   deps = [
     ":astro-bind",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.iommu",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
diff --git a/src/devices/board/drivers/mt8167s_ref/BUILD.gn b/src/devices/board/drivers/mt8167s_ref/BUILD.gn
index 1be32c96..eb1b237 100644
--- a/src/devices/board/drivers/mt8167s_ref/BUILD.gn
+++ b/src/devices/board/drivers/mt8167s_ref/BUILD.gn
@@ -56,7 +56,7 @@
   deps = [
     ":mt8167_bind",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
@@ -120,7 +120,7 @@
   deps = [
     ":mt8167_bind",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/devices/board/drivers/nelson/BUILD.gn b/src/devices/board/drivers/nelson/BUILD.gn
index 85ca0e9..47b8d80 100644
--- a/src/devices/board/drivers/nelson/BUILD.gn
+++ b/src/devices/board/drivers/nelson/BUILD.gn
@@ -77,7 +77,7 @@
   deps = [
     ":nelson-bind",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.iommu",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
diff --git a/src/devices/board/drivers/sherlock/BUILD.gn b/src/devices/board/drivers/sherlock/BUILD.gn
index 19b9ff9..2f0f889 100644
--- a/src/devices/board/drivers/sherlock/BUILD.gn
+++ b/src/devices/board/drivers/sherlock/BUILD.gn
@@ -93,7 +93,7 @@
       ":sherlock-bind",
       "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
       "//sdk/banjo/fuchsia.hardware.clockimpl",
-      "//sdk/banjo/fuchsia.hardware.gpio",
+      "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
       "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
       "//sdk/banjo/fuchsia.hardware.iommu",
       "//sdk/banjo/fuchsia.hardware.platform.bus",
diff --git a/src/devices/board/drivers/vim2/BUILD.gn b/src/devices/board/drivers/vim2/BUILD.gn
index fb0c920..80b98ab 100644
--- a/src/devices/board/drivers/vim2/BUILD.gn
+++ b/src/devices/board/drivers/vim2/BUILD.gn
@@ -42,7 +42,7 @@
   deps = [
     ":vim2-bind",
     "//sdk/banjo/fuchsia.hardware.ethernet",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.iommu",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
diff --git a/src/devices/board/drivers/vim3/BUILD.gn b/src/devices/board/drivers/vim3/BUILD.gn
index 6160a94..6288d56 100644
--- a/src/devices/board/drivers/vim3/BUILD.gn
+++ b/src/devices/board/drivers/vim3/BUILD.gn
@@ -45,7 +45,7 @@
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
     "//sdk/banjo/fuchsia.hardware.ethernet",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.iommu",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
diff --git a/src/devices/bus/drivers/platform/BUILD.gn b/src/devices/bus/drivers/platform/BUILD.gn
index 5b15129d..6261111 100644
--- a/src/devices/bus/drivers/platform/BUILD.gn
+++ b/src/devices/bus/drivers/platform/BUILD.gn
@@ -29,7 +29,7 @@
   deps = [
     ":platform-bus-bind",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.iommu",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
@@ -83,7 +83,7 @@
   deps = [
     ":platform-bus-bind",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.iommu",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
diff --git a/src/devices/bus/drivers/platform/test/BUILD.gn b/src/devices/bus/drivers/platform/test/BUILD.gn
index 4d0f076..cbc5546 100644
--- a/src/devices/bus/drivers/platform/test/BUILD.gn
+++ b/src/devices/bus/drivers/platform/test/BUILD.gn
@@ -85,7 +85,7 @@
   sources = [ "test/gpio.cc" ]
   deps = [
     ":test-gpio-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
@@ -367,7 +367,7 @@
     "//sdk/banjo/fuchsia.hardware.goldfish.addressspace",
     "//sdk/banjo/fuchsia.hardware.goldfish.pipe",
     "//sdk/banjo/fuchsia.hardware.goldfish.sync",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.power",
diff --git a/src/devices/clock/drivers/as370-clk/BUILD.gn b/src/devices/clock/drivers/as370-clk/BUILD.gn
index e6cd571..6035fe0 100644
--- a/src/devices/clock/drivers/as370-clk/BUILD.gn
+++ b/src/devices/clock/drivers/as370-clk/BUILD.gn
@@ -28,7 +28,7 @@
     ":syn_clk_bind",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
@@ -56,7 +56,7 @@
     ":syn_clk_bind",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/devices/clock/drivers/msm8x53-clk/BUILD.gn b/src/devices/clock/drivers/msm8x53-clk/BUILD.gn
index 1817b75..afa356d 100644
--- a/src/devices/clock/drivers/msm8x53-clk/BUILD.gn
+++ b/src/devices/clock/drivers/msm8x53-clk/BUILD.gn
@@ -33,7 +33,7 @@
     ":msm8x53-clk-bind",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
@@ -64,7 +64,7 @@
     ":msm8x53-clk-bind",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/devices/clock/drivers/mtk-clk/BUILD.gn b/src/devices/clock/drivers/mtk-clk/BUILD.gn
index b09a2e7..e6a5573 100644
--- a/src/devices/clock/drivers/mtk-clk/BUILD.gn
+++ b/src/devices/clock/drivers/mtk-clk/BUILD.gn
@@ -25,7 +25,7 @@
   deps = [
     ":mtk-clk-bind",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/devices/gpio/drivers/aml-axg-gpio/BUILD.gn b/src/devices/gpio/drivers/aml-axg-gpio/BUILD.gn
index b85206b..ef20c1c 100644
--- a/src/devices/gpio/drivers/aml-axg-gpio/BUILD.gn
+++ b/src/devices/gpio/drivers/aml-axg-gpio/BUILD.gn
@@ -34,7 +34,7 @@
   sources = [ "aml-axg-gpio.cc" ]
   deps = [
     ":aml-axg-gpio-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
@@ -61,7 +61,7 @@
   ]
   deps = [
     ":aml-axg-gpio-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/devices/gpio/drivers/aml-gxl-gpio/BUILD.gn b/src/devices/gpio/drivers/aml-gxl-gpio/BUILD.gn
index aae2fec..b80058e 100644
--- a/src/devices/gpio/drivers/aml-gxl-gpio/BUILD.gn
+++ b/src/devices/gpio/drivers/aml-gxl-gpio/BUILD.gn
@@ -24,7 +24,7 @@
   sources = [ "aml-gxl-gpio.cc" ]
   deps = [
     ":aml-gxl-gpio-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/devices/gpio/drivers/gpio-test/BUILD.gn b/src/devices/gpio/drivers/gpio-test/BUILD.gn
index 220ce76..b90151f 100644
--- a/src/devices/gpio/drivers/gpio-test/BUILD.gn
+++ b/src/devices/gpio/drivers/gpio-test/BUILD.gn
@@ -28,7 +28,7 @@
   sources = [ "gpio-test.cc" ]
   deps = [
     ":gpio_test_bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//src/devices/lib/driver",
     "//src/lib/ddk",
diff --git a/src/devices/gpio/drivers/gpio/BUILD.gn b/src/devices/gpio/drivers/gpio/BUILD.gn
index 337ca39..2436f3b 100644
--- a/src/devices/gpio/drivers/gpio/BUILD.gn
+++ b/src/devices/gpio/drivers/gpio/BUILD.gn
@@ -23,7 +23,7 @@
   sources = [ "gpio.cc" ]
   deps = [
     ":gpio_bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/fidl/fuchsia.hardware.gpio:fuchsia.hardware.gpio_llcpp",
     "//src/devices/lib/driver",
@@ -45,7 +45,7 @@
   ]
   deps = [
     ":gpio_bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp_mock",
     "//sdk/fidl/fuchsia.hardware.gpio:fuchsia.hardware.gpio_llcpp",
diff --git a/src/devices/gpio/drivers/mt-8167/BUILD.gn b/src/devices/gpio/drivers/mt-8167/BUILD.gn
index c7a5814..ef9fd56 100644
--- a/src/devices/gpio/drivers/mt-8167/BUILD.gn
+++ b/src/devices/gpio/drivers/mt-8167/BUILD.gn
@@ -29,7 +29,7 @@
   ]
   deps = [
     ":mt-8167-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
@@ -58,7 +58,7 @@
   output_name = "mtk-gpio"
   deps = [
     ":mt-8167-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/devices/gpio/drivers/pl061/BUILD.gn b/src/devices/gpio/drivers/pl061/BUILD.gn
index 1a9c49f..7e9686f 100644
--- a/src/devices/gpio/drivers/pl061/BUILD.gn
+++ b/src/devices/gpio/drivers/pl061/BUILD.gn
@@ -5,7 +5,7 @@
 source_set("pl061") {
   sources = [ "pl061.c" ]
   deps = [
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//src/lib/ddk",
diff --git a/src/devices/i2c/drivers/mt8167-i2c/BUILD.gn b/src/devices/i2c/drivers/mt8167-i2c/BUILD.gn
index a6abdeb..1aba27d 100644
--- a/src/devices/i2c/drivers/mt8167-i2c/BUILD.gn
+++ b/src/devices/i2c/drivers/mt8167-i2c/BUILD.gn
@@ -23,7 +23,7 @@
   sources = [ "mt8167-i2c.cc" ]
   deps = [
     ":mt8167_i2c_bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.i2cimpl",
     "//sdk/banjo/fuchsia.hardware.platform.device",
@@ -51,8 +51,8 @@
   ]
   deps = [
     ":mt8167_i2c_bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.i2cimpl",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
diff --git a/src/devices/internal/drivers/fragment/BUILD.gn b/src/devices/internal/drivers/fragment/BUILD.gn
index e4dbefa..c5f9d98 100644
--- a/src/devices/internal/drivers/fragment/BUILD.gn
+++ b/src/devices/internal/drivers/fragment/BUILD.gn
@@ -32,7 +32,7 @@
     "//sdk/banjo/fuchsia.hardware.goldfish.addressspace",
     "//sdk/banjo/fuchsia.hardware.goldfish.pipe",
     "//sdk/banjo/fuchsia.hardware.goldfish.sync",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.hdmi:fuchsia.hardware.hdmi_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.isp",
@@ -87,7 +87,7 @@
     "//sdk/banjo/fuchsia.hardware.goldfish.addressspace",
     "//sdk/banjo/fuchsia.hardware.goldfish.pipe",
     "//sdk/banjo/fuchsia.hardware.goldfish.sync",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.hdmi:fuchsia.hardware.hdmi_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/devices/light-sensor/drivers/ams-light/BUILD.gn b/src/devices/light-sensor/drivers/ams-light/BUILD.gn
index 58113d1..2318d10 100644
--- a/src/devices/light-sensor/drivers/ams-light/BUILD.gn
+++ b/src/devices/light-sensor/drivers/ams-light/BUILD.gn
@@ -25,7 +25,7 @@
   sources = [ "tcs3400.cc" ]
   deps = [
     ":tcs3400_light_bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.hidbus",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/fidl/fuchsia.input.report:fuchsia.input.report_llcpp",
@@ -58,7 +58,7 @@
   ]
   deps = [
     ":tcs3400_light_bind",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.hidbus",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/fidl/fuchsia.input.report:fuchsia.input.report_llcpp",
diff --git a/src/devices/power/drivers/aml-meson-power/BUILD.gn b/src/devices/power/drivers/aml-meson-power/BUILD.gn
index 32a5bee..0f03f45 100644
--- a/src/devices/power/drivers/aml-meson-power/BUILD.gn
+++ b/src/devices/power/drivers/aml-meson-power/BUILD.gn
@@ -55,7 +55,7 @@
   deps = [
     ":aml-meson-power-bind",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.powerimpl",
diff --git a/src/devices/power/drivers/mtk-power/BUILD.gn b/src/devices/power/drivers/mtk-power/BUILD.gn
index cffb939..c6228fb 100644
--- a/src/devices/power/drivers/mtk-power/BUILD.gn
+++ b/src/devices/power/drivers/mtk-power/BUILD.gn
@@ -26,7 +26,7 @@
   sources = [ "mtk-power.cc" ]
   deps = [
     ":mtk-power-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/devices/pwm/drivers/aml-pwm-init/BUILD.gn b/src/devices/pwm/drivers/aml-pwm-init/BUILD.gn
index 219519d..8636b32 100644
--- a/src/devices/pwm/drivers/aml-pwm-init/BUILD.gn
+++ b/src/devices/pwm/drivers/aml-pwm-init/BUILD.gn
@@ -23,7 +23,7 @@
   sources = [ "aml-pwm-init.cc" ]
   deps = [
     ":aml-pwm-init-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.pwm",
     "//src/devices/lib/amlogic",
     "//src/devices/lib/driver",
@@ -44,8 +44,8 @@
   ]
   deps = [
     ":aml-pwm-init-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.pwm",
     "//sdk/banjo/fuchsia.hardware.pwm:fuchsia.hardware.pwm_mock",
     "//src/devices/lib/amlogic",
diff --git a/src/devices/scpi/drivers/aml-scpi-s912/BUILD.gn b/src/devices/scpi/drivers/aml-scpi-s912/BUILD.gn
index 6143583..cc3ef09 100644
--- a/src/devices/scpi/drivers/aml-scpi-s912/BUILD.gn
+++ b/src/devices/scpi/drivers/aml-scpi-s912/BUILD.gn
@@ -41,7 +41,7 @@
   deps = [
     ":aml-mailbox-s912-bind",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.mailbox",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
diff --git a/src/devices/spi/drivers/aml-spi/BUILD.gn b/src/devices/spi/drivers/aml-spi/BUILD.gn
index 5c8d7b0..1fa9c2d 100644
--- a/src/devices/spi/drivers/aml-spi/BUILD.gn
+++ b/src/devices/spi/drivers/aml-spi/BUILD.gn
@@ -20,7 +20,7 @@
 group("common") {
   public_deps = [
     ":aml_spi_bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.spiimpl",
     "//src/devices/bus/lib/device-protocol-pdev",
     "//src/devices/lib/amlogic",
@@ -44,7 +44,7 @@
   ]
   deps = [
     ":common",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//src/devices/bus/testing/fake-pdev",
     "//src/devices/testing/fake_ddk",
     "//zircon/public/lib/zxtest",
diff --git a/src/devices/thermal/drivers/aml-thermal-s905d2g-legacy/BUILD.gn b/src/devices/thermal/drivers/aml-thermal-s905d2g-legacy/BUILD.gn
index 8ec286f..cc9e4de 100644
--- a/src/devices/thermal/drivers/aml-thermal-s905d2g-legacy/BUILD.gn
+++ b/src/devices/thermal/drivers/aml-thermal-s905d2g-legacy/BUILD.gn
@@ -30,7 +30,7 @@
   deps = [
     ":aml-thermal-s905d2g-legacy-bind",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.pwm",
@@ -70,7 +70,7 @@
   deps = [
     ":aml-thermal-s905d2g-legacy-bind",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.pwm",
diff --git a/src/devices/thermal/drivers/aml-thermal-s905d2g/BUILD.gn b/src/devices/thermal/drivers/aml-thermal-s905d2g/BUILD.gn
index 1c76780..4dd8267 100644
--- a/src/devices/thermal/drivers/aml-thermal-s905d2g/BUILD.gn
+++ b/src/devices/thermal/drivers/aml-thermal-s905d2g/BUILD.gn
@@ -30,7 +30,7 @@
   deps = [
     ":aml-thermal-s905d2g-bind",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.pwm",
@@ -65,7 +65,7 @@
   deps = [
     ":aml-thermal-s905d2g-bind",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.pwm",
diff --git a/src/devices/thermal/drivers/aml-thermal-s912/BUILD.gn b/src/devices/thermal/drivers/aml-thermal-s912/BUILD.gn
index 9e7f841..e8a26b5 100644
--- a/src/devices/thermal/drivers/aml-thermal-s912/BUILD.gn
+++ b/src/devices/thermal/drivers/aml-thermal-s912/BUILD.gn
@@ -23,7 +23,7 @@
   sources = [ "aml-thermal.cc" ]
   deps = [
     ":aml-thermal-s912-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.scpi",
     "//sdk/banjo/fuchsia.hardware.thermal",
     "//sdk/fidl/fuchsia.hardware.thermal:fuchsia.hardware.thermal_c",
@@ -51,8 +51,8 @@
   ]
   deps = [
     ":aml-thermal-s912-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.scpi",
     "//sdk/banjo/fuchsia.hardware.scpi:fuchsia.hardware.scpi_mock",
     "//sdk/banjo/fuchsia.hardware.thermal",
diff --git a/src/devices/thermal/drivers/mtk-thermal/BUILD.gn b/src/devices/thermal/drivers/mtk-thermal/BUILD.gn
index 42790a2..fc526c8 100644
--- a/src/devices/thermal/drivers/mtk-thermal/BUILD.gn
+++ b/src/devices/thermal/drivers/mtk-thermal/BUILD.gn
@@ -25,7 +25,7 @@
   deps = [
     ":mtk-thermal-bind",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/fidl/fuchsia.hardware.thermal:fuchsia.hardware.thermal_c",
@@ -56,7 +56,7 @@
   deps = [
     ":mtk-thermal-bind",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/fidl/fuchsia.hardware.thermal:fuchsia.hardware.thermal_c",
diff --git a/src/devices/usb/drivers/mt-musb-peripheral/BUILD.gn b/src/devices/usb/drivers/mt-musb-peripheral/BUILD.gn
index dc71d25..8b1222b 100644
--- a/src/devices/usb/drivers/mt-musb-peripheral/BUILD.gn
+++ b/src/devices/usb/drivers/mt-musb-peripheral/BUILD.gn
@@ -30,7 +30,7 @@
   deps = [
     ":mt_usb_bind",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.usb",
diff --git a/src/graphics/display/drivers/amlogic-display/BUILD.gn b/src/graphics/display/drivers/amlogic-display/BUILD.gn
index 663c9e0..01cf3a1 100644
--- a/src/graphics/display/drivers/amlogic-display/BUILD.gn
+++ b/src/graphics/display/drivers/amlogic-display/BUILD.gn
@@ -40,7 +40,7 @@
     "//sdk/banjo/fuchsia.hardware.display.clamprgb",
     "//sdk/banjo/fuchsia.hardware.display.controller",
     "//sdk/banjo/fuchsia.hardware.dsiimpl",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2cimpl",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.sysmem",
diff --git a/src/graphics/display/drivers/dsi-dw/BUILD.gn b/src/graphics/display/drivers/dsi-dw/BUILD.gn
index 96d3202..7226e08 100644
--- a/src/graphics/display/drivers/dsi-dw/BUILD.gn
+++ b/src/graphics/display/drivers/dsi-dw/BUILD.gn
@@ -25,7 +25,7 @@
     ":dsi_dw_bind",
     "//sdk/banjo/fuchsia.hardware.dsi",
     "//sdk/banjo/fuchsia.hardware.dsiimpl",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/graphics/display/drivers/dsi-mt/BUILD.gn b/src/graphics/display/drivers/dsi-mt/BUILD.gn
index f6a9f6c..4dc13476 100644
--- a/src/graphics/display/drivers/dsi-mt/BUILD.gn
+++ b/src/graphics/display/drivers/dsi-mt/BUILD.gn
@@ -25,7 +25,7 @@
   deps = [
     ":dsi-mt-bind",
     "//sdk/banjo/fuchsia.hardware.dsiimpl",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/graphics/display/drivers/mt8167s-display/BUILD.gn b/src/graphics/display/drivers/mt8167s-display/BUILD.gn
index 457722c..0d5c7c3 100644
--- a/src/graphics/display/drivers/mt8167s-display/BUILD.gn
+++ b/src/graphics/display/drivers/mt8167s-display/BUILD.gn
@@ -48,7 +48,7 @@
     ":mt8167s-display-bind",
     "//sdk/banjo/fuchsia.hardware.display.controller",
     "//sdk/banjo/fuchsia.hardware.dsiimpl",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.power",
     "//sdk/banjo/fuchsia.hardware.sysmem",
diff --git a/src/graphics/display/drivers/vim-display/BUILD.gn b/src/graphics/display/drivers/vim-display/BUILD.gn
index 2e123fd..b44f189 100644
--- a/src/graphics/display/drivers/vim-display/BUILD.gn
+++ b/src/graphics/display/drivers/vim-display/BUILD.gn
@@ -20,7 +20,7 @@
     "//sdk/banjo/fuchsia.hardware.amlogiccanvas",
     "//sdk/banjo/fuchsia.hardware.audiotypes",
     "//sdk/banjo/fuchsia.hardware.display.controller",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2cimpl",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.sysmem",
diff --git a/src/graphics/drivers/aml-gpu/BUILD.gn b/src/graphics/drivers/aml-gpu/BUILD.gn
index 3fa7e7a..824b686 100644
--- a/src/graphics/drivers/aml-gpu/BUILD.gn
+++ b/src/graphics/drivers/aml-gpu/BUILD.gn
@@ -32,7 +32,7 @@
   sources = [ "aml-gpu.cc" ]
   public_deps = [
     ":aml_gpu_bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpu.mali",
     "//sdk/banjo/fuchsia.hardware.iommu",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
diff --git a/src/media/audio/drivers/aml-g12-pdm/BUILD.gn b/src/media/audio/drivers/aml-g12-pdm/BUILD.gn
index 7aadd44..6e83499 100644
--- a/src/media/audio/drivers/aml-g12-pdm/BUILD.gn
+++ b/src/media/audio/drivers/aml-g12-pdm/BUILD.gn
@@ -23,7 +23,7 @@
   deps = [
     ":aml_g12_pdm_bind",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//src/devices/bus/lib/device-protocol-pdev",
diff --git a/src/media/audio/drivers/aml-g12-pdm/test/BUILD.gn b/src/media/audio/drivers/aml-g12-pdm/test/BUILD.gn
index 90b5445..520551b 100644
--- a/src/media/audio/drivers/aml-g12-pdm/test/BUILD.gn
+++ b/src/media/audio/drivers/aml-g12-pdm/test/BUILD.gn
@@ -15,7 +15,7 @@
   ]
   deps = [
     "../:aml_g12_pdm_bind",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//sdk/fidl/fuchsia.hardware.audio:fuchsia.hardware.audio_llcpp",
     "//sdk/lib/inspect/testing/cpp:zxtest",
     "//src/devices/bus/lib/device-protocol-pdev",
diff --git a/src/media/audio/drivers/aml-g12-tdm/BUILD.gn b/src/media/audio/drivers/aml-g12-tdm/BUILD.gn
index 6a45d05..613b083 100644
--- a/src/media/audio/drivers/aml-g12-tdm/BUILD.gn
+++ b/src/media/audio/drivers/aml-g12-tdm/BUILD.gn
@@ -25,7 +25,7 @@
 
   deps = [
     ":aml-g12-tdm-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//src/devices/bus/lib/device-protocol-pdev",
diff --git a/src/media/audio/drivers/aml-g12-tdm/test/BUILD.gn b/src/media/audio/drivers/aml-g12-tdm/test/BUILD.gn
index ad83f33..cb39236 100644
--- a/src/media/audio/drivers/aml-g12-tdm/test/BUILD.gn
+++ b/src/media/audio/drivers/aml-g12-tdm/test/BUILD.gn
@@ -16,7 +16,7 @@
   ]
   deps = [
     "../:aml-g12-tdm-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/fidl/fuchsia.hardware.audio:fuchsia.hardware.audio_llcpp",
     "//sdk/lib/inspect/testing/cpp:zxtest",
diff --git a/src/media/audio/drivers/codecs/max98373/BUILD.gn b/src/media/audio/drivers/codecs/max98373/BUILD.gn
index bdf6a4a..8dbd812 100644
--- a/src/media/audio/drivers/codecs/max98373/BUILD.gn
+++ b/src/media/audio/drivers/codecs/max98373/BUILD.gn
@@ -23,7 +23,7 @@
   sources = [ "max98373.cc" ]
   deps = [
     ":max98373-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//src/devices/i2c/lib/device-protocol-i2c-channel",
@@ -47,8 +47,8 @@
   ]
   deps = [
     ":max98373-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//src/devices/i2c/lib/device-protocol-i2c-channel",
     "//src/devices/i2c/testing/mock-i2c",
diff --git a/src/media/audio/drivers/codecs/tas27xx/BUILD.gn b/src/media/audio/drivers/codecs/tas27xx/BUILD.gn
index ace7661..796deb3 100644
--- a/src/media/audio/drivers/codecs/tas27xx/BUILD.gn
+++ b/src/media/audio/drivers/codecs/tas27xx/BUILD.gn
@@ -23,7 +23,7 @@
   sources = [ "tas27xx.cc" ]
   deps = [
     ":ti_tas27xx-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//src/devices/i2c/lib/device-protocol-i2c-channel",
@@ -48,8 +48,8 @@
   deps = [
     ":tas27xx",
     ":ti_tas27xx-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/lib/inspect/testing/cpp:zxtest",
     "//src/devices/i2c/lib/device-protocol-i2c-channel",
diff --git a/src/media/audio/drivers/codecs/tas5720/BUILD.gn b/src/media/audio/drivers/codecs/tas5720/BUILD.gn
index c4df9cf..8fe98f1 100644
--- a/src/media/audio/drivers/codecs/tas5720/BUILD.gn
+++ b/src/media/audio/drivers/codecs/tas5720/BUILD.gn
@@ -21,7 +21,7 @@
   sources = [ "tas5720.cc" ]
   deps = [
     ":ti_tas5720-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//src/devices/i2c/lib/device-protocol-i2c-channel",
@@ -45,8 +45,8 @@
   deps = [
     ":tas5720",
     ":ti_tas5720-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//src/devices/i2c/lib/device-protocol-i2c-channel",
     "//src/devices/i2c/testing/mock-i2c",
diff --git a/src/media/audio/drivers/codecs/tas5782/BUILD.gn b/src/media/audio/drivers/codecs/tas5782/BUILD.gn
index 82f5586..39fae47 100644
--- a/src/media/audio/drivers/codecs/tas5782/BUILD.gn
+++ b/src/media/audio/drivers/codecs/tas5782/BUILD.gn
@@ -23,7 +23,7 @@
   sources = [ "tas5782.cc" ]
   deps = [
     ":ti_tas5782-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//src/devices/i2c/lib/device-protocol-i2c-channel",
@@ -47,8 +47,8 @@
   ]
   deps = [
     ":ti_tas5782-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//src/devices/i2c/lib/device-protocol-i2c-channel",
     "//src/devices/i2c/testing/mock-i2c",
diff --git a/src/media/audio/drivers/mt8167-tdm-input/BUILD.gn b/src/media/audio/drivers/mt8167-tdm-input/BUILD.gn
index b4bcf41..7497e9a 100644
--- a/src/media/audio/drivers/mt8167-tdm-input/BUILD.gn
+++ b/src/media/audio/drivers/mt8167-tdm-input/BUILD.gn
@@ -25,7 +25,7 @@
 
   deps = [
     ":mt8167_audio_in_bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//src/devices/bus/lib/device-protocol-pdev",
diff --git a/src/ui/backlight/drivers/sg-micro/BUILD.gn b/src/ui/backlight/drivers/sg-micro/BUILD.gn
index bc77f6a..214532c 100644
--- a/src/ui/backlight/drivers/sg-micro/BUILD.gn
+++ b/src/ui/backlight/drivers/sg-micro/BUILD.gn
@@ -23,7 +23,7 @@
   sources = [ "sgm37603a.cc" ]
   deps = [
     ":sgm37603a-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/fidl/fuchsia.hardware.backlight:fuchsia.hardware.backlight_llcpp",
     "//src/devices/bus/lib/device-protocol-pdev",
@@ -49,7 +49,7 @@
   ]
   deps = [
     ":sgm37603a-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/fidl/fuchsia.hardware.backlight:fuchsia.hardware.backlight_llcpp",
     "//sdk/lib/fdio",
     "//src/devices/bus/lib/device-protocol-pdev",
diff --git a/src/ui/input/drivers/bma253/BUILD.gn b/src/ui/input/drivers/bma253/BUILD.gn
index 711bded..d1cbff5 100644
--- a/src/ui/input/drivers/bma253/BUILD.gn
+++ b/src/ui/input/drivers/bma253/BUILD.gn
@@ -27,7 +27,7 @@
   deps = [
     ":bma253-bind",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.hidbus",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/lib/fit",
@@ -56,7 +56,7 @@
   ]
   deps = [
     ":bma253-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/lib/fdio",
     "//sdk/lib/fit",
diff --git a/src/ui/input/drivers/cypress/BUILD.gn b/src/ui/input/drivers/cypress/BUILD.gn
index 5edd64b..e3a578d 100644
--- a/src/ui/input/drivers/cypress/BUILD.gn
+++ b/src/ui/input/drivers/cypress/BUILD.gn
@@ -23,7 +23,7 @@
   sources = [ "cy8cmbr3108.cc" ]
   deps = [
     ":cypress_cy8cmbr3108-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.hidbus",
     "//src/devices/i2c/lib/device-protocol-i2c",
     "//src/devices/lib/driver",
@@ -47,8 +47,8 @@
   ]
   deps = [
     ":cypress_cy8cmbr3108-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.hidbus",
     "//src/devices/i2c/lib/device-protocol-i2c",
     "//src/devices/i2c/testing/mock-i2c",
diff --git a/src/ui/input/drivers/focaltech/BUILD.gn b/src/ui/input/drivers/focaltech/BUILD.gn
index 2313673..3258f02 100644
--- a/src/ui/input/drivers/focaltech/BUILD.gn
+++ b/src/ui/input/drivers/focaltech/BUILD.gn
@@ -26,7 +26,7 @@
   sources = [ "ft_device.cc" ]
   deps = [
     ":focaltech_touch_bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.hidbus",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/ui/input/drivers/ft8201/BUILD.gn b/src/ui/input/drivers/ft8201/BUILD.gn
index 462e635..e12ffc4 100644
--- a/src/ui/input/drivers/ft8201/BUILD.gn
+++ b/src/ui/input/drivers/ft8201/BUILD.gn
@@ -50,7 +50,7 @@
 source_set("common") {
   public_deps = [
     ":ft8201-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.hidbus",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
@@ -104,7 +104,7 @@
   ]
   deps = [
     ":common",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//src/devices/i2c/testing/fake-i2c",
     "//src/devices/testing/fake_ddk",
     "//zircon/public/lib/mock-function",
diff --git a/src/ui/input/drivers/goodix/BUILD.gn b/src/ui/input/drivers/goodix/BUILD.gn
index 2ce2a49..ffc2f7c 100644
--- a/src/ui/input/drivers/goodix/BUILD.gn
+++ b/src/ui/input/drivers/goodix/BUILD.gn
@@ -29,7 +29,7 @@
   deps = [
     ":gt92xx_bind",
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.hidbus",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
@@ -81,8 +81,8 @@
   defines = [ "GT9293_ASTRO_FIRMWARE_PATH=\"$astro_firmware_path\"" ]
   deps = [
     ":gt92xx_bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.hidbus",
     "//src/devices/i2c/lib/device-protocol-i2c",
     "//src/devices/i2c/lib/device-protocol-i2c-channel",
diff --git a/src/ui/input/drivers/gt6853/BUILD.gn b/src/ui/input/drivers/gt6853/BUILD.gn
index c5e41d0..1c5327f 100644
--- a/src/ui/input/drivers/gt6853/BUILD.gn
+++ b/src/ui/input/drivers/gt6853/BUILD.gn
@@ -43,7 +43,7 @@
 group("common") {
   public_deps = [
     ":gt6853-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.hidbus",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
@@ -101,7 +101,7 @@
   ]
   deps = [
     ":common",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//src/devices/i2c/testing/fake-i2c",
     "//src/devices/testing/fake_ddk",
     "//zircon/public/lib/mock-function",
diff --git a/src/ui/input/drivers/hid-buttons/BUILD.gn b/src/ui/input/drivers/hid-buttons/BUILD.gn
index 665623a..571c8ec 100644
--- a/src/ui/input/drivers/hid-buttons/BUILD.gn
+++ b/src/ui/input/drivers/hid-buttons/BUILD.gn
@@ -34,7 +34,7 @@
   public_deps = [
     ":hid-buttons-bind",
     "//sdk/banjo/fuchsia.hardware.buttons",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.hidbus",
     "//sdk/fidl/fuchsia.buttons:fuchsia.buttons_llcpp",
     "//src/lib/ddk",
@@ -66,7 +66,7 @@
   sources = [ "hid-buttons-test.cc" ]
   deps = [
     ":common",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//src/devices/testing/fake_ddk",
     "//zircon/public/lib/mock-function",
     "//zircon/public/lib/zxtest",
diff --git a/src/ui/light/drivers/aml-light/BUILD.gn b/src/ui/light/drivers/aml-light/BUILD.gn
index 08f38af..7cb8886 100644
--- a/src/ui/light/drivers/aml-light/BUILD.gn
+++ b/src/ui/light/drivers/aml-light/BUILD.gn
@@ -26,7 +26,7 @@
   sources = [ "aml-light.cc" ]
   deps = [
     ":aml_light_bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.pwm",
     "//sdk/fidl/fuchsia.hardware.light:fuchsia.hardware.light_llcpp",
     "//src/devices/lib/amlogic",
@@ -50,8 +50,8 @@
   ]
   deps = [
     ":aml_light_bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
-    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.pwm",
     "//sdk/banjo/fuchsia.hardware.pwm:fuchsia.hardware.pwm_mock",
     "//sdk/fidl/fuchsia.hardware.light:fuchsia.hardware.light_llcpp",
diff --git a/src/ui/light/drivers/gpio-light/BUILD.gn b/src/ui/light/drivers/gpio-light/BUILD.gn
index b5ed1dd..07e63ee 100644
--- a/src/ui/light/drivers/gpio-light/BUILD.gn
+++ b/src/ui/light/drivers/gpio-light/BUILD.gn
@@ -21,7 +21,7 @@
   sources = [ "gpio-light.cc" ]
   deps = [
     ":gpio-light-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/fidl/fuchsia.hardware.light:fuchsia.hardware.light_llcpp",
     "//src/devices/lib/driver",
diff --git a/src/ui/light/drivers/lp50xx-light/BUILD.gn b/src/ui/light/drivers/lp50xx-light/BUILD.gn
index fc37081..8420218 100644
--- a/src/ui/light/drivers/lp50xx-light/BUILD.gn
+++ b/src/ui/light/drivers/lp50xx-light/BUILD.gn
@@ -23,7 +23,7 @@
   sources = [ "lp50xx-light.cc" ]
   deps = [
     ":lp50xx_light-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/fidl/fuchsia.hardware.light:fuchsia.hardware.light_llcpp",
@@ -50,7 +50,7 @@
   ]
   deps = [
     ":lp50xx_light-bind",
-    "//sdk/banjo/fuchsia.hardware.gpio",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpioimpl:fuchsia.hardware.gpioimpl_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/fidl/fuchsia.hardware.light:fuchsia.hardware.light_llcpp",