# Copyright 2019 The Fuchsia Authors
#
# Use of this source code is governed by a MIT-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT

import("//build/zircon/migrated_targets.gni")

zx_library("pcie") {
  kernel = true
  sources = [
    "address_provider/designware.cc",
    "address_provider/ecam_region.cc",
    "address_provider/mmio.cc",
    "address_provider/pio.cc",
    "debug.cc",
    "pci_config.cc",
    "pcie_bridge.cc",
    "pcie_bus_driver.cc",
    "pcie_caps.cc",
    "pcie_device.cc",
    "pcie_irqs.cc",
    "pcie_quirks.cc",
    "pcie_root.cc",
    "pcie_upstream_node.cc",
  ]
  deps = [
    "//zircon/kernel/lib/arch",
    "//zircon/kernel/lib/console",
    "//zircon/kernel/lib/fbl",
    "//zircon/kernel/lib/kpci",
    "//zircon/kernel/lib/ktl",
    "//zircon/kernel/vm:headers",
    "//zircon/system/ulib/pretty",
    "//zircon/system/ulib/region-alloc",
  ]
  public_deps = [
    # <dev/address_provider/ecam_region.h> has #include <ktl/unique_ptr.h>.
    "//zircon/kernel/lib/ktl:headers",

    # <dev/pcie_platform.h> has #include <dev/interrupt.h>.
    "//zircon/kernel/dev/interrupt:headers",

    # <dev/pcie_bus_driver.h> has #include <region-alloc/region-alloc.h>.
    "//zircon/system/ulib/region-alloc:headers",

    # <dev/pcie_bus_driver.h> has #include <arch/ops.h>.
    "//zircon/kernel/lib/arch:headers",
  ]

  # TODO(mcgrathr): Say why this is needed.
  cflags_cc = [ "-Wno-invalid-offsetof" ]
}
