# 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") {
  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" ]
}
