Commit b7a3f8db authored by Arnd Bergmann's avatar Arnd Bergmann

ARM: integrator: use __iomem pointers for MMIO

ARM is moving to stricter checks on readl/write functions,
so we need to use the correct types everywhere.

This patch has a few small conflicts with stuff in linux-next, which
we have to sort out in arm-soc.

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent f25d696a
...@@ -95,8 +95,8 @@ arch_initcall(integrator_init); ...@@ -95,8 +95,8 @@ arch_initcall(integrator_init);
* UART0 7 6 * UART0 7 6
* UART1 5 4 * UART1 5 4
*/ */
#define SC_CTRLC IO_ADDRESS(INTEGRATOR_SC_CTRLC) #define SC_CTRLC __io_address(INTEGRATOR_SC_CTRLC)
#define SC_CTRLS IO_ADDRESS(INTEGRATOR_SC_CTRLS) #define SC_CTRLS __io_address(INTEGRATOR_SC_CTRLS)
static void integrator_uart_set_mctrl(struct amba_device *dev, void __iomem *base, unsigned int mctrl) static void integrator_uart_set_mctrl(struct amba_device *dev, void __iomem *base, unsigned int mctrl)
{ {
......
...@@ -25,10 +25,10 @@ ...@@ -25,10 +25,10 @@
static struct cpufreq_driver integrator_driver; static struct cpufreq_driver integrator_driver;
#define CM_ID IO_ADDRESS(INTEGRATOR_HDR_ID) #define CM_ID __io_address(INTEGRATOR_HDR_ID)
#define CM_OSC IO_ADDRESS(INTEGRATOR_HDR_OSC) #define CM_OSC __io_address(INTEGRATOR_HDR_OSC)
#define CM_STAT IO_ADDRESS(INTEGRATOR_HDR_STAT) #define CM_STAT __io_address(INTEGRATOR_HDR_STAT)
#define CM_LOCK IO_ADDRESS(INTEGRATOR_HDR_LOCK) #define CM_LOCK __io_address(INTEGRATOR_HDR_LOCK)
static const struct icst_params lclk_params = { static const struct icst_params lclk_params = {
.ref = 24000000, .ref = 24000000,
......
...@@ -133,17 +133,17 @@ static struct map_desc ap_io_desc[] __initdata = { ...@@ -133,17 +133,17 @@ static struct map_desc ap_io_desc[] __initdata = {
.length = SZ_4K, .length = SZ_4K,
.type = MT_DEVICE .type = MT_DEVICE
}, { }, {
.virtual = PCI_MEMORY_VADDR, .virtual = (unsigned long)PCI_MEMORY_VADDR,
.pfn = __phys_to_pfn(PHYS_PCI_MEM_BASE), .pfn = __phys_to_pfn(PHYS_PCI_MEM_BASE),
.length = SZ_16M, .length = SZ_16M,
.type = MT_DEVICE .type = MT_DEVICE
}, { }, {
.virtual = PCI_CONFIG_VADDR, .virtual = (unsigned long)PCI_CONFIG_VADDR,
.pfn = __phys_to_pfn(PHYS_PCI_CONFIG_BASE), .pfn = __phys_to_pfn(PHYS_PCI_CONFIG_BASE),
.length = SZ_16M, .length = SZ_16M,
.type = MT_DEVICE .type = MT_DEVICE
}, { }, {
.virtual = PCI_V3_VADDR, .virtual = (unsigned long)PCI_V3_VADDR,
.pfn = __phys_to_pfn(PHYS_PCI_V3_BASE), .pfn = __phys_to_pfn(PHYS_PCI_V3_BASE),
.length = SZ_64K, .length = SZ_64K,
.type = MT_DEVICE .type = MT_DEVICE
...@@ -317,9 +317,9 @@ static void __init ap_init(void) ...@@ -317,9 +317,9 @@ static void __init ap_init(void)
/* /*
* Where is the timer (VA)? * Where is the timer (VA)?
*/ */
#define TIMER0_VA_BASE IO_ADDRESS(INTEGRATOR_TIMER0_BASE) #define TIMER0_VA_BASE __io_address(INTEGRATOR_TIMER0_BASE)
#define TIMER1_VA_BASE IO_ADDRESS(INTEGRATOR_TIMER1_BASE) #define TIMER1_VA_BASE __io_address(INTEGRATOR_TIMER1_BASE)
#define TIMER2_VA_BASE IO_ADDRESS(INTEGRATOR_TIMER2_BASE) #define TIMER2_VA_BASE __io_address(INTEGRATOR_TIMER2_BASE)
static unsigned long timer_reload; static unsigned long timer_reload;
......
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
#define INTCP_ETH_SIZE 0x10 #define INTCP_ETH_SIZE 0x10
#define INTCP_VA_CTRL_BASE IO_ADDRESS(INTEGRATOR_CP_CTL_BASE) #define INTCP_VA_CTRL_BASE __io_address(INTEGRATOR_CP_CTL_BASE)
#define INTCP_FLASHPROG 0x04 #define INTCP_FLASHPROG 0x04
#define CINTEGRATOR_FLASHPROG_FLVPPEN (1 << 0) #define CINTEGRATOR_FLASHPROG_FLVPPEN (1 << 0)
#define CINTEGRATOR_FLASHPROG_FLWREN (1 << 1) #define CINTEGRATOR_FLASHPROG_FLWREN (1 << 1)
...@@ -265,8 +265,8 @@ static struct platform_device *intcp_devs[] __initdata = { ...@@ -265,8 +265,8 @@ static struct platform_device *intcp_devs[] __initdata = {
*/ */
static unsigned int mmc_status(struct device *dev) static unsigned int mmc_status(struct device *dev)
{ {
unsigned int status = readl(IO_ADDRESS(0xca000000 + 4)); unsigned int status = readl(__io_address(0xca000000 + 4));
writel(8, IO_ADDRESS(INTEGRATOR_CP_CTL_BASE + 8)); writel(8, __io_address(INTEGRATOR_CP_CTL_BASE + 8));
return status & 8; return status & 8;
} }
......
...@@ -181,7 +181,7 @@ static DEFINE_RAW_SPINLOCK(v3_lock); ...@@ -181,7 +181,7 @@ static DEFINE_RAW_SPINLOCK(v3_lock);
#undef V3_LB_BASE_PREFETCH #undef V3_LB_BASE_PREFETCH
#define V3_LB_BASE_PREFETCH 0 #define V3_LB_BASE_PREFETCH 0
static unsigned long v3_open_config_window(struct pci_bus *bus, static void __iomem *v3_open_config_window(struct pci_bus *bus,
unsigned int devfn, int offset) unsigned int devfn, int offset)
{ {
unsigned int address, mapaddress, busnr; unsigned int address, mapaddress, busnr;
...@@ -280,7 +280,7 @@ static void v3_close_config_window(void) ...@@ -280,7 +280,7 @@ static void v3_close_config_window(void)
static int v3_read_config(struct pci_bus *bus, unsigned int devfn, int where, static int v3_read_config(struct pci_bus *bus, unsigned int devfn, int where,
int size, u32 *val) int size, u32 *val)
{ {
unsigned long addr; void __iomem *addr;
unsigned long flags; unsigned long flags;
u32 v; u32 v;
...@@ -311,7 +311,7 @@ static int v3_read_config(struct pci_bus *bus, unsigned int devfn, int where, ...@@ -311,7 +311,7 @@ static int v3_read_config(struct pci_bus *bus, unsigned int devfn, int where,
static int v3_write_config(struct pci_bus *bus, unsigned int devfn, int where, static int v3_write_config(struct pci_bus *bus, unsigned int devfn, int where,
int size, u32 val) int size, u32 val)
{ {
unsigned long addr; void __iomem *addr;
unsigned long flags; unsigned long flags;
raw_spin_lock_irqsave(&v3_lock, flags); raw_spin_lock_irqsave(&v3_lock, flags);
...@@ -391,9 +391,9 @@ static int __init pci_v3_setup_resources(struct pci_sys_data *sys) ...@@ -391,9 +391,9 @@ static int __init pci_v3_setup_resources(struct pci_sys_data *sys)
* means I can't get additional information on the reason for the pm2fb * means I can't get additional information on the reason for the pm2fb
* problems. I suppose I'll just have to mind-meld with the machine. ;) * problems. I suppose I'll just have to mind-meld with the machine. ;)
*/ */
#define SC_PCI IO_ADDRESS(INTEGRATOR_SC_PCIENABLE) #define SC_PCI __io_address(INTEGRATOR_SC_PCIENABLE)
#define SC_LBFADDR IO_ADDRESS(INTEGRATOR_SC_BASE + 0x20) #define SC_LBFADDR __io_address(INTEGRATOR_SC_BASE + 0x20)
#define SC_LBFCODE IO_ADDRESS(INTEGRATOR_SC_BASE + 0x24) #define SC_LBFCODE __io_address(INTEGRATOR_SC_BASE + 0x24)
static int static int
v3_pci_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) v3_pci_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment