diff options
author | Paul Mundt <lethal@linux-sh.org> | 2010-06-02 03:32:12 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-06-02 03:32:12 -0400 |
commit | 019e2574f965b800ba76f319d817eae9405ae064 (patch) | |
tree | fbcf7ade183a8dd4a6c55a2596cf5cf47bbb76d4 /arch/sh/include | |
parent | 4705b2e8047221142af2ed5e37f54ac4c7f80a7d (diff) | |
parent | 861160bfd097de7dbf3195bbef210e4f787327ab (diff) |
Merge branch 'sh/iomap'
Diffstat (limited to 'arch/sh/include')
-rw-r--r-- | arch/sh/include/asm/io.h | 8 | ||||
-rw-r--r-- | arch/sh/include/asm/machvec.h | 9 |
2 files changed, 13 insertions, 4 deletions
diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h index f689554e17c1..b237d525d592 100644 --- a/arch/sh/include/asm/io.h +++ b/arch/sh/include/asm/io.h | |||
@@ -39,6 +39,8 @@ | |||
39 | #include <asm/io_generic.h> | 39 | #include <asm/io_generic.h> |
40 | #include <asm/io_trapped.h> | 40 | #include <asm/io_trapped.h> |
41 | 41 | ||
42 | #ifdef CONFIG_HAS_IOPORT | ||
43 | |||
42 | #define inb(p) sh_mv.mv_inb((p)) | 44 | #define inb(p) sh_mv.mv_inb((p)) |
43 | #define inw(p) sh_mv.mv_inw((p)) | 45 | #define inw(p) sh_mv.mv_inw((p)) |
44 | #define inl(p) sh_mv.mv_inl((p)) | 46 | #define inl(p) sh_mv.mv_inl((p)) |
@@ -60,6 +62,8 @@ | |||
60 | #define outsw(p,b,c) sh_mv.mv_outsw((p), (b), (c)) | 62 | #define outsw(p,b,c) sh_mv.mv_outsw((p), (b), (c)) |
61 | #define outsl(p,b,c) sh_mv.mv_outsl((p), (b), (c)) | 63 | #define outsl(p,b,c) sh_mv.mv_outsl((p), (b), (c)) |
62 | 64 | ||
65 | #endif | ||
66 | |||
63 | #define __raw_writeb(v,a) (__chk_io_ptr(a), *(volatile u8 __force *)(a) = (v)) | 67 | #define __raw_writeb(v,a) (__chk_io_ptr(a), *(volatile u8 __force *)(a) = (v)) |
64 | #define __raw_writew(v,a) (__chk_io_ptr(a), *(volatile u16 __force *)(a) = (v)) | 68 | #define __raw_writew(v,a) (__chk_io_ptr(a), *(volatile u16 __force *)(a) = (v)) |
65 | #define __raw_writel(v,a) (__chk_io_ptr(a), *(volatile u32 __force *)(a) = (v)) | 69 | #define __raw_writel(v,a) (__chk_io_ptr(a), *(volatile u32 __force *)(a) = (v)) |
@@ -240,6 +244,8 @@ __BUILD_MEMORY_STRING(q, u64) | |||
240 | 244 | ||
241 | #define IO_SPACE_LIMIT 0xffffffff | 245 | #define IO_SPACE_LIMIT 0xffffffff |
242 | 246 | ||
247 | #ifdef CONFIG_HAS_IOPORT | ||
248 | |||
243 | /* | 249 | /* |
244 | * This function provides a method for the generic case where a | 250 | * This function provides a method for the generic case where a |
245 | * board-specific ioport_map simply needs to return the port + some | 251 | * board-specific ioport_map simply needs to return the port + some |
@@ -255,6 +261,8 @@ static inline void __set_io_port_base(unsigned long pbase) | |||
255 | 261 | ||
256 | #define __ioport_map(p, n) sh_mv.mv_ioport_map((p), (n)) | 262 | #define __ioport_map(p, n) sh_mv.mv_ioport_map((p), (n)) |
257 | 263 | ||
264 | #endif | ||
265 | |||
258 | /* We really want to try and get these to memcpy etc */ | 266 | /* We really want to try and get these to memcpy etc */ |
259 | void memcpy_fromio(void *, const volatile void __iomem *, unsigned long); | 267 | void memcpy_fromio(void *, const volatile void __iomem *, unsigned long); |
260 | void memcpy_toio(volatile void __iomem *, const void *, unsigned long); | 268 | void memcpy_toio(volatile void __iomem *, const void *, unsigned long); |
diff --git a/arch/sh/include/asm/machvec.h b/arch/sh/include/asm/machvec.h index bc0218cb72e1..a0b0cf79cf8a 100644 --- a/arch/sh/include/asm/machvec.h +++ b/arch/sh/include/asm/machvec.h | |||
@@ -19,6 +19,10 @@ struct sh_machine_vector { | |||
19 | const char *mv_name; | 19 | const char *mv_name; |
20 | int mv_nr_irqs; | 20 | int mv_nr_irqs; |
21 | 21 | ||
22 | int (*mv_irq_demux)(int irq); | ||
23 | void (*mv_init_irq)(void); | ||
24 | |||
25 | #ifdef CONFIG_HAS_IOPORT | ||
22 | u8 (*mv_inb)(unsigned long); | 26 | u8 (*mv_inb)(unsigned long); |
23 | u16 (*mv_inw)(unsigned long); | 27 | u16 (*mv_inw)(unsigned long); |
24 | u32 (*mv_inl)(unsigned long); | 28 | u32 (*mv_inl)(unsigned long); |
@@ -40,12 +44,9 @@ struct sh_machine_vector { | |||
40 | void (*mv_outsw)(unsigned long, const void *src, unsigned long count); | 44 | void (*mv_outsw)(unsigned long, const void *src, unsigned long count); |
41 | void (*mv_outsl)(unsigned long, const void *src, unsigned long count); | 45 | void (*mv_outsl)(unsigned long, const void *src, unsigned long count); |
42 | 46 | ||
43 | int (*mv_irq_demux)(int irq); | ||
44 | |||
45 | void (*mv_init_irq)(void); | ||
46 | |||
47 | void __iomem *(*mv_ioport_map)(unsigned long port, unsigned int size); | 47 | void __iomem *(*mv_ioport_map)(unsigned long port, unsigned int size); |
48 | void (*mv_ioport_unmap)(void __iomem *); | 48 | void (*mv_ioport_unmap)(void __iomem *); |
49 | #endif | ||
49 | 50 | ||
50 | int (*mv_clk_init)(void); | 51 | int (*mv_clk_init)(void); |
51 | int (*mv_mode_pins)(void); | 52 | int (*mv_mode_pins)(void); |