summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/device/pci_device.c5
-rw-r--r--src/device/pci_ops.c6
-rw-r--r--src/include/device/pci_ops.h32
3 files changed, 22 insertions, 21 deletions
diff --git a/src/device/pci_device.c b/src/device/pci_device.c
index 7786043a6c..5765529f86 100644
--- a/src/device/pci_device.c
+++ b/src/device/pci_device.c
@@ -630,11 +630,6 @@ void pci_dev_enable_resources(struct device *dev)
pci_write_config16(dev, PCI_COMMAND, command);
}
-void __noreturn pcidev_die(void)
-{
- die("PCI: dev is NULL!\n");
-}
-
void pci_bus_enable_resources(struct device *dev)
{
u16 ctrl;
diff --git a/src/device/pci_ops.c b/src/device/pci_ops.c
index 96133155be..6f42978e82 100644
--- a/src/device/pci_ops.c
+++ b/src/device/pci_ops.c
@@ -14,6 +14,7 @@
#define __SIMPLE_DEVICE__
#include <stdint.h>
+#include <console/console.h>
#include <device/pci.h>
#include <device/pci_def.h>
#include <device/pci_ops.h>
@@ -85,3 +86,8 @@ u16 pci_s_find_capability(pci_devfn_t dev, u16 cap)
{
return pci_s_find_next_capability(dev, cap, 0);
}
+
+void __noreturn pcidev_die(void)
+{
+ die("PCI: dev is NULL!\n");
+}
diff --git a/src/include/device/pci_ops.h b/src/include/device/pci_ops.h
index 9a9c575e3c..5cc803c737 100644
--- a/src/include/device/pci_ops.h
+++ b/src/include/device/pci_ops.h
@@ -23,22 +23,7 @@
#include <device/pci_type.h>
#include <arch/pci_ops.h>
-#ifdef __SIMPLE_DEVICE__
-
-/* Avoid name collisions as different stages have different signature
- * for these functions. The _s_ stands for simple, fundamental IO or
- * MMIO variant.
- */
-#define pci_read_config8 pci_s_read_config8
-#define pci_read_config16 pci_s_read_config16
-#define pci_read_config32 pci_s_read_config32
-#define pci_write_config8 pci_s_write_config8
-#define pci_write_config16 pci_s_write_config16
-#define pci_write_config32 pci_s_write_config32
-#else
-
-#include <device/pci.h>
-
+#ifndef __ROMCC__
void __noreturn pcidev_die(void);
static __always_inline pci_devfn_t pcidev_bdf(const struct device *dev)
@@ -52,6 +37,21 @@ static __always_inline pci_devfn_t pcidev_assert(const struct device *dev)
pcidev_die();
return pcidev_bdf(dev);
}
+#endif
+
+#ifdef __SIMPLE_DEVICE__
+
+/* Avoid name collisions as different stages have different signature
+ * for these functions. The _s_ stands for simple, fundamental IO or
+ * MMIO variant.
+ */
+#define pci_read_config8 pci_s_read_config8
+#define pci_read_config16 pci_s_read_config16
+#define pci_read_config32 pci_s_read_config32
+#define pci_write_config8 pci_s_write_config8
+#define pci_write_config16 pci_s_write_config16
+#define pci_write_config32 pci_s_write_config32
+#else
static __always_inline
u8 pci_read_config8(const struct device *dev, u16 reg)