[version roller] Update dependencies

SDK version updated from 10.20221021.1.1 to 10.20221103.0.1

Change-Id: I6c6acb9922c7a9ac934d9f722ffe81ccc33092b1
Reviewed-on: https://fuchsia-review.googlesource.com/c/sdk-samples/drivers/+/752922
Reviewed-by: Chris Holguin <cholguin@google.com>
Commit-Queue: Atul Sharma <atshar@google.com>
Reviewed-by: Chase Latta <chaselatta@google.com>
diff --git a/scripts/smoke_test.sh b/scripts/smoke_test.sh
index 57ccae8..74640f2 100755
--- a/scripts/smoke_test.sh
+++ b/scripts/smoke_test.sh
@@ -154,14 +154,19 @@
   # check debugging tools work
   test_zxdb() { echo quit | tools/ffx debug connect; }
   print_and_run test_zxdb | check_output "Connected successfully"
-  test_fidlcat() { timeout 10s tools/ffx debug fidl --remote-name qemu_edu.cm --fidl-ir-path bazel-out/ || if [ "$?" != "124" ]; then /bin/false; fi; }
   print_and_run test_fidlcat
   # CQ uses a non-HOME directory for .ssh so pass in the private key directly for all cases
-  print_and_run tools/fssh -private-key "${HOME}/.ssh/fuchsia_ed25519" uname -a | check_output "Zircon"
+  print_and_run tools/fssh -sshconfig scripts/sshconfig.local -private-key "${HOME}/.ssh/fuchsia_ed25519" uname -a | check_output "Zircon"
 
   echo "Success!"
 }
 
+test_fidlcat() {
+  local bazel_out
+  bazel_out="$(tools/bazel info output_path)"
+  timeout 10s tools/ffx debug fidl --remote-name qemu_edu.cm --fidl-ir-path "$bazel_out" || if [ "$?" != "124" ]; then /bin/false; fi
+}
+
 stop_emu() {
   # stop the emulator
   if tools/ffx emu show $emu_name >/dev/null 2>&1; then
diff --git a/scripts/sshconfig.local b/scripts/sshconfig.local
new file mode 100644
index 0000000..3f43104
--- /dev/null
+++ b/scripts/sshconfig.local
@@ -0,0 +1,33 @@
+# Fuchsia SDK config version 5 tag
+# Configure port 8022 for connecting to a device with the local address.
+# This makes it possible to forward 8022 to a device connected remotely.
+# The fuchsia private key is used for the identity.
+Host 127.0.0.1
+	Port 8022
+
+Host ::1
+	Port 8022
+
+Host *
+# Turn off refusing to connect to hosts whose key has changed
+StrictHostKeyChecking no
+CheckHostIP no
+
+# Disable recording the known hosts
+UserKnownHostsFile=/dev/null
+
+# Do not forward auth agent connection to remote, no X11
+ForwardAgent no
+ForwardX11 no
+
+# Connection timeout in seconds
+ConnectTimeout=10
+
+# Check for server alive in seconds, max count before disconnecting
+ServerAliveInterval 1
+ServerAliveCountMax 10
+
+# Connect with user, use the identity specified.
+User fuchsia
+IdentitiesOnly yes
+GSSAPIDelegateCredentials no
diff --git a/src/acpi_multiply/controller/BUILD.bazel b/src/acpi_multiply/controller/BUILD.bazel
index f0818f6..9b95ff1 100644
--- a/src/acpi_multiply/controller/BUILD.bazel
+++ b/src/acpi_multiply/controller/BUILD.bazel
@@ -35,7 +35,7 @@
         "@fuchsia_sdk//fidl/fuchsia.hardware.acpi:fuchsia.hardware.acpi_llcpp_cc",
         "@fuchsia_sdk//pkg/async-cpp",
         "@fuchsia_sdk//pkg/driver_compat",
-        "@fuchsia_sdk//pkg/driver2_cpp",
+        "@fuchsia_sdk//pkg/driver_component_cpp",
         "@fuchsia_sdk//pkg/mmio",
     ],
 )
diff --git a/src/acpi_multiply/controller/acpi_controller.cc b/src/acpi_multiply/controller/acpi_controller.cc
index 3458f75..e475150 100644
--- a/src/acpi_multiply/controller/acpi_controller.cc
+++ b/src/acpi_multiply/controller/acpi_controller.cc
@@ -21,7 +21,7 @@
 
   // Serve the fuchsia.hardware.acpi/Device protocol to clients through the
   // fuchsia.hardware.acpi/Service wrapper.
