[iwlwifi] Package iwlwifi driver
Change-Id: I5481bf8b5e815be482a06dcdb9218466d07f2dbf
Reviewed-on: https://fuchsia-review.googlesource.com/c/drivers/wlan/intel/iwlwifi/+/651686
Fuchsia-Auto-Submit: Sakthi Vignesh Radhakrishnan <rsakthi@google.com>
Reviewed-by: Renato Mangini Dias <mangini@google.com>
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
diff --git a/README.md b/README.md
index 43c7169..b19894c 100644
--- a/README.md
+++ b/README.md
@@ -70,7 +70,7 @@
1. Build the driver:
```
- scripts/build.sh third_party/iwlwifi/platform:fuchsia_device
+ scripts/build.sh third_party/iwlwifi:driver_repository
```
This command will build the driver and make it available as a package on a local Fuchsia repository.
@@ -99,7 +99,7 @@
Now you are ready to register the driver.
```
- tools/ffx driver register fuchsia-pkg://iwlwifi_driver_repo/iwlwifi#lib/libcore.so
+ tools/ffx driver register fuchsia-pkg://fuchsiadrivers.com/iwlwifi_driver#lib/libiwlwifi_driver.so
```
## Run tests
diff --git a/third_party/iwlwifi/BUILD.bazel b/third_party/iwlwifi/BUILD.bazel
index 469c2a0..1af396f 100644
--- a/third_party/iwlwifi/BUILD.bazel
+++ b/third_party/iwlwifi/BUILD.bazel
@@ -54,5 +54,6 @@
repo_name = "fuchsiadrivers.com",
deps = [
"//third_party/iwlwifi/test:iwlwifi_test_pkg",
+ "//third_party/iwlwifi/platform:iwlwifi_driver_pkg",
],
-)
\ No newline at end of file
+)
diff --git a/third_party/iwlwifi/platform/BUILD.bazel b/third_party/iwlwifi/platform/BUILD.bazel
index 7db8690..6f5e2bb 100644
--- a/third_party/iwlwifi/platform/BUILD.bazel
+++ b/third_party/iwlwifi/platform/BUILD.bazel
@@ -9,6 +9,9 @@
"@rules_fuchsia//fuchsia:defs.bzl",
"fuchsia_driver_header_bind_rules",
"fuchsia_driver_bytecode_bind_rules",
+ "fuchsia_component",
+ "fuchsia_component_manifest",
+ "fuchsia_package",
)
fuchsia_driver_header_bind_rules(
@@ -24,7 +27,7 @@
rules = "iwlwifi.bind",
output = "iwlwifi-bind.bc",
- deps = ["@fuchsia_sdk//bind/fuchsia.usb"],
+ deps = ["@fuchsia_sdk//bind/fuchsia.pci"],
)
cc_library(
@@ -88,7 +91,6 @@
# Needed only for library purposes (channel and ieee includes)
"@fuchsia_sdk//fidl/fuchsia.wlan.common:fuchsia.wlan.common_cc",
- "@fuchsia_sdk//fidl/fuchsia.wlan.mlme:fuchsia.wlan.mlme_cc",
"@fuchsia_sdk//fidl/fuchsia.hardware.wlan.associnfo:fuchsia.hardware.wlan.associnfo_banjo_cc",
],
@@ -112,7 +114,6 @@
cc_library(
name = "fuchsia_device",
srcs = [
- "bind.cc",
"mvm-mlme.cc",
"mvm-sta.cc",
"pcie-device.cc",
@@ -149,3 +150,36 @@
copts = ["-Ithird_party/iwlwifi"],
)
+
+cc_binary(
+ name = "iwlwifi_driver",
+ srcs = [ "bind.cc" ],
+ deps = [
+ ":fuchsia_bind_header",
+ ":fuchsia_device",
+ ],
+ linkshared = True,
+)
+
+fuchsia_component_manifest(
+ name = "iwlwifi_manifest",
+ src = "meta/iwlwifi_driver.cml",
+)
+
+fuchsia_component(
+ name = "iwlwifi_driver_component",
+ content = {
+ ":iwlwifi_driver": "lib/",
+ ":fuchsia_bind_bytecode": "meta/bind/",
+ },
+ manifest = ":iwlwifi_manifest",
+)
+
+fuchsia_package(
+ name = "iwlwifi_driver_pkg",
+ package_name = "iwlwifi_driver",
+ visibility = ["//visibility:public"],
+ deps = [
+ ":iwlwifi_driver_component",
+ ],
+)
diff --git a/third_party/iwlwifi/platform/meta/iwlwifi_driver.cml b/third_party/iwlwifi/platform/meta/iwlwifi_driver.cml
new file mode 100644
index 0000000..62a28ce
--- /dev/null
+++ b/third_party/iwlwifi/platform/meta/iwlwifi_driver.cml
@@ -0,0 +1,7 @@
+{
+ program: {
+ runner: 'driver',
+ binary: 'libiwlwifi_driver.so',
+ bind: 'meta/bind/iwlwifi_driver.bindbc'
+ }
+}