diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2012-11-17 19:24:23 +0100 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2012-11-17 19:38:27 +0100 |
commit | 379df2793efdca18e91cb8570f844ad1f83eb609 (patch) | |
tree | 6f61e172528c1fdade27517301787e4c0b174243 /arch/arm/mach-integrator/common.h | |
parent | ARM: integrator: delete static UART1 mapping (diff) | |
download | linux-379df2793efdca18e91cb8570f844ad1f83eb609.tar.xz linux-379df2793efdca18e91cb8570f844ad1f83eb609.zip |
ARM: integrator: push down SC dependencies
This pushes the dependencies on the Integrator/AP system
controller (SC) down into the PCI V3 driver and the
AP-specific board file.
First, the platform data for the PL010 UART is moved into
the integrator_ap.c board file, and the Integrator/CP is
assigned with NULL pdata. This way the callback functions
can reference the dynamically remapped AP syscon address
in both the ATAG and DT boot path, and this remapping
is localized to the board file.
Second the PCIv3 driver is making its own dynamic remapping
of the SC for the few registers it is using. When we
convert the PCIv3 driver over to using device tree having a
dynamically assigned base address will be useful, but we
will have to use the definition from <mach/platform.h> for
now, the only improvement is that it's done dynamically.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/arm/mach-integrator/common.h')
-rw-r--r-- | arch/arm/mach-integrator/common.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm/mach-integrator/common.h b/arch/arm/mach-integrator/common.h index fc9f47d289f4..79197d8b34aa 100644 --- a/arch/arm/mach-integrator/common.h +++ b/arch/arm/mach-integrator/common.h @@ -1,5 +1,10 @@ #include <linux/amba/serial.h> -extern struct amba_pl010_data integrator_uart_data; +#ifdef CONFIG_ARCH_INTEGRATOR_AP +extern struct amba_pl010_data ap_uart_data; +#else +/* Not used without Integrator/AP support anyway */ +struct amba_pl010_data ap_uart_data {}; +#endif void integrator_init_early(void); int integrator_init(bool is_cp); void integrator_reserve(void); |