| # Copyright 2021 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/bind/bind.gni") |
| |
| visibility = [ "//src/connectivity/wlan/drivers/third_party/intel/iwlwifi/*" ] |
| |
| # This BUILD.gn defines the Fuchsia-specific platform support library for the iwlwifi driver. |
| |
| # Platform-support library for the iwlwifi driver. |
| source_set("platform") { |
| sources = [ |
| "compiler.cc", |
| "debug.cc", |
| "device.cc", |
| "ieee80211.cc", |
| "irq.cc", |
| "memory.cc", |
| "module.cc", |
| "rcu.cc", |
| "task-internal.cc", |
| "task.cc", |
| "time.cc", |
| ] |
| public = [ |
| "compiler.h", |
| "debug.h", |
| "device.h", |
| "ieee80211.h", |
| "irq.h", |
| "kernel.h", |
| "memory.h", |
| "module.h", |
| "pci.h", |
| "rcu.h", |
| "task-internal.h", |
| "task.h", |
| "time.h", |
| ] |
| deps = [ |
| ":driver_inspector", |
| ":rcu_manager", |
| "//sdk/lib/stdcompat", |
| "//zircon/system/ulib/async:async-cpp", |
| ] |
| public_deps = [ |
| "//sdk/banjo/fuchsia.hardware.pci:fuchsia.hardware.pci_banjo_c", |
| "//sdk/banjo/fuchsia.hardware.wlan.phyinfo:fuchsia.hardware.wlan.phyinfo_banjo_c", |
| "//sdk/banjo/fuchsia.hardware.wlan.softmac:fuchsia.hardware.wlan.softmac_banjo_c", |
| "//sdk/fidl/fuchsia.wlan.common:fuchsia.wlan.common_banjo_c", |
| "//src/connectivity/wlan/lib/common/cpp:common", |
| "//src/lib/ddk", |
| "//zircon/system/public", |
| "//zircon/system/ulib/async", |
| ] |
| public_configs = [ |
| "//src/connectivity/wlan/drivers/third_party/intel/iwlwifi:fuchsia_config", |
| ] |
| } |
| |
| # Support for exporting driver data from the Inspect tree. |
| source_set("driver_inspector") { |
| sources = [ "driver-inspector.cc" ] |
| public = [ "driver-inspector.h" ] |
| public_deps = [ |
| "//sdk/lib/stdcompat", |
| "//zircon/system/public", |
| "//zircon/system/ulib/inspect", |
| ] |
| } |
| |
| # Support for RCU synchronization. |
| source_set("rcu_manager") { |
| sources = [ "rcu-manager.cc" ] |
| public = [ "rcu-manager.h" ] |
| deps = [ |
| "//zircon/system/public", |
| "//zircon/system/ulib/async:async-cpp", |
| ] |
| public_deps = [ "//zircon/system/ulib/async" ] |
| } |
| |
| driver_bind_rules("fuchsia_bind") { |
| rules = "iwlwifi.bind" |
| header_output = "iwlwifi-bind.h" |
| tests = "iwlwifi-bind-tests.json" |
| deps = [ "//src/devices/bind/fuchsia.pci" ] |
| } |
| |
| # Fuchsia DDK device bindings for the iwlwifi driver. |
| source_set("fuchsia_device") { |
| sources = [ |
| "bind.cc", |
| "mvm-mlme.cc", |
| "mvm-mlme.h", |
| "mvm-sta.cc", |
| "mvm-sta.h", |
| "pcie-device.cc", |
| "pcie-device.h", |
| "scoped_utils.h", |
| "wlan-softmac-device.cc", |
| "wlan-softmac-device.h", |
| "wlanphy-impl-device.cc", |
| "wlanphy-impl-device.h", |
| ] |
| deps = [ |
| ":driver_inspector", |
| ":fuchsia_bind", |
| ":platform", |
| ":rcu_manager", |
| "//sdk/banjo/fuchsia.hardware.wlan.phyinfo:fuchsia.hardware.wlan.phyinfo_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.wlan.softmac:fuchsia.hardware.wlan.softmac_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.wlanphyimpl:fuchsia.hardware.wlanphyimpl_banjo_cpp", |
| "//sdk/fidl/fuchsia.wlan.common:fuchsia.wlan.common_banjo_cpp", |
| "//sdk/fidl/fuchsia.wlan.ieee80211:fuchsia.wlan.ieee80211_llcpp", |
| "//sdk/fidl/fuchsia.wlan.internal:fuchsia.wlan.internal_banjo_cpp", |
| "//src/connectivity/wlan/drivers/third_party/intel/iwlwifi:core", |
| "//src/connectivity/wlan/drivers/third_party/intel/iwlwifi/cfg", |
| "//src/connectivity/wlan/drivers/third_party/intel/iwlwifi/mvm", |
| "//src/connectivity/wlan/drivers/third_party/intel/iwlwifi/pcie", |
| "//src/connectivity/wlan/lib/common/cpp:common", |
| "//src/devices/lib/driver", |
| "//src/lib/ddk", |
| "//src/lib/ddktl", |
| "//zircon/system/public", |
| "//zircon/system/ulib/async-loop:async-loop-cpp", |
| "//zircon/system/ulib/async-loop:async-loop-default", |
| ] |
| friend = |
| [ "//src/connectivity/wlan/drivers/third_party/intel/iwlwifi/test:*" ] |
| |
| # TODO(https://fxbug.dev/58162): delete the below and fix compiler warnings |
| configs += [ "//build/config:Wno-conversion" ] |
| } |