-  driver::ServiceInstanceHandler handler;
+  component::ServiceInstanceHandler handler;
   fuchsia_hardware_acpi::Service::Handler service(&handler);
   auto result =
       service.add_device([this](fidl::ServerEnd<fuchsia_hardware_acpi::Device> request) -> void {
diff --git a/src/acpi_multiply/controller/acpi_controller.h b/src/acpi_multiply/controller/acpi_controller.h
index e2430de..65000b0 100644
--- a/src/acpi_multiply/controller/acpi_controller.h
+++ b/src/acpi_multiply/controller/acpi_controller.h
@@ -5,8 +5,8 @@
 #ifndef SRC_ACPI_MULTIPLY_ACPI_CONTROLLER_H_
 #define SRC_ACPI_MULTIPLY_ACPI_CONTROLLER_H_
 
-#include <lib/driver2/driver2_cpp.h>
-#include <lib/driver_compat/compat.h>
+#include <lib/driver/compat/cpp/compat.h>
+#include <lib/driver/component/cpp/driver_cpp.h>
 
 #include "acpi_server.h"
 
diff --git a/src/acpi_multiply/controller/acpi_server.cc b/src/acpi_multiply/controller/acpi_server.cc
index 97c1f83..38eb6a9 100644
--- a/src/acpi_multiply/controller/acpi_server.cc
+++ b/src/acpi_multiply/controller/acpi_server.cc
@@ -5,7 +5,7 @@
 #include "acpi_server.h"
 
 #include <lib/async/cpp/task.h>
-#include <lib/driver2/structured_logger.h>
+#include <lib/driver/component/cpp/structured_logger.h>
 #include <lib/zx/clock.h>
 
 #include "registers.h"
diff --git a/src/acpi_multiply/controller/acpi_server.h b/src/acpi_multiply/controller/acpi_server.h
index 5e87d04..0255e1b 100644
--- a/src/acpi_multiply/controller/acpi_server.h
+++ b/src/acpi_multiply/controller/acpi_server.h
@@ -6,7 +6,7 @@
 #define SRC_ACPI_MULTIPLY_ACPI_SERVER_H_
 
 #include <fidl/fuchsia.hardware.acpi/cpp/wire.h>
-#include <lib/driver2/logger.h>
+#include <lib/driver/component/cpp/logger.h>
 #include <lib/mmio/mmio-buffer.h>
 
 namespace acpi_multiply {
diff --git a/src/acpi_multiply/driver/BUILD.bazel b/src/acpi_multiply/driver/BUILD.bazel
index 506dcb0..1f21195 100644
--- a/src/acpi_multiply/driver/BUILD.bazel
+++ b/src/acpi_multiply/driver/BUILD.bazel
@@ -36,7 +36,7 @@
         "//src/acpi_multiply/lib",
         "@fuchsia_sdk//fidl/fuchsia.hardware.acpi:fuchsia.hardware.acpi_llcpp_cc",
         "@fuchsia_sdk//pkg/driver_compat",
-        "@fuchsia_sdk//pkg/driver2_cpp",
+        "@fuchsia_sdk//pkg/driver_component_cpp",
         "@fuchsia_sdk//pkg/mmio",
     ],
 )
diff --git a/src/acpi_multiply/driver/acpi_multiply.cc b/src/acpi_multiply/driver/acpi_multiply.cc
index d959498..4bfe4b9 100644
--- a/src/acpi_multiply/driver/acpi_multiply.cc
+++ b/src/acpi_multiply/driver/acpi_multiply.cc
@@ -5,7 +5,8 @@
 #include "acpi_multiply.h"
 
 #include <fidl/fuchsia.hardware.acpi/cpp/wire.h>
-#include <lib/driver2/service_client.h>
+#include <lib/async/cpp/task.h>
+#include <lib/driver/component/cpp/service_client.h>
 
 #include "multiply_server.h"
 
@@ -33,7 +34,7 @@
 
   // Serve the examples.acpi.multiply/Device protocol to clients through the
   // examples.acpi.multiply/Service wrapper.
-  driver::ServiceInstanceHandler handler;
+  component::ServiceInstanceHandler handler;
   examples_acpi_multiply::Service::Handler service(&handler);
 
   auto result =
diff --git a/src/acpi_multiply/driver/acpi_multiply.h b/src/acpi_multiply/driver/acpi_multiply.h
index 02484c1..8255d3c 100644
--- a/src/acpi_multiply/driver/acpi_multiply.h
+++ b/src/acpi_multiply/driver/acpi_multiply.h
@@ -6,9 +6,9 @@
 #define SRC_ACPI_MULTIPLY_ACPI_MULTIPLY_H_
 
 #include <fidl/examples.acpi.multiply/cpp/wire.h>
-#include <lib/driver2/driver2_cpp.h>
-#include <lib/driver_compat/compat.h>
-#include <lib/driver_compat/context.h>
+#include <lib/driver/compat/cpp/compat.h>
+#include <lib/driver/compat/cpp/context.h>
+#include <lib/driver/component/cpp/driver_cpp.h>
 
 #include "multiplier.h"
 
diff --git a/src/acpi_multiply/driver/multiplier.h b/src/acpi_multiply/driver/multiplier.h
index 655482d..8e13c8d 100644
--- a/src/acpi_multiply/driver/multiplier.h
+++ b/src/acpi_multiply/driver/multiplier.h
@@ -7,7 +7,7 @@
 
 #include <fidl/fuchsia.hardware.acpi/cpp/wire.h>
 #include <lib/async/cpp/irq.h>
-#include <lib/driver2/driver2_cpp.h>
+#include <lib/driver/component/cpp/driver_cpp.h>
 #include <lib/mmio/mmio-buffer.h>
 #include <lib/zx/interrupt.h>
 
@@ -36,7 +36,7 @@
     uint32_t a;
     uint32_t b;
     // Operation callback.
-    fit::callback<void(zx::status<MultiplyResult>)> callback;
+    fit::callback<void(zx::result<MultiplyResult>)> callback;
   };
 
   void QueueMultiplyOperation(Operation operation);
