blob: a476f4b7311801c938e056116e5f188e070b2b1b [file] [log] [blame]
# 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" ]
}