[banjo] Turn fuchsia.hardware.{gpio,gpioimpl} into a FIDL library.

Bug: 72629
Change-Id: I0d61acb4e649db6978f9b45011359951db5fc81f
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/512628
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
Reviewed-by: Jocelyn Dang <jocelyndang@google.com>
Reviewed-by: Sarah Chan <spqchan@google.com>
API-Review: Jocelyn Dang <jocelyndang@google.com>
Fuchsia-Auto-Submit: Suraj Malhotra <surajmalhotra@google.com>
diff --git a/sdk/banjo/fuchsia.hardware.gpio/BUILD.gn b/sdk/banjo/fuchsia.hardware.gpio/BUILD.gn
index 3097642..00cea8a 100644
--- a/sdk/banjo/fuchsia.hardware.gpio/BUILD.gn
+++ b/sdk/banjo/fuchsia.hardware.gpio/BUILD.gn
@@ -2,19 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-import("//build/banjo/banjo.gni")
+import("//build/fidl/fidl.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_banjo_cpp_2" ]
-}
-
-group("fuchsia.hardware.gpio_banjo_cpp_mock") {
-  testonly = true
-  public_deps = [ ":fuchsia.hardware.gpio_banjo_cpp_mock_2" ]
+fidl("fuchsia.hardware.gpio") {
+  sources = [ "gpio.fidl" ]
+  public_deps = [ "//zircon/vdso/zx" ]
 }
diff --git a/sdk/banjo/fuchsia.hardware.gpio/gpio.banjo b/sdk/banjo/fuchsia.hardware.gpio/gpio.fidl
similarity index 94%
rename from sdk/banjo/fuchsia.hardware.gpio/gpio.banjo
rename to sdk/banjo/fuchsia.hardware.gpio/gpio.fidl
index 3a39d67..dd569e9 100644
--- a/sdk/banjo/fuchsia.hardware.gpio/gpio.banjo
+++ b/sdk/banjo/fuchsia.hardware.gpio/gpio.fidl
@@ -28,13 +28,13 @@
     /// the interpretation of "function" is platform dependent.
     SetAltFunction(uint64 function) -> (zx.status s);
     /// Reads the current value of a GPIO (0 or 1).
-    Read()-> (zx.status s, uint8 value);
+    Read() -> (zx.status s, uint8 value);
     /// Sets the current value of the GPIO (any non-zero value maps to 1).
     Write(uint8 value) -> (zx.status s);
     /// Gets an interrupt object pertaining to a particular GPIO pin.
     GetInterrupt(uint32 flags) -> (zx.status s, zx.handle:INTERRUPT irq);
     /// Release the interrupt.
-    ReleaseInterrupt()-> (zx.status s);
+    ReleaseInterrupt() -> (zx.status s);
     /// Set GPIO polarity.
     SetPolarity(GpioPolarity polarity) -> (zx.status s);
     /// Set GPIO drive strength.
diff --git a/sdk/banjo/fuchsia.hardware.gpioimpl/BUILD.gn b/sdk/banjo/fuchsia.hardware.gpioimpl/BUILD.gn
index 7636690..8028970 100644
--- a/sdk/banjo/fuchsia.hardware.gpioimpl/BUILD.gn
+++ b/sdk/banjo/fuchsia.hardware.gpioimpl/BUILD.gn
@@ -2,22 +2,12 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-import("//build/banjo/banjo.gni")
+import("//build/fidl/fidl.gni")
 
-banjo("fuchsia.hardware.gpioimpl") {
-  fidl_only = true
-  sources = [ "gpio-impl.banjo" ]
-  deps = [
+fidl("fuchsia.hardware.gpioimpl") {
+  sources = [ "gpio-impl.fidl" ]
+  public_deps = [
     "//sdk/banjo/fuchsia.hardware.gpio",
-    "//sdk/banjo/zx",
+    "//zircon/vdso/zx",
   ]
 }
-
-group("fuchsia.hardware.gpioimpl_banjo_cpp") {
-  public_deps = [ ":fuchsia.hardware.gpioimpl_banjo_cpp_2" ]
-}
-
-group("fuchsia.hardware.gpioimpl_banjo_cpp_mock") {
-  testonly = true
-  public_deps = [ ":fuchsia.hardware.gpioimpl_banjo_cpp_mock_2" ]
-}
diff --git a/sdk/banjo/fuchsia.hardware.gpioimpl/gpio-impl.banjo b/sdk/banjo/fuchsia.hardware.gpioimpl/gpio-impl.fidl
similarity index 100%
rename from sdk/banjo/fuchsia.hardware.gpioimpl/gpio-impl.banjo
rename to sdk/banjo/fuchsia.hardware.gpioimpl/gpio-impl.fidl
diff --git a/src/camera/drivers/sensors/imx227/BUILD.gn b/src/camera/drivers/sensors/imx227/BUILD.gn
index af874ba..5ec74b7 100644
--- a/src/camera/drivers/sensors/imx227/BUILD.gn
+++ b/src/camera/drivers/sensors/imx227/BUILD.gn
@@ -32,7 +32,6 @@
     ":imx227_bind",
     "//sdk/banjo/fuchsia.hardware.camera",
     "//sdk/banjo/fuchsia.hardware.camera.sensor",
-    "//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",
@@ -44,6 +43,7 @@
 
   public_deps = [
     "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
+    "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp",
     "//sdk/lib/fit-promise",
     "//src/devices/bus/lib/device-protocol-pdev",
     "//src/devices/i2c/lib/device-protocol-i2c-channel",