diff --git a/src/acpi_multiply/driver/multiply_server.cc b/src/acpi_multiply/driver/multiply_server.cc
index 0c178c3..0c321e4 100644
--- a/src/acpi_multiply/driver/multiply_server.cc
+++ b/src/acpi_multiply/driver/multiply_server.cc
@@ -42,7 +42,7 @@
       .b = request->b,
       .callback =
           [completer =
-               completer.ToAsync()](zx::status<AcpiMultiplier::MultiplyResult> status) mutable {
+               completer.ToAsync()](zx::result<AcpiMultiplier::MultiplyResult> status) mutable {
             if (status.is_error()) {
               completer.ReplyError(status.error_value());
               return;
diff --git a/src/acpi_multiply/driver/multiply_server.h b/src/acpi_multiply/driver/multiply_server.h
index f24ed87..704febe 100644
--- a/src/acpi_multiply/driver/multiply_server.h
+++ b/src/acpi_multiply/driver/multiply_server.h
@@ -6,7 +6,7 @@
 #define SRC_ACPI_MULTIPLY_MULTIPLY_SERVER_H_
 
 #include <fidl/examples.acpi.multiply/cpp/wire.h>
-#include <lib/driver2/logger.h>
+#include <lib/driver/component/cpp/logger.h>
 
 #include "multiplier.h"
 
diff --git a/src/bind_library/child/BUILD.bazel b/src/bind_library/child/BUILD.bazel
index bdbd0b2..66c85a6 100644
--- a/src/bind_library/child/BUILD.bazel
+++ b/src/bind_library/child/BUILD.bazel
@@ -19,7 +19,7 @@
     linkshared = True,
     deps = [
         "//src/bind_library/lib:examples.gizmo_cc",
-        "@fuchsia_sdk//pkg/driver2_cpp",
+        "@fuchsia_sdk//pkg/driver_component_cpp",
     ],
 )
 
diff --git a/src/bind_library/child/child-driver.cc b/src/bind_library/child/child-driver.cc
index fa8fd94..fcfb2a6 100644
--- a/src/bind_library/child/child-driver.cc
+++ b/src/bind_library/child/child-driver.cc
@@ -5,7 +5,7 @@
 #include "child-driver.h"
 
 #include <fidl/examples.gizmo/cpp/wire.h>
-#include <lib/driver2/service_client.h>
+#include <lib/driver/component/cpp/service_client.h>
 
 namespace child_driver {
 
diff --git a/src/bind_library/child/child-driver.h b/src/bind_library/child/child-driver.h
index 34c4e53..884d43f 100644
--- a/src/bind_library/child/child-driver.h
+++ b/src/bind_library/child/child-driver.h
@@ -5,7 +5,7 @@
 #ifndef SRC_BIND_LIBRARY_CHILD_DRIVER_H_
 #define SRC_BIND_LIBRARY_CHILD_DRIVER_H_
 
-#include <lib/driver2/driver2_cpp.h>
+#include <lib/driver/component/cpp/driver_cpp.h>
 
 namespace child_driver {
 
diff --git a/src/bind_library/parent/BUILD.bazel b/src/bind_library/parent/BUILD.bazel
index e48a77a..3c96d3e 100644
--- a/src/bind_library/parent/BUILD.bazel
+++ b/src/bind_library/parent/BUILD.bazel
@@ -4,7 +4,6 @@
 
 load(
     "@rules_fuchsia//fuchsia:defs.bzl",
-    "fuchsia_cc_binary",
     "fuchsia_component_manifest",
     "fuchsia_driver_bind_bytecode",
     "fuchsia_driver_component",
@@ -28,7 +27,7 @@
         "//src/bind_library/lib:examples.gizmo_cc",
         # This is a C++ lib from an SDK FIDL based bind library.
         "@fuchsia_sdk//fidl/fuchsia.device.fs:fuchsia.device.fs_bindlib_cc",
-        "@fuchsia_sdk//pkg/driver2_cpp",
+        "@fuchsia_sdk//pkg/driver_component_cpp",
         "@fuchsia_sdk//pkg/sys_component_cpp",
     ],
 )
diff --git a/src/bind_library/parent/gizmo_server.h b/src/bind_library/parent/gizmo_server.h
index 870ef1f..551910b 100644
--- a/src/bind_library/parent/gizmo_server.h
+++ b/src/bind_library/parent/gizmo_server.h
@@ -6,7 +6,7 @@
 #define SRC_BIND_LIBRARY_PARENT_GIZMO_SERVER_H_
 
 #include <fidl/examples.gizmo/cpp/wire.h>
-#include <lib/driver2/logger.h>
+#include <lib/driver/component/cpp/logger.h>
 
 namespace parent_driver {
 
diff --git a/src/bind_library/parent/parent-driver.cc b/src/bind_library/parent/parent-driver.cc
index 342a64e..f3f2646 100644
--- a/src/bind_library/parent/parent-driver.cc
+++ b/src/bind_library/parent/parent-driver.cc
@@ -18,7 +18,7 @@
 
   // Add gizmo examples_gizmo::Service to outgoing.
   {
-    driver::ServiceInstanceHandler handler;
+    component::ServiceInstanceHandler handler;
     examples_gizmo::Service::Handler service(&handler);
     auto result = service.add_testing(
         [this](fidl::ServerEnd<examples_gizmo::TestingProtocol> server_end) -> void {
diff --git a/src/bind_library/parent/parent-driver.h b/src/bind_library/parent/parent-driver.h
index c8236e9..8afd365 100644
--- a/src/bind_library/parent/parent-driver.h
+++ b/src/bind_library/parent/parent-driver.h
@@ -5,7 +5,7 @@
 #ifndef SRC_BIND_LIBRARY_PARENT_DRIVER_H_
 #define SRC_BIND_LIBRARY_PARENT_DRIVER_H_
 
-#include <lib/driver2/driver2_cpp.h>
+#include <lib/driver/component/cpp/driver_cpp.h>
 
 #include "gizmo_server.h"
 
diff --git a/src/composite_sample/controller/BUILD.bazel b/src/composite_sample/controller/BUILD.bazel
index ce1d14d..5078ffb 100644
--- a/src/composite_sample/controller/BUILD.bazel
+++ b/src/composite_sample/controller/BUILD.bazel
@@ -19,8 +19,8 @@
     linkshared = True,
     deps = [
         "//src/testing/lib:examples.driver.test_cc",
-        "@fuchsia_sdk//pkg/driver2_cpp",
         "@fuchsia_sdk//pkg/driver_compat",
+        "@fuchsia_sdk//pkg/driver_component_cpp",
     ],
 )
 
diff --git a/src/composite_sample/controller/controller.h b/src/composite_sample/controller/controller.h
index 0576306..8797120 100644
--- a/src/composite_sample/controller/controller.h
+++ b/src/composite_sample/controller/controller.h
@@ -5,8 +5,8 @@
 #ifndef SRC_COMPOSITE_SAMPLE_CONTROLLER_CONTROLLER_H_
 #define SRC_COMPOSITE_SAMPLE_CONTROLLER_CONTROLLER_H_
 
-#include <lib/driver2/driver2_cpp.h>
-#include <lib/driver_compat/device_server.h>
+#include <lib/driver/component/cpp/driver_cpp.h>
+#include <lib/driver/compat/cpp/device_server.h>
 
 namespace controller_driver {
 
diff --git a/src/composite_sample/driver/BUILD.bazel b/src/composite_sample/driver/BUILD.bazel
index e6f1a10..401f3e2 100644
--- a/src/composite_sample/driver/BUILD.bazel
+++ b/src/composite_sample/driver/BUILD.bazel
@@ -29,7 +29,7 @@
     deps = [
         "@fuchsia_sdk//fidl/fuchsia.driver.compat:fuchsia.driver.compat_llcpp_cc",
         "@fuchsia_sdk//fidl/zx:zx_cc",
-        "@fuchsia_sdk//pkg/driver2_cpp",
+        "@fuchsia_sdk//pkg/driver_component_cpp",
         "@fuchsia_sdk//pkg/fidl_cpp_wire",
         "@fuchsia_sdk//pkg/sys_component_cpp",
         "@fuchsia_sdk//pkg/zx",
diff --git a/src/composite_sample/driver/composite_sample.cc b/src/composite_sample/driver/composite_sample.cc
index 7005ecc..46639ba 100644
--- a/src/composite_sample/driver/composite_sample.cc
+++ b/src/composite_sample/driver/composite_sample.cc
@@ -5,7 +5,7 @@
 #include "composite_sample.h"
 
 #include <fidl/fuchsia.driver.compat/cpp/wire.h>
-#include <lib/driver2/service_client.h>
+#include <lib/driver/component/cpp/service_client.h>
 
 namespace composite_sample {
 
diff --git a/src/composite_sample/driver/composite_sample.h b/src/composite_sample/driver/composite_sample.h
index 091b4b1..5102d93 100644
--- a/src/composite_sample/driver/composite_sample.h
+++ b/src/composite_sample/driver/composite_sample.h
@@ -5,7 +5,7 @@
 #ifndef FUCHSIA_SDK_EXAMPLES_CC_COMPOSITE_SAMPLE_H_
 #define FUCHSIA_SDK_EXAMPLES_CC_COMPOSITE_SAMPLE_H_
 
-#include <lib/driver2/driver2_cpp.h>
+#include <lib/driver/component/cpp/driver_cpp.h>
 
 namespace composite_sample {
 
diff --git a/src/example_driver/BUILD.bazel b/src/example_driver/BUILD.bazel
index 252b3f3..90bce33 100644
--- a/src/example_driver/BUILD.bazel
+++ b/src/example_driver/BUILD.bazel
@@ -32,7 +32,7 @@
     linkshared = True,
     deps = [
         "@fuchsia_sdk//pkg/driver_compat",
-        "@fuchsia_sdk//pkg/driver2_cpp",
+        "@fuchsia_sdk//pkg/driver_component_cpp",
     ],
 )
 
diff --git a/src/example_driver/example_driver.h b/src/example_driver/example_driver.h
index 9cd6348..d515cd2 100644
--- a/src/example_driver/example_driver.h
+++ b/src/example_driver/example_driver.h
@@ -5,9 +5,9 @@
 #ifndef FUCHSIA_SDK_EXAMPLES_CC_EXAMPLE_DRIVER_H_
 #define FUCHSIA_SDK_EXAMPLES_CC_EXAMPLE_DRIVER_H_
 
-#include <lib/driver2/driver2_cpp.h>
-#include <lib/driver_compat/compat.h>
-#include <lib/driver_compat/context.h>
+#include <lib/driver/compat/cpp/compat.h>
+#include <lib/driver/compat/cpp/context.h>
+#include <lib/driver/component/cpp/driver_cpp.h>
 
 namespace example_driver {
 
diff --git a/src/i2c_temperature/controller/BUILD.bazel b/src/i2c_temperature/controller/BUILD.bazel
index 20c6d22..d0cf9af 100644
--- a/src/i2c_temperature/controller/BUILD.bazel
+++ b/src/i2c_temperature/controller/BUILD.bazel
@@ -36,7 +36,7 @@
         "@fuchsia_sdk//fidl/fuchsia.hardware.i2c:fuchsia.hardware.i2c_bindlib_cc",
         "@fuchsia_sdk//fidl/fuchsia.hardware.i2c:fuchsia.hardware.i2c_llcpp_cc",
         "@fuchsia_sdk//pkg/driver_compat",
-        "@fuchsia_sdk//pkg/driver2_cpp",
+        "@fuchsia_sdk//pkg/driver_component_cpp",
     ],
 )
 # [END cc_binary]
diff --git a/src/i2c_temperature/controller/i2c_controller.cc b/src/i2c_temperature/controller/i2c_controller.cc
index f6a9274..39b3d9d 100644
--- a/src/i2c_temperature/controller/i2c_controller.cc
+++ b/src/i2c_temperature/controller/i2c_controller.cc
@@ -16,7 +16,7 @@
 
   // Serve the fuchsia.hardware.i2c/Device protocol to clients through the
   // fuchsia.hardware.i2c/Service wrapper.
-  driver::ServiceInstanceHandler handler;
+  component::ServiceInstanceHandler handler;
   fuchsia_hardware_i2c::Service::Handler service(&handler);
   auto result =
       service.add_device([this](fidl::ServerEnd<fuchsia_hardware_i2c::Device> request) -> void {
diff --git a/src/i2c_temperature/controller/i2c_controller.h b/src/i2c_temperature/controller/i2c_controller.h
index 4b77262..05b9b96 100644
--- a/src/i2c_temperature/controller/i2c_controller.h
+++ b/src/i2c_temperature/controller/i2c_controller.h
@@ -5,8 +5,8 @@
 #ifndef FUCHSIA_SDK_EXAMPLES_SRC_I2C_TEMPERATURE_I2C_CONTROLLER_H_
 #define FUCHSIA_SDK_EXAMPLES_SRC_I2C_TEMPERATURE_I2C_CONTROLLER_H_
 
-#include <lib/driver2/driver2_cpp.h>
-#include <lib/driver_compat/compat.h>
+#include <lib/driver/compat/cpp/compat.h>
+#include <lib/driver/component/cpp/driver_cpp.h>
 
 #include "i2c_server.h"
 
diff --git a/src/i2c_temperature/controller/i2c_server.cc b/src/i2c_temperature/controller/i2c_server.cc
index ee2a884..780ff7a 100644
--- a/src/i2c_temperature/controller/i2c_server.cc
+++ b/src/i2c_temperature/controller/i2c_server.cc
@@ -5,7 +5,7 @@
 #include "i2c_server.h"
 
 #include <endian.h>
-#include <lib/driver2/structured_logger.h>
+#include <lib/driver/component/cpp/structured_logger.h>
 
 #include "constants.h"
 
diff --git a/src/i2c_temperature/controller/i2c_server.h b/src/i2c_temperature/controller/i2c_server.h
index da42c1b..68ece13 100644
--- a/src/i2c_temperature/controller/i2c_server.h
+++ b/src/i2c_temperature/controller/i2c_server.h
@@ -6,7 +6,7 @@
 #define FUCHSIA_SDK_EXAMPLES_SRC_I2C_TEMPERATURE_I2C_SERVER_H_
 
 #include <fidl/fuchsia.hardware.i2c/cpp/wire.h>
-#include <lib/driver2/logger.h>
+#include <lib/driver/component/cpp/logger.h>
 
 namespace i2c_temperature {
 
diff --git a/src/i2c_temperature/driver/BUILD.bazel b/src/i2c_temperature/driver/BUILD.bazel
index b81afbb..1bf7c78 100644
--- a/src/i2c_temperature/driver/BUILD.bazel
+++ b/src/i2c_temperature/driver/BUILD.bazel
@@ -38,7 +38,7 @@
         "//src/i2c_temperature/lib",
         "@fuchsia_sdk//fidl/fuchsia.hardware.i2c:fuchsia.hardware.i2c_llcpp_cc",
         "@fuchsia_sdk//pkg/driver_compat",
-        "@fuchsia_sdk//pkg/driver2_cpp",
+        "@fuchsia_sdk//pkg/driver_component_cpp",
     ],
 )
 # [END cc_binary]
diff --git a/src/i2c_temperature/driver/i2c_channel.cc b/src/i2c_temperature/driver/i2c_channel.cc
index 3c7b64c..b393d6a 100644
--- a/src/i2c_temperature/driver/i2c_channel.cc
+++ b/src/i2c_temperature/driver/i2c_channel.cc
@@ -8,7 +8,7 @@
 
 namespace i2c_temperature {
 
-zx::status<uint16_t> I2cChannel::Read16() {
+zx::result<uint16_t> I2cChannel::Read16() {
   uint16_t value;
   auto status = WriteReadSync(nullptr, 0, reinterpret_cast<uint8_t*>(&value), sizeof(value));
 
diff --git a/src/i2c_temperature/driver/i2c_channel.h b/src/i2c_temperature/driver/i2c_channel.h
index 82225ea..10805c1 100644
--- a/src/i2c_temperature/driver/i2c_channel.h
+++ b/src/i2c_temperature/driver/i2c_channel.h
@@ -22,7 +22,7 @@
 
   // Functions that perform read/write transactions through the client.
   // The values are transferred across the I2C channel in big-endian order.
-  zx::status<uint16_t> Read16();
+  zx::result<uint16_t> Read16();
   zx::result<> Write16(uint16_t value);
 
  private:
diff --git a/src/i2c_temperature/driver/i2c_temperature.cc b/src/i2c_temperature/driver/i2c_temperature.cc
index d472478..bc94c04 100644
--- a/src/i2c_temperature/driver/i2c_temperature.cc
+++ b/src/i2c_temperature/driver/i2c_temperature.cc
@@ -5,7 +5,7 @@
 #include "i2c_temperature.h"
 
 #include <fidl/examples.i2c.temperature/cpp/wire.h>
-#include <lib/driver2/service_client.h>
+#include <lib/driver/component/cpp/service_client.h>
 
 #include "constants.h"
 #include "temperature_server.h"
@@ -21,7 +21,7 @@
 
   // Serve the examples.i2c.temperature/Device protocol to clients through the
   // examples.i2c.temperature/Service wrapper.
-  driver::ServiceInstanceHandler handler;
+  component::ServiceInstanceHandler handler;
   examples_i2c_temperature::Service::Handler service(&handler);
 
   auto result =
diff --git a/src/i2c_temperature/driver/i2c_temperature.h b/src/i2c_temperature/driver/i2c_temperature.h
index 7d8dc0b..7bc25b3 100644
--- a/src/i2c_temperature/driver/i2c_temperature.h
+++ b/src/i2c_temperature/driver/i2c_temperature.h
@@ -5,9 +5,9 @@
 #ifndef FUCHSIA_SDK_EXAMPLES_CC_I2C_TEMPERATURE_H_
 #define FUCHSIA_SDK_EXAMPLES_CC_I2C_TEMPERATURE_H_
 
-#include <lib/driver2/driver2_cpp.h>
-#include <lib/driver_compat/compat.h>
-#include <lib/driver_compat/context.h>
+#include <lib/driver/compat/cpp/compat.h>
+#include <lib/driver/compat/cpp/context.h>
+#include <lib/driver/component/cpp/driver_cpp.h>
 
 #include "i2c_channel.h"
 
diff --git a/src/i2c_temperature/driver/temperature_server.cc b/src/i2c_temperature/driver/temperature_server.cc
index 9e8dd87..68f90e2 100644
--- a/src/i2c_temperature/driver/temperature_server.cc
+++ b/src/i2c_temperature/driver/temperature_server.cc
@@ -5,7 +5,7 @@
 #include "temperature_server.h"
 
 #include <endian.h>
-#include <lib/driver2/structured_logger.h>
+#include <lib/driver/component/cpp/structured_logger.h>
 
 #include "constants.h"
 
diff --git a/src/i2c_temperature/driver/temperature_server.h b/src/i2c_temperature/driver/temperature_server.h
index 506ce28..d52d507 100644
--- a/src/i2c_temperature/driver/temperature_server.h
+++ b/src/i2c_temperature/driver/temperature_server.h
@@ -6,7 +6,7 @@
 #define FUCHSIA_SDK_EXAMPLES_CC_I2C_TEMPERATURE_TEMPERATURE_SERVER_H_
 
 #include <fidl/examples.i2c.temperature/cpp/wire.h>
-#include <lib/driver2/logger.h>
+#include <lib/driver/component/cpp/logger.h>
 
 #include "i2c_channel.h"
 
diff --git a/src/input_sample/BUILD.bazel b/src/input_sample/BUILD.bazel
index 4dc1654..4914e5a 100644
--- a/src/input_sample/BUILD.bazel
+++ b/src/input_sample/BUILD.bazel
@@ -30,7 +30,7 @@
         "@fuchsia_sdk//fidl/fuchsia.input.report:fuchsia.input.report_llcpp_cc",
         "@fuchsia_sdk//pkg/async-cpp",
         "@fuchsia_sdk//pkg/driver_compat",
-        "@fuchsia_sdk//pkg/driver2_cpp",
+        "@fuchsia_sdk//pkg/driver_component_cpp",
         "@fuchsia_sdk//pkg/input_report_reader",
     ],
 )
diff --git a/src/input_sample/input_sample.cc b/src/input_sample/input_sample.cc
index 7f445eb..d08f17d 100644
--- a/src/input_sample/input_sample.cc
+++ b/src/input_sample/input_sample.cc
@@ -5,6 +5,7 @@
 #include "input_sample.h"
 
 #include <lib/async/cpp/task.h>
+#include <lib/driver/component/cpp/service_client.h>
 
 namespace input_sample {
 
diff --git a/src/input_sample/input_sample.h b/src/input_sample/input_sample.h
index 18eb8dd..f633e61 100644
--- a/src/input_sample/input_sample.h
+++ b/src/input_sample/input_sample.h
@@ -5,9 +5,9 @@
 #ifndef FUCHSIA_SDK_EXAMPLES_CC_INPUT_SAMPLE_H_
 #define FUCHSIA_SDK_EXAMPLES_CC_INPUT_SAMPLE_H_
 
-#include <lib/driver2/driver2_cpp.h>
-#include <lib/driver_compat/compat.h>
-#include <lib/driver_compat/context.h>
+#include <lib/driver/compat/cpp/compat.h>
+#include <lib/driver/compat/cpp/context.h>
+#include <lib/driver/component/cpp/driver_cpp.h>
 
 #include "input_server.h"
 
diff --git a/src/input_sample/input_server.h b/src/input_sample/input_server.h
index 6301b43..301bb2c 100644
--- a/src/input_sample/input_server.h
+++ b/src/input_sample/input_server.h
@@ -6,7 +6,7 @@
 #define FUCHSIA_SDK_EXAMPLES_CC_INPUT_SAMPLE_INPUT_SERVER_H_
 
 #include <fidl/fuchsia.input.report/cpp/wire.h>
-#include <lib/driver2/logger.h>
+#include <lib/driver/component/cpp/logger.h>
 #include <lib/input_report_reader/reader.h>
 
 namespace input_sample {
diff --git a/src/qemu_edu/drivers/BUILD.bazel b/src/qemu_edu/drivers/BUILD.bazel
index 1041ac5..d02e286 100644
--- a/src/qemu_edu/drivers/BUILD.bazel
+++ b/src/qemu_edu/drivers/BUILD.bazel
@@ -38,8 +38,8 @@
     deps = [
         "//src/qemu_edu/fidl:examples.qemuedu_cc",
         "@fuchsia_sdk//fidl/fuchsia.hardware.pci:fuchsia.hardware.pci_llcpp_cc",
-        "@fuchsia_sdk//pkg/driver2_cpp",
         "@fuchsia_sdk//pkg/driver_compat",
+        "@fuchsia_sdk//pkg/driver_component_cpp",
         "@fuchsia_sdk//pkg/hwreg",
         "@fuchsia_sdk//pkg/mmio",
     ],
diff --git a/src/qemu_edu/drivers/edu_device.cc b/src/qemu_edu/drivers/edu_device.cc
index 764a7c1..855bbd2 100644
--- a/src/qemu_edu/drivers/edu_device.cc
+++ b/src/qemu_edu/drivers/edu_device.cc
@@ -31,7 +31,7 @@
       FDF_SLOG(ERROR, "unexpected bar type");
       return zx::error(ZX_ERR_NO_RESOURCES);
     }
-    zx::status<fdf::MmioBuffer> mmio = fdf::MmioBuffer::Create(
+    zx::result<fdf::MmioBuffer> mmio = fdf::MmioBuffer::Create(
         0, bar_result.size, std::move(bar_result.result.vmo()), ZX_CACHE_POLICY_UNCACHED_DEVICE);
     if (mmio.is_error()) {
       FDF_SLOG(ERROR, "failed to map mmio", KV("status", mmio.status_value()));
@@ -73,7 +73,7 @@
 // [START compute_factorial]
 // Write data into the factorial register wait for an interrupt.
 void QemuEduDevice::ComputeFactorial(uint32_t input,
-                                     fit::callback<void(zx::status<uint32_t>)> callback) {
+                                     fit::callback<void(zx::result<uint32_t>)> callback) {
   if (pending_callback_.has_value()) {
     callback(zx::error(ZX_ERR_SHOULD_WAIT));
   }
@@ -128,7 +128,7 @@
 
 // [START liveness_check]
 // Write a challenge value to the liveness check register and return the result.
-zx::status<uint32_t> QemuEduDevice::LivenessCheck(uint32_t challenge) {
+zx::result<uint32_t> QemuEduDevice::LivenessCheck(uint32_t challenge) {
   // Write the challenge value to the liveness check register.
   mmio_->Write32(challenge, kLivenessCheckOffset);
 
diff --git a/src/qemu_edu/drivers/edu_device.h b/src/qemu_edu/drivers/edu_device.h
index ebed2e0..3e65180 100644
--- a/src/qemu_edu/drivers/edu_device.h
+++ b/src/qemu_edu/drivers/edu_device.h
@@ -12,7 +12,7 @@
 // [START hw_imports]
 #include <fidl/fuchsia.hardware.pci/cpp/wire.h>
 #include <lib/async/cpp/irq.h>
-#include <lib/driver2/structured_logger.h>
+#include <lib/driver/component/cpp/structured_logger.h>
 #include <lib/mmio/mmio.h>
 #include <lib/zx/interrupt.h>
 // [END hw_imports]
@@ -67,8 +67,8 @@
   // [END public_main]
 
   // [START public_registers]
-  void ComputeFactorial(uint32_t input, fit::callback<void(zx::status<uint32_t>)> callback);
-  zx::status<uint32_t> LivenessCheck(uint32_t challenge);
+  void ComputeFactorial(uint32_t input, fit::callback<void(zx::result<uint32_t>)> callback);
+  zx::result<uint32_t> LivenessCheck(uint32_t challenge);
 
   Identification IdentificationRegister() { return Identification::Get().ReadFrom(&*mmio_); }
   Status StatusRegister() { return Status::Get().ReadFrom(&*mmio_); }
@@ -86,7 +86,7 @@
   std::optional<fdf::MmioBuffer> mmio_;
   zx::interrupt irq_;
   async::IrqMethod<QemuEduDevice, &QemuEduDevice::HandleIrq> irq_method_{this};
-  std::optional<fit::callback<void(zx::status<uint32_t>)>> pending_callback_;
+  std::optional<fit::callback<void(zx::result<uint32_t>)>> pending_callback_;
   // [END private_main]
 
   // [START class_footer]
diff --git a/src/qemu_edu/drivers/edu_server.cc b/src/qemu_edu/drivers/edu_server.cc
index 4c19eb3..6b7b9ba 100644
--- a/src/qemu_edu/drivers/edu_server.cc
+++ b/src/qemu_edu/drivers/edu_server.cc
@@ -24,7 +24,7 @@
   uint32_t input = request->input;
 
   edu_device->ComputeFactorial(
-      input, [completer = completer.ToAsync()](zx::status<uint32_t> result_status) mutable {
+      input, [completer = completer.ToAsync()](zx::result<uint32_t> result_status) mutable {
         if (result_status.is_error()) {
           completer.ReplyError(result_status.error_value());
           return;
diff --git a/src/qemu_edu/drivers/edu_server.h b/src/qemu_edu/drivers/edu_server.h
index e1c1ccc..4528b12 100644
--- a/src/qemu_edu/drivers/edu_server.h
+++ b/src/qemu_edu/drivers/edu_server.h
@@ -7,7 +7,7 @@
 
 // [START imports]
 #include <fidl/examples.qemuedu/cpp/wire.h>
-#include <lib/driver2/logger.h>
+#include <lib/driver/component/cpp/logger.h>
 
 #include "edu_device.h"
 // [END imports]
diff --git a/src/qemu_edu/drivers/qemu_edu.cc b/src/qemu_edu/drivers/qemu_edu.cc
index 58d2868..b368039 100644
--- a/src/qemu_edu/drivers/qemu_edu.cc
+++ b/src/qemu_edu/drivers/qemu_edu.cc
@@ -7,7 +7,7 @@
 // [END imports]
 
 // [START compat_imports]
-#include <lib/driver2/service_client.h>
+#include <lib/driver/component/cpp/service_client.h>
 // [END compat_imports]
 
 // [START fidl_imports]
@@ -67,7 +67,7 @@
 
   // [START serve_outgoing]
   // Serve the examples.qemuedu/Service capability.
-  driver::ServiceInstanceHandler handler;
+  component::ServiceInstanceHandler handler;
   examples_qemuedu::Service::Handler service(&handler);
 
   auto result =
@@ -87,7 +87,7 @@
   // Create and export a devfs entry for the driver service.
   compat::Context::ConnectAndCreate(
       &context(), dispatcher(),
-      [this](zx::status<std::unique_ptr<compat::Context>> result) mutable {
+      [this](zx::result<std::unique_ptr<compat::Context>> result) mutable {
         if (result.is_error()) {
           FDF_SLOG(ERROR, "Failed to get compat::Context", KV("status", result.status_string()));
           // Reset the node to signal unbind to the driver framework.
diff --git a/src/qemu_edu/drivers/qemu_edu.h b/src/qemu_edu/drivers/qemu_edu.h
index c7969e6..44077f5 100644
--- a/src/qemu_edu/drivers/qemu_edu.h
+++ b/src/qemu_edu/drivers/qemu_edu.h
@@ -6,8 +6,8 @@
 #define FUCHSIA_SDK_EXAMPLES_CC_QEMU_EDU_DRIVERS_QEMU_EDU_H_
 
 // [START imports]
-#include <lib/driver2/driver2_cpp.h>
-#include <lib/driver_compat/context.h>
+#include <lib/driver/component/cpp/driver_cpp.h>
+#include <lib/driver/compat/cpp/context.h>
 // [END imports]
 
 // [START hw_imports]
diff --git a/third_party/sdk-integration b/third_party/sdk-integration
index dae671c..c0794de 160000
--- a/third_party/sdk-integration
+++ b/third_party/sdk-integration
@@ -1 +1 @@
-Subproject commit dae671c83ccf72d65594179b16cb881637f3f137
+Subproject commit c0794deba860f8503e8829094ce4a3fef90d0d03
diff --git a/tools/fssh b/tools/fssh
deleted file mode 120000
index ade000e..0000000
--- a/tools/fssh
+++ /dev/null
@@ -1 +0,0 @@
-../third_party/sdk-integration/bazel_rules_fuchsia/tools/run_sdk_tool.sh
\ No newline at end of file
diff --git a/tools/fssh b/tools/fssh
new file mode 100755
index 0000000..0bca483
--- /dev/null
+++ b/tools/fssh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+# TODO(fxbug.dev/114878): Replace this with the original symlink once available in the toolchain
+"$($(dirname "${BASH_SOURCE[0]}")/bazel info output_base)/external/fuchsia_sdk/tools/x64/fssh" "$@"
+