diff options
author | Thierry Reding <treding@nvidia.com> | 2014-10-01 14:13:33 +0200 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2014-11-10 15:15:34 +0100 |
commit | 2cd0f55961d87da617adae717737d13cb9518e7f (patch) | |
tree | bcc7d9fec972bbeea346fdb94a535dcfeb6105e6 /arch/arm/mach-ebsa110/include | |
parent | bfb111ec255c82f2501d2898c5d26f39959c0111 (diff) | |
download | linux-2cd0f55961d87da617adae717737d13cb9518e7f.tar.gz linux-2cd0f55961d87da617adae717737d13cb9518e7f.tar.bz2 linux-2cd0f55961d87da617adae717737d13cb9518e7f.zip |
ARM: ebsa110: Properly override I/O accessors
In order to override accessors properly they must be #define'd so that
subsequent generic headers (the one for ARM and finally the architecture
independent one) can properly detect it.
While at it, make all accessors use volatile void __iomem * to avoid a
slew of build warnings.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'arch/arm/mach-ebsa110/include')
-rw-r--r-- | arch/arm/mach-ebsa110/include/mach/io.h | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/arch/arm/mach-ebsa110/include/mach/io.h b/arch/arm/mach-ebsa110/include/mach/io.h index 11bb0799424b..69975784acfa 100644 --- a/arch/arm/mach-ebsa110/include/mach/io.h +++ b/arch/arm/mach-ebsa110/include/mach/io.h @@ -29,9 +29,9 @@ u8 __readb(const volatile void __iomem *addr); u16 __readw(const volatile void __iomem *addr); u32 __readl(const volatile void __iomem *addr); -void __writeb(u8 val, void __iomem *addr); -void __writew(u16 val, void __iomem *addr); -void __writel(u32 val, void __iomem *addr); +void __writeb(u8 val, volatile void __iomem *addr); +void __writew(u16 val, volatile void __iomem *addr); +void __writel(u32 val, volatile void __iomem *addr); /* * Argh, someone forgot the IOCS16 line. We therefore have to handle @@ -62,20 +62,31 @@ void __writel(u32 val, void __iomem *addr); #define writew(v,b) __writew(v,b) #define writel(v,b) __writel(v,b) +#define insb insb extern void insb(unsigned int port, void *buf, int sz); +#define insw insw extern void insw(unsigned int port, void *buf, int sz); +#define insl insl extern void insl(unsigned int port, void *buf, int sz); +#define outsb outsb extern void outsb(unsigned int port, const void *buf, int sz); +#define outsw outsw extern void outsw(unsigned int port, const void *buf, int sz); +#define outsl outsl extern void outsl(unsigned int port, const void *buf, int sz); /* can't support writesb atm */ -extern void writesw(void __iomem *addr, const void *data, int wordlen); -extern void writesl(void __iomem *addr, const void *data, int longlen); +#define writesw writesw +extern void writesw(volatile void __iomem *addr, const void *data, int wordlen); +#define writesl writesl +extern void writesl(volatile void __iomem *addr, const void *data, int longlen); /* can't support readsb atm */ -extern void readsw(const void __iomem *addr, void *data, int wordlen); -extern void readsl(const void __iomem *addr, void *data, int longlen); +#define readsw readsw +extern void readsw(const volatile void __iomem *addr, void *data, int wordlen); + +#define readsl readsl +extern void readsl(const volatile void __iomem *addr, void *data, int longlen); #endif |