diff options
author | Stefan Reinauer <reinauer@chromium.org> | 2013-03-21 11:51:41 -0700 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2013-03-22 00:00:09 +0100 |
commit | 24d1d4b47274eb82893e6726472a991a36fce0aa (patch) | |
tree | 57126316330f6f9d407f605fa831ce530650f069 /src/include | |
parent | 55ed3106556a9bcbe36d3389dc5230d4a4ee2a40 (diff) |
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.h | 4 | ||||
-rw-r--r-- | src/include/device/device.h | 4 | ||||
-rw-r--r-- | src/include/device/pci.h | 2 | ||||
-rw-r--r-- | src/include/device/pci_ops.h | 2 | ||||
-rw-r--r-- | src/include/device/pnp.h | 2 | ||||
-rw-r--r-- | src/include/lib.h | 2 |
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 |