diff options
author | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2006-10-24 04:12:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-25 23:26:33 -0400 |
commit | 452976b29864f9adcdd6d4ea81001aa5483592c2 (patch) | |
tree | d1e8843144929c658a8d74342d0c2a5dd3e0d504 /arch/avr32/mach-at32ap | |
parent | d68041cc9fde550fe6b6a6de1d7a110daff3cb60 (diff) |
[PATCH] AVR32: Use __raw MMIO access for internal peripherals
The read[bwl] and write[bwl] functions are meant for accessing PCI
devices. How this is achieved on AVR32 is unknown, as there are no
systems with a PCI bridge available yet.
On-chip peripheral access, however, should not depend on how we end
up implementing PCI access, so using __raw_read[bwl]/__raw_write[bwl]
is the right thing to do for on-chip peripherals. This patch converts
the drivers for the static memory controller, interrupt controller,
PIO controller and system manager to use __raw MMIO access.
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/avr32/mach-at32ap')
-rw-r--r-- | arch/avr32/mach-at32ap/hsmc.h | 4 | ||||
-rw-r--r-- | arch/avr32/mach-at32ap/intc.h | 6 | ||||
-rw-r--r-- | arch/avr32/mach-at32ap/pio.h | 6 | ||||
-rw-r--r-- | arch/avr32/mach-at32ap/sm.h | 6 |
4 files changed, 14 insertions, 8 deletions
diff --git a/arch/avr32/mach-at32ap/hsmc.h b/arch/avr32/mach-at32ap/hsmc.h index 5681276fafdb..d1d48e26e393 100644 --- a/arch/avr32/mach-at32ap/hsmc.h +++ b/arch/avr32/mach-at32ap/hsmc.h | |||
@@ -120,8 +120,8 @@ | |||
120 | 120 | ||
121 | /* Register access macros */ | 121 | /* Register access macros */ |
122 | #define hsmc_readl(port,reg) \ | 122 | #define hsmc_readl(port,reg) \ |
123 | readl((port)->regs + HSMC_##reg) | 123 | __raw_readl((port)->regs + HSMC_##reg) |
124 | #define hsmc_writel(port,reg,value) \ | 124 | #define hsmc_writel(port,reg,value) \ |
125 | writel((value), (port)->regs + HSMC_##reg) | 125 | __raw_writel((value), (port)->regs + HSMC_##reg) |
126 | 126 | ||
127 | #endif /* __ASM_AVR32_HSMC_H__ */ | 127 | #endif /* __ASM_AVR32_HSMC_H__ */ |
diff --git a/arch/avr32/mach-at32ap/intc.h b/arch/avr32/mach-at32ap/intc.h index d289ca2fff13..4d3664e43a8e 100644 --- a/arch/avr32/mach-at32ap/intc.h +++ b/arch/avr32/mach-at32ap/intc.h | |||
@@ -321,7 +321,9 @@ | |||
321 | #define INTC_MKBF(name, value) (((value) & ((1 << INTC_##name##_SIZE) - 1)) << INTC_##name##_OFFSET) | 321 | #define INTC_MKBF(name, value) (((value) & ((1 << INTC_##name##_SIZE) - 1)) << INTC_##name##_OFFSET) |
322 | #define INTC_GETBF(name, value) (((value) >> INTC_##name##_OFFSET) & ((1 << INTC_##name##_SIZE) - 1)) | 322 | #define INTC_GETBF(name, value) (((value) >> INTC_##name##_OFFSET) & ((1 << INTC_##name##_SIZE) - 1)) |
323 | 323 | ||
324 | #define intc_readl(port,reg) readl((port)->regs + INTC_##reg) | 324 | #define intc_readl(port,reg) \ |
325 | #define intc_writel(port,reg,value) writel((value), (port)->regs + INTC_##reg) | 325 | __raw_readl((port)->regs + INTC_##reg) |
326 | #define intc_writel(port,reg,value) \ | ||
327 | __raw_writel((value), (port)->regs + INTC_##reg) | ||
326 | 328 | ||
327 | #endif /* __ASM_AVR32_PERIHP_INTC_H__ */ | 329 | #endif /* __ASM_AVR32_PERIHP_INTC_H__ */ |
diff --git a/arch/avr32/mach-at32ap/pio.h b/arch/avr32/mach-at32ap/pio.h index cfea12351599..50fa3aca32c5 100644 --- a/arch/avr32/mach-at32ap/pio.h +++ b/arch/avr32/mach-at32ap/pio.h | |||
@@ -170,8 +170,10 @@ | |||
170 | #define PIO_BFINS(name,value,old) (((old) & ~(((1 << PIO_##name##_SIZE) - 1) << PIO_##name##_OFFSET)) | PIO_BF(name,value)) | 170 | #define PIO_BFINS(name,value,old) (((old) & ~(((1 << PIO_##name##_SIZE) - 1) << PIO_##name##_OFFSET)) | PIO_BF(name,value)) |
171 | 171 | ||
172 | /* Register access macros */ | 172 | /* Register access macros */ |
173 | #define pio_readl(port,reg) readl((port)->regs + PIO_##reg) | 173 | #define pio_readl(port,reg) \ |
174 | #define pio_writel(port,reg,value) writel((value), (port)->regs + PIO_##reg) | 174 | __raw_readl((port)->regs + PIO_##reg) |
175 | #define pio_writel(port,reg,value) \ | ||
176 | __raw_writel((value), (port)->regs + PIO_##reg) | ||
175 | 177 | ||
176 | void at32_init_pio(struct platform_device *pdev); | 178 | void at32_init_pio(struct platform_device *pdev); |
177 | 179 | ||
diff --git a/arch/avr32/mach-at32ap/sm.h b/arch/avr32/mach-at32ap/sm.h index 27565822ae2a..cad02b512bcb 100644 --- a/arch/avr32/mach-at32ap/sm.h +++ b/arch/avr32/mach-at32ap/sm.h | |||
@@ -234,7 +234,9 @@ | |||
234 | #define SM_BFINS(name,value,old) (((old) & ~(((1 << SM_##name##_SIZE) - 1) << SM_##name##_OFFSET)) | SM_BF(name,value)) | 234 | #define SM_BFINS(name,value,old) (((old) & ~(((1 << SM_##name##_SIZE) - 1) << SM_##name##_OFFSET)) | SM_BF(name,value)) |
235 | 235 | ||
236 | /* Register access macros */ | 236 | /* Register access macros */ |
237 | #define sm_readl(port,reg) readl((port)->regs + SM_##reg) | 237 | #define sm_readl(port,reg) \ |
238 | #define sm_writel(port,reg,value) writel((value), (port)->regs + SM_##reg) | 238 | __raw_readl((port)->regs + SM_##reg) |
239 | #define sm_writel(port,reg,value) \ | ||
240 | __raw_writel((value), (port)->regs + SM_##reg) | ||
239 | 241 | ||
240 | #endif /* __ASM_AVR32_SM_H__ */ | 242 | #endif /* __ASM_AVR32_SM_H__ */ |