Commit 2ad4f86b authored by Al Viro's avatar Al Viro Committed by Linus Torvalds

[PATCH] arm/versatile iomem annotations

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 775b048d
...@@ -52,8 +52,9 @@ ...@@ -52,8 +52,9 @@
* *
* Setup a VA for the Versatile Vectored Interrupt Controller. * Setup a VA for the Versatile Vectored Interrupt Controller.
*/ */
#define VA_VIC_BASE IO_ADDRESS(VERSATILE_VIC_BASE) #define __io_address(n) __io(IO_ADDRESS(n))
#define VA_SIC_BASE IO_ADDRESS(VERSATILE_SIC_BASE) #define VA_VIC_BASE __io_address(VERSATILE_VIC_BASE)
#define VA_SIC_BASE __io_address(VERSATILE_SIC_BASE)
static void vic_mask_irq(unsigned int irq) static void vic_mask_irq(unsigned int irq)
{ {
...@@ -214,7 +215,7 @@ void __init versatile_map_io(void) ...@@ -214,7 +215,7 @@ void __init versatile_map_io(void)
iotable_init(versatile_io_desc, ARRAY_SIZE(versatile_io_desc)); iotable_init(versatile_io_desc, ARRAY_SIZE(versatile_io_desc));
} }
#define VERSATILE_REFCOUNTER (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_24MHz_OFFSET) #define VERSATILE_REFCOUNTER (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_24MHz_OFFSET)
/* /*
* This is the Versatile sched_clock implementation. This has * This is the Versatile sched_clock implementation. This has
...@@ -231,7 +232,7 @@ unsigned long long sched_clock(void) ...@@ -231,7 +232,7 @@ unsigned long long sched_clock(void)
} }
#define VERSATILE_FLASHCTRL (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_FLASH_OFFSET) #define VERSATILE_FLASHCTRL (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_FLASH_OFFSET)
static int versatile_flash_init(void) static int versatile_flash_init(void)
{ {
...@@ -309,7 +310,7 @@ static struct platform_device smc91x_device = { ...@@ -309,7 +310,7 @@ static struct platform_device smc91x_device = {
.resource = smc91x_resources, .resource = smc91x_resources,
}; };
#define VERSATILE_SYSMCI (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_MCI_OFFSET) #define VERSATILE_SYSMCI (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_MCI_OFFSET)
unsigned int mmc_status(struct device *dev) unsigned int mmc_status(struct device *dev)
{ {
...@@ -343,11 +344,11 @@ static const struct icst307_params versatile_oscvco_params = { ...@@ -343,11 +344,11 @@ static const struct icst307_params versatile_oscvco_params = {
static void versatile_oscvco_set(struct clk *clk, struct icst307_vco vco) static void versatile_oscvco_set(struct clk *clk, struct icst307_vco vco)
{ {
unsigned long sys_lock = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_LOCK_OFFSET; void __iomem *sys_lock = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_LOCK_OFFSET;
#if defined(CONFIG_ARCH_VERSATILE_PB) #if defined(CONFIG_ARCH_VERSATILE_PB)
unsigned long sys_osc = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC4_OFFSET; void __iomem *sys_osc = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC4_OFFSET;
#elif defined(CONFIG_MACH_VERSATILE_AB) #elif defined(CONFIG_MACH_VERSATILE_AB)
unsigned long sys_osc = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC1_OFFSET; void __iomem *sys_osc = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC1_OFFSET;
#endif #endif
u32 val; u32 val;
...@@ -483,7 +484,7 @@ static struct clcd_panel epson_2_2_in = { ...@@ -483,7 +484,7 @@ static struct clcd_panel epson_2_2_in = {
*/ */
static struct clcd_panel *versatile_clcd_panel(void) static struct clcd_panel *versatile_clcd_panel(void)
{ {
unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET; void __iomem *sys_clcd = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
struct clcd_panel *panel = &vga; struct clcd_panel *panel = &vga;
u32 val; u32 val;
...@@ -510,7 +511,7 @@ static struct clcd_panel *versatile_clcd_panel(void) ...@@ -510,7 +511,7 @@ static struct clcd_panel *versatile_clcd_panel(void)
*/ */
static void versatile_clcd_disable(struct clcd_fb *fb) static void versatile_clcd_disable(struct clcd_fb *fb)
{ {
unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET; void __iomem *sys_clcd = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
u32 val; u32 val;
val = readl(sys_clcd); val = readl(sys_clcd);
...@@ -522,7 +523,7 @@ static void versatile_clcd_disable(struct clcd_fb *fb) ...@@ -522,7 +523,7 @@ static void versatile_clcd_disable(struct clcd_fb *fb)
* If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light off * If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light off
*/ */
if (fb->panel == &sanyo_2_5_in) { if (fb->panel == &sanyo_2_5_in) {
unsigned long versatile_ib2_ctrl = IO_ADDRESS(VERSATILE_IB2_CTRL); void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL);
unsigned long ctrl; unsigned long ctrl;
ctrl = readl(versatile_ib2_ctrl); ctrl = readl(versatile_ib2_ctrl);
...@@ -537,7 +538,7 @@ static void versatile_clcd_disable(struct clcd_fb *fb) ...@@ -537,7 +538,7 @@ static void versatile_clcd_disable(struct clcd_fb *fb)
*/ */
static void versatile_clcd_enable(struct clcd_fb *fb) static void versatile_clcd_enable(struct clcd_fb *fb)
{ {
unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET; void __iomem *sys_clcd = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
u32 val; u32 val;
val = readl(sys_clcd); val = readl(sys_clcd);
...@@ -571,7 +572,7 @@ static void versatile_clcd_enable(struct clcd_fb *fb) ...@@ -571,7 +572,7 @@ static void versatile_clcd_enable(struct clcd_fb *fb)
* If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light on * If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light on
*/ */
if (fb->panel == &sanyo_2_5_in) { if (fb->panel == &sanyo_2_5_in) {
unsigned long versatile_ib2_ctrl = IO_ADDRESS(VERSATILE_IB2_CTRL); void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL);
unsigned long ctrl; unsigned long ctrl;
ctrl = readl(versatile_ib2_ctrl); ctrl = readl(versatile_ib2_ctrl);
...@@ -720,7 +721,7 @@ static struct amba_device *amba_devs[] __initdata = { ...@@ -720,7 +721,7 @@ static struct amba_device *amba_devs[] __initdata = {
}; };
#ifdef CONFIG_LEDS #ifdef CONFIG_LEDS
#define VA_LEDS_BASE (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_LED_OFFSET) #define VA_LEDS_BASE (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_LED_OFFSET)
static void versatile_leds_event(led_event_t ledevt) static void versatile_leds_event(led_event_t ledevt)
{ {
...@@ -778,11 +779,11 @@ void __init versatile_init(void) ...@@ -778,11 +779,11 @@ void __init versatile_init(void)
/* /*
* Where is the timer (VA)? * Where is the timer (VA)?
*/ */
#define TIMER0_VA_BASE IO_ADDRESS(VERSATILE_TIMER0_1_BASE) #define TIMER0_VA_BASE __io_address(VERSATILE_TIMER0_1_BASE)
#define TIMER1_VA_BASE (IO_ADDRESS(VERSATILE_TIMER0_1_BASE) + 0x20) #define TIMER1_VA_BASE (__io_address(VERSATILE_TIMER0_1_BASE) + 0x20)
#define TIMER2_VA_BASE IO_ADDRESS(VERSATILE_TIMER2_3_BASE) #define TIMER2_VA_BASE __io_address(VERSATILE_TIMER2_3_BASE)
#define TIMER3_VA_BASE (IO_ADDRESS(VERSATILE_TIMER2_3_BASE) + 0x20) #define TIMER3_VA_BASE (__io_address(VERSATILE_TIMER2_3_BASE) + 0x20)
#define VA_IC_BASE IO_ADDRESS(VERSATILE_VIC_BASE) #define VA_IC_BASE __io_address(VERSATILE_VIC_BASE)
/* /*
* How long is the timer interval? * How long is the timer interval?
...@@ -877,12 +878,12 @@ static void __init versatile_timer_init(void) ...@@ -877,12 +878,12 @@ static void __init versatile_timer_init(void)
* VERSATILE_REFCLK is 32KHz * VERSATILE_REFCLK is 32KHz
* VERSATILE_TIMCLK is 1MHz * VERSATILE_TIMCLK is 1MHz
*/ */
val = readl(IO_ADDRESS(VERSATILE_SCTL_BASE)); val = readl(__io_address(VERSATILE_SCTL_BASE));
writel((VERSATILE_TIMCLK << VERSATILE_TIMER1_EnSel) | writel((VERSATILE_TIMCLK << VERSATILE_TIMER1_EnSel) |
(VERSATILE_TIMCLK << VERSATILE_TIMER2_EnSel) | (VERSATILE_TIMCLK << VERSATILE_TIMER2_EnSel) |
(VERSATILE_TIMCLK << VERSATILE_TIMER3_EnSel) | (VERSATILE_TIMCLK << VERSATILE_TIMER3_EnSel) |
(VERSATILE_TIMCLK << VERSATILE_TIMER4_EnSel) | val, (VERSATILE_TIMCLK << VERSATILE_TIMER4_EnSel) | val,
IO_ADDRESS(VERSATILE_SCTL_BASE)); __io_address(VERSATILE_SCTL_BASE));
/* /*
* Initialise to a known state (all timers off) * Initialise to a known state (all timers off)
......
...@@ -22,7 +22,11 @@ ...@@ -22,7 +22,11 @@
#define IO_SPACE_LIMIT 0xffffffff #define IO_SPACE_LIMIT 0xffffffff
#define __io(a) ((void __iomem *)(a)) static inline void __iomem *__io(unsigned long addr)
{
return (void __iomem *)addr;
}
#define __io(a) __io(a)
#define __mem_pci(a) (a) #define __mem_pci(a) (a)
#define __mem_isa(a) (a) #define __mem_isa(a) (a)
......
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