summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorStefan Reinauer <reinauer@chromium.org>2013-03-21 11:51:41 -0700
committerStefan Reinauer <stefan.reinauer@coreboot.org>2013-03-22 00:00:09 +0100
commit24d1d4b47274eb82893e6726472a991a36fce0aa (patch)
tree57126316330f6f9d407f605fa831ce530650f069 /src/include
parent55ed3106556a9bcbe36d3389dc5230d4a4ee2a40 (diff)
downloadcoreboot-24d1d4b47274eb82893e6726472a991a36fce0aa.tar.xz
x86: Unify arch/io.h and arch/romcc_io.h
Here's the great news: From now on you don't have to worry about hitting the right io.h include anymore. Just forget about romcc_io.h and use io.h instead. This cleanup has a number of advantages, like you don't have to guard device/ includes for SMM and pre RAM anymore. This allows to get rid of a number of ifdefs and will generally make the code more readable and understandable. Potentially in the future some of the code in the io.h __PRE_RAM__ path should move to device.h or other device/ includes instead, but that's another incremental change. Change-Id: I356f06110e2e355e9a5b4b08c132591f36fec7d9 Signed-off-by: Stefan Reinauer <reinauer@google.com> Reviewed-on: http://review.coreboot.org/2872 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/cpu/cpu.h4
-rw-r--r--src/include/device/device.h4
-rw-r--r--src/include/device/pci.h2
-rw-r--r--src/include/device/pci_ops.h2
-rw-r--r--src/include/device/pnp.h2
-rw-r--r--src/include/lib.h2
6 files changed, 12 insertions, 4 deletions
diff --git a/src/include/cpu/cpu.h b/src/include/cpu/cpu.h
index cf2d38997d..bed77de017 100644
--- a/src/include/cpu/cpu.h
+++ b/src/include/cpu/cpu.h
@@ -3,7 +3,7 @@
#include <arch/cpu.h>
-#if !defined(__ROMCC__)
+#if !defined(__PRE_RAM__) && !defined(__SMM__)
void cpu_initialize(unsigned int cpu_index);
struct bus;
void initialize_cpus(struct bus *cpu_bus);
@@ -20,6 +20,6 @@ void smm_setup_structures(void *gnvs, void *tcg, void *smi1);
extern struct cpu_driver cpu_drivers[];
/** end of compile time generated pci driver array */
extern struct cpu_driver ecpu_drivers[];
-#endif /* !__ROMCC__ */
+#endif /* !__PRE_RAM__ && !__SMM__ */
#endif /* CPU_CPU_H */
diff --git a/src/include/device/device.h b/src/include/device/device.h
index b248aafb7a..5219310202 100644
--- a/src/include/device/device.h
+++ b/src/include/device/device.h
@@ -1,6 +1,7 @@
#ifndef DEVICE_H
#define DEVICE_H
+#ifndef __SMM__
#include <stdint.h>
#include <stddef.h>
#include <device/resource.h>
@@ -222,4 +223,7 @@ ROMSTAGE_CONST struct device * dev_find_slot (unsigned int bus,
ROMSTAGE_CONST struct device * dev_find_slot_on_smbus (unsigned int bus,
unsigned int addr);
#endif
+#else /* __SMM__ */
+#include <arch/io.h>
+#endif /* __SMM__ */
#endif /* DEVICE_H */
diff --git a/src/include/device/pci.h b/src/include/device/pci.h
index 132c48c9d3..1f47dafeca 100644
--- a/src/include/device/pci.h
+++ b/src/include/device/pci.h
@@ -20,7 +20,7 @@
#include <device/pci_def.h>
#include <device/resource.h>
#include <device/device.h>
-#ifndef __PRE_RAM__
+#if !defined(__PRE_RAM__) && !defined(__SMM__)
#include <device/pci_ops.h>
#include <device/pci_rom.h>
diff --git a/src/include/device/pci_ops.h b/src/include/device/pci_ops.h
index 2efbf9da49..20fbb9921f 100644
--- a/src/include/device/pci_ops.h
+++ b/src/include/device/pci_ops.h
@@ -1,6 +1,7 @@
#ifndef PCI_OPS_H
#define PCI_OPS_H
+#ifndef __SMM__
#include <stdint.h>
#include <device/device.h>
#include <arch/pci_ops.h>
@@ -20,5 +21,6 @@ void pci_mmio_write_config8(device_t dev, unsigned int where, u8 val);
void pci_mmio_write_config16(device_t dev, unsigned int where, u16 val);
void pci_mmio_write_config32(device_t dev, unsigned int where, u32 val);
#endif
+#endif
#endif /* PCI_OPS_H */
diff --git a/src/include/device/pnp.h b/src/include/device/pnp.h
index 7eb2ac5a09..f97b05dad0 100644
--- a/src/include/device/pnp.h
+++ b/src/include/device/pnp.h
@@ -5,6 +5,7 @@
#include <device/device.h>
#include <device/pnp_def.h>
+#if !defined(__PRE_RAM__) && !defined(__SMM__)
/* Primitive PNP resource manipulation */
void pnp_write_config(device_t dev, u8 reg, u8 value);
u8 pnp_read_config(device_t dev, u8 reg);
@@ -50,4 +51,5 @@ struct resource *pnp_get_resource(device_t dev, unsigned index);
void pnp_enable_devices(struct device *dev, struct device_operations *ops,
unsigned int functions, struct pnp_info *info);
+#endif
#endif /* DEVICE_PNP_H */
diff --git a/src/include/lib.h b/src/include/lib.h
index 9d8108532c..40c76f2db0 100644
--- a/src/include/lib.h
+++ b/src/include/lib.h
@@ -24,7 +24,7 @@
#include <stdint.h>
#ifndef __ROMCC__ /* romcc doesn't support prototypes. */
-#ifndef __PRE_RAM__ /* Conflicts with romcc_io.h */
+#ifndef __PRE_RAM__ /* Conflicts with inline function in arch/io.h */
/* Defined in src/lib/clog2.c */
unsigned long log2(unsigned long x);
#endif