[samples] Add `device_categories` to drivers' component manifests

Bug: b/251881960
Change-Id: I13a083ccf6d6ed1689686e5af1d857097bc21a48
Reviewed-on: https://fuchsia-review.googlesource.com/c/sdk-samples/drivers/+/762102
Reviewed-by: Harsha Priya N V <harshanv@google.com>
Reviewed-by: Dave Smith <smithdave@google.com>
Commit-Queue: Ian Fisher <iafisher@google.com>
diff --git a/src/acpi_multiply/controller/meta/acpi_controller.cml b/src/acpi_multiply/controller/meta/acpi_controller.cml
index 362050b..72321f5 100644
--- a/src/acpi_multiply/controller/meta/acpi_controller.cml
+++ b/src/acpi_multiply/controller/meta/acpi_controller.cml
@@ -8,7 +8,11 @@
     program: {
         runner: 'driver',
         binary: 'lib/libacpi_controller.so',
-        bind: 'meta/bind/acpi_controller.bindbc'
+        bind: 'meta/bind/acpi_controller.bindbc',
+        // Identifies the device categories, for compatibility tests.
+        device_categories: [
+          { category: 'board', subcategory: 'acpi' },
+        ],
     },
     use: [
         { protocol: 'fuchsia.device.fs.Exporter' },
diff --git a/src/acpi_multiply/driver/meta/acpi_multiply.cml b/src/acpi_multiply/driver/meta/acpi_multiply.cml
index 9de66ae..2fbf881 100644
--- a/src/acpi_multiply/driver/meta/acpi_multiply.cml
+++ b/src/acpi_multiply/driver/meta/acpi_multiply.cml
@@ -8,7 +8,11 @@
     program: {
         runner: 'driver',
         binary: 'lib/libacpi_multiply.so',
-        bind: 'meta/bind/acpi_multiply.bindbc'
+        bind: 'meta/bind/acpi_multiply.bindbc',
+        // Identifies the device categories, for compatibility tests.
+        device_categories: [
+          { category: 'board', subcategory: 'acpi' },
+        ],
     },
     // Consume the ACPI service capability from the parent
     use: [
diff --git a/src/bind_library/child/meta/child-driver.cml b/src/bind_library/child/meta/child-driver.cml
index b97b06d..d24b126 100644
--- a/src/bind_library/child/meta/child-driver.cml
+++ b/src/bind_library/child/meta/child-driver.cml
@@ -8,7 +8,13 @@
     program: {
         runner: 'driver',
         binary: 'lib/libchild_driver.so',
-        bind: 'meta/bind/child-driver.bindbc'
+        bind: 'meta/bind/child-driver.bindbc',
+        // Identifies the device categories, for compatibility tests. This
+        // example driver uses the 'misc' category; real drivers should
+        // select a more specific category.
+        device_categories: [
+          { category: 'misc', subcategory: '' },
+        ],
     },
     use: [
         { service: 'examples.gizmo.Service' },
diff --git a/src/bind_library/parent/meta/parent-driver.cml b/src/bind_library/parent/meta/parent-driver.cml
index 2b51738..685e701 100644
--- a/src/bind_library/parent/meta/parent-driver.cml
+++ b/src/bind_library/parent/meta/parent-driver.cml
@@ -8,7 +8,13 @@
     program: {
         runner: 'driver',
         binary: 'lib/libparent_driver.so',
-        bind: 'meta/bind/parent-driver.bindbc'
+        bind: 'meta/bind/parent-driver.bindbc',
+        // Identifies the device categories, for compatibility tests. This
+        // example driver uses the 'misc' category; real drivers should
+        // select a more specific category.
+        device_categories: [
+          { category: 'misc', subcategory: '' },
+        ],
     },
     capabilities: [
         { service: 'examples.gizmo.Service' },
diff --git a/src/composite_sample/controller/meta/controller-driver.cml b/src/composite_sample/controller/meta/controller-driver.cml
index fb43fd4..b22829b 100644
--- a/src/composite_sample/controller/meta/controller-driver.cml
+++ b/src/composite_sample/controller/meta/controller-driver.cml
@@ -8,7 +8,13 @@
     program: {
         runner: 'driver',
         binary: 'lib/libcontroller_driver.so',
-        bind: 'meta/bind/controller-driver.bindbc'
+        bind: 'meta/bind/controller-driver.bindbc',
+        // Identifies the device categories, for compatibility tests. This
+        // example driver uses the 'misc' category; real drivers should
+        // select a more specific category.
+        device_categories: [
+          { category: 'misc', subcategory: '' },
+        ],
     },
     capabilities: [
         { service: 'fuchsia.driver.compat.Service' },
diff --git a/src/composite_sample/driver/meta/composite_sample.cml b/src/composite_sample/driver/meta/composite_sample.cml
index 3127b3f..162532e 100644
--- a/src/composite_sample/driver/meta/composite_sample.cml
+++ b/src/composite_sample/driver/meta/composite_sample.cml
@@ -8,7 +8,13 @@
     program: {
         runner: 'driver',
         binary: 'lib/libcomposite_sample.so',
-        bind: 'meta/bind/composite_sample.bindbc'
+        bind: 'meta/bind/composite_sample.bindbc',
+        // Identifies the device categories, for compatibility tests. This
+        // example driver uses the 'misc' category; real drivers should
+        // select a more specific category.
+        device_categories: [
+          { category: 'misc', subcategory: '' },
+        ],
     },
     use: [
         { service: 'fuchsia.driver.compat.Service' },
diff --git a/src/example_driver/meta/example_driver.cml b/src/example_driver/meta/example_driver.cml
index f0fbd0e..3d7d19d 100644
--- a/src/example_driver/meta/example_driver.cml
+++ b/src/example_driver/meta/example_driver.cml
@@ -8,7 +8,13 @@
     program: {
         runner: 'driver',
         binary: 'lib/libexample_driver.so',
-        bind: 'meta/bind/example_driver.bindbc'
+        bind: 'meta/bind/example_driver.bindbc',
+        // Identifies the device categories, for compatibility tests. This
+        // example driver uses the 'misc' category; real drivers should
+        // select a more specific category.
+        device_categories: [
+          { category: 'misc', subcategory: '' },
+        ],
     },
     use: [
         { protocol: 'fuchsia.device.fs.Exporter' },
diff --git a/src/i2c_temperature/controller/meta/i2c_controller.cml b/src/i2c_temperature/controller/meta/i2c_controller.cml
index b6496ff..1d61d7c 100644
--- a/src/i2c_temperature/controller/meta/i2c_controller.cml
+++ b/src/i2c_temperature/controller/meta/i2c_controller.cml
@@ -8,7 +8,11 @@
     program: {
         runner: 'driver',
         binary: 'lib/libi2c_controller.so',
-        bind: 'meta/bind/i2c_controller.bindbc'
+        bind: 'meta/bind/i2c_controller.bindbc',
+        // Identifies the device categories, for compatibility tests.
+        device_categories: [
+          { category: 'board', subcategory: 'i2c' },
+        ],
     },
     use: [
         { protocol: 'fuchsia.device.fs.Exporter' },
diff --git a/src/i2c_temperature/driver/meta/i2c_temperature.cml b/src/i2c_temperature/driver/meta/i2c_temperature.cml
index 9bfdff0..fb0db09 100644
--- a/src/i2c_temperature/driver/meta/i2c_temperature.cml
+++ b/src/i2c_temperature/driver/meta/i2c_temperature.cml
@@ -8,7 +8,12 @@
     program: {
         runner: 'driver',
         binary: 'lib/libi2c_temperature.so',
-        bind: 'meta/bind/i2c_temperature.bindbc'
+        bind: 'meta/bind/i2c_temperature.bindbc',
+        // Identifies the device categories, for compatibility tests.
+        device_categories: [
+          { category: 'board', subcategory: 'i2c' },
+          { category: 'sensor', subcategory: 'temperature' },
+        ],
     },
     // Consume the I2C Service capability from the parent
     use: [
diff --git a/src/input_sample/meta/input_sample.cml b/src/input_sample/meta/input_sample.cml
index c3b03c4..45c2fa2 100644
--- a/src/input_sample/meta/input_sample.cml
+++ b/src/input_sample/meta/input_sample.cml
@@ -8,7 +8,11 @@
     program: {
         runner: 'driver',
         binary: 'lib/libinput_sample.so',
-        bind: 'meta/bind/input_sample.bindbc'
+        bind: 'meta/bind/input_sample.bindbc',
+        // Identifies the device categories, for compatibility tests.
+        device_categories: [
+          { category: 'input', subcategory: 'mouse' },
+        ],
     },
     use: [
         { protocol: 'fuchsia.device.fs.Exporter' },
diff --git a/src/qemu_edu/drivers/meta/qemu_edu.cml b/src/qemu_edu/drivers/meta/qemu_edu.cml
index 07005ac0..fb32c56 100644
--- a/src/qemu_edu/drivers/meta/qemu_edu.cml
+++ b/src/qemu_edu/drivers/meta/qemu_edu.cml
@@ -9,7 +9,13 @@
     program: {
         runner: 'driver',
         binary: 'lib/libqemu_edu.so',
-        bind: 'meta/bind/qemu_edu.bindbc'
+        bind: 'meta/bind/qemu_edu.bindbc',
+        // Identifies the device categories, for compatibility tests. This
+        // example driver uses the 'misc' category; real drivers should
+        // select a more specific category.
+        device_categories: [
+          { category: 'misc', subcategory: '' },
+        ],
     },
     // [END driver]