blob: c4e9a94379def47b31787fa9392573a66e900b15 [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.
package(default_visibility = ["//visibility:public"])
load("@fuchsia_sdk//build_defs:driver_bind_rules.bzl", "driver_header_bind_rules", "driver_bytecode_bind_rules")
driver_header_bind_rules(
name = "fuchsia_bind_header",
rules = "iwlwifi.bind",
output = "iwlwifi-bind.h",
deps = ["@fuchsia_sdk//bind/fuchsia_pci"],
)
driver_bytecode_bind_rules(
name = "fuchsia_bind_bytecode",
rules = "iwlwifi.bind",
output = "iwlwifi-bind.bc",
deps = ["@fuchsia_sdk//bind/fuchsia_usb"],
)
cc_library(
name = "driver_inspector",
srcs = [
"driver-inspector.cc",
],
hdrs = [
"driver-inspector.h",
],
deps = [
"@fuchsia_sdk//pkg/inspect",
],
)
cc_library(
name = "platform",
srcs = [
"compiler.cc",
"debug.cc",
"device.cc",
"ieee80211.cc",
"irq.cc",
"memory.cc",
"module.cc",
"rcu.cc",
"task-internal.cc",
"task.cc",
"time.cc",
# Must come from library
"channel.cc",
],
hdrs = [
"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",
"align.h",
# Must come from library
"channel.h",
"ieee80211_include.h",
],
deps = [
":driver_inspector",
":rcu_manager",
"@fuchsia_sdk//pkg/ddk",
"@fuchsia_sdk//fidl/fuchsia_hardware_pci:fuchsia_hardware_pci_banjo_cc",
"@fuchsia_sdk//fidl/fuchsia_hardware_wlan_phyinfo:fuchsia_hardware_wlan_phyinfo_banjo_cc",
"@fuchsia_sdk//fidl/fuchsia_hardware_wlan_softmac:fuchsia_hardware_wlan_softmac_banjo_cc",
# 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",
],
)
# Support for RCU synchronization.
cc_library(
name = "rcu_manager",
srcs = [ "rcu-manager.cc" ],
hdrs = [ "rcu-manager.h" ],
deps = [
"@fuchsia_sdk//pkg/async",
"@fuchsia_sdk//pkg/async_cpp",
],
)
cc_library(
name = "fuchsia_device",
srcs = [
"bind.cc",
"mvm-mlme.cc",
"mvm-sta.cc",
"pcie-device.cc",
"wlan-softmac-device.cc",
"wlanphy-impl-device.cc",
],
hdrs = [
"mvm-mlme.h",
"mvm-sta.h",
"pcie-device.h",
"scoped_utils.h",
"wlan-softmac-device.h",
"wlanphy-impl-device.h",
"ieee80211.h",
],
deps = [
":driver_inspector",
":fuchsia_bind_header",
":platform",
":rcu_manager",
"@fuchsia_sdk//pkg/ddktl_experimental_driver_only",
"@fuchsia_sdk//fidl/fuchsia_hardware_wlan_phyinfo:fuchsia_hardware_wlan_phyinfo_banjo_cc",
"@fuchsia_sdk//fidl/fuchsia_hardware_wlan_softmac:fuchsia_hardware_wlan_softmac_banjo_cc",
"@fuchsia_sdk//fidl/fuchsia_hardware_wlanphyimpl:fuchsia_hardware_wlanphyimpl_banjo_cc",
"@fuchsia_sdk//fidl/fuchsia_wlan_common:fuchsia_wlan_common_banjo_cc",
"@fuchsia_sdk//fidl/fuchsia_wlan_ieee80211:fuchsia_wlan_ieee80211_cc",
"@fuchsia_sdk//fidl/fuchsia_wlan_internal:fuchsia_wlan_internal_banjo_cc",
"//third_party/iwlwifi:core",
"//third_party/iwlwifi/mvm:mvm",
"//third_party/iwlwifi/pcie",
"@fuchsia_sdk//pkg/ddk",
"@fuchsia_sdk//pkg/async_loop_cpp",
"@fuchsia_sdk//pkg/async_loop_default",
],
copts = ["-Ithird_party/iwlwifi"],
# This doesn't seem to be taking effect.
defines = [
"CPTCFG_IWL_TIMEOUT_FACTOR=1",
"CPTCFG_IWLMVM=1",
],
)