aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/Kconfig3
-rw-r--r--arch/arm/mach-exynos/Kconfig1
-rw-r--r--arch/arm/mach-sti/Kconfig1
-rw-r--r--arch/arm/mach-ux500/Kconfig1
-rw-r--r--arch/h8300/Kconfig1
-rw-r--r--arch/h8300/include/asm/io.h39
-rw-r--r--arch/h8300/kernel/setup.c8
7 files changed, 34 insertions, 20 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 34e1569a11ee..688dc7b0d951 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -611,6 +611,7 @@ config ARCH_PXA
611 select AUTO_ZRELADDR 611 select AUTO_ZRELADDR
612 select COMMON_CLK 612 select COMMON_CLK
613 select CLKDEV_LOOKUP 613 select CLKDEV_LOOKUP
614 select CLKSRC_PXA
614 select CLKSRC_MMIO 615 select CLKSRC_MMIO
615 select CLKSRC_OF 616 select CLKSRC_OF
616 select GENERIC_CLOCKEVENTS 617 select GENERIC_CLOCKEVENTS
@@ -650,6 +651,8 @@ config ARCH_SA1100
650 select ARCH_SPARSEMEM_ENABLE 651 select ARCH_SPARSEMEM_ENABLE
651 select CLKDEV_LOOKUP 652 select CLKDEV_LOOKUP
652 select CLKSRC_MMIO 653 select CLKSRC_MMIO
654 select CLKSRC_PXA
655 select CLKSRC_OF if OF
653 select CPU_FREQ 656 select CPU_FREQ
654 select CPU_SA1100 657 select CPU_SA1100
655 select GENERIC_CLOCKEVENTS 658 select GENERIC_CLOCKEVENTS
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 3a10f1a8317a..ff105399aae4 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -27,6 +27,7 @@ menuconfig ARCH_EXYNOS
27 select SRAM 27 select SRAM
28 select THERMAL 28 select THERMAL
29 select MFD_SYSCON 29 select MFD_SYSCON
30 select CLKSRC_EXYNOS_MCT
30 help 31 help
31 Support for SAMSUNG EXYNOS SoCs (EXYNOS4/5) 32 Support for SAMSUNG EXYNOS SoCs (EXYNOS4/5)
32 33
diff --git a/arch/arm/mach-sti/Kconfig b/arch/arm/mach-sti/Kconfig
index 125865daaf17..12dd1dc0a041 100644
--- a/arch/arm/mach-sti/Kconfig
+++ b/arch/arm/mach-sti/Kconfig
@@ -3,6 +3,7 @@ menuconfig ARCH_STI
3 select ARM_GIC 3 select ARM_GIC
4 select ST_IRQCHIP 4 select ST_IRQCHIP
5 select ARM_GLOBAL_TIMER 5 select ARM_GLOBAL_TIMER
6 select CLKSRC_ST_LPC
6 select PINCTRL 7 select PINCTRL
7 select PINCTRL_ST 8 select PINCTRL_ST
8 select MFD_SYSCON 9 select MFD_SYSCON
diff --git a/arch/arm/mach-ux500/Kconfig b/arch/arm/mach-ux500/Kconfig
index c9ac19b24e5a..5eacdd61e61c 100644
--- a/arch/arm/mach-ux500/Kconfig
+++ b/arch/arm/mach-ux500/Kconfig
@@ -32,6 +32,7 @@ config UX500_SOC_DB8500
32 select PINCTRL_AB8540 32 select PINCTRL_AB8540
33 select REGULATOR 33 select REGULATOR
34 select REGULATOR_DB8500_PRCMU 34 select REGULATOR_DB8500_PRCMU
35 select CLKSRC_DBX500_PRCMU
35 select PM_GENERIC_DOMAINS if PM 36 select PM_GENERIC_DOMAINS if PM
36 37
37config MACH_MOP500 38config MACH_MOP500
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig
index dd3ac75776ad..2e20333cbce9 100644
--- a/arch/h8300/Kconfig
+++ b/arch/h8300/Kconfig
@@ -17,6 +17,7 @@ config H8300
17 select HAVE_MEMBLOCK 17 select HAVE_MEMBLOCK
18 select HAVE_DMA_ATTRS 18 select HAVE_DMA_ATTRS
19 select CLKSRC_OF 19 select CLKSRC_OF
20 select H8300_TMR8
20 21
21config RWSEM_GENERIC_SPINLOCK 22config RWSEM_GENERIC_SPINLOCK
22 def_bool y 23 def_bool y
diff --git a/arch/h8300/include/asm/io.h b/arch/h8300/include/asm/io.h
index bb837cded268..f0e14f3a800d 100644
--- a/arch/h8300/include/asm/io.h
+++ b/arch/h8300/include/asm/io.h
@@ -3,40 +3,45 @@
3 3
4#ifdef __KERNEL__ 4#ifdef __KERNEL__
5 5
6#include <asm-generic/io.h>
7
8/* H8/300 internal I/O functions */ 6/* H8/300 internal I/O functions */
9static inline unsigned char ctrl_inb(unsigned long addr) 7
8#define __raw_readb __raw_readb
9static inline u8 __raw_readb(const volatile void __iomem *addr)
10{ 10{
11 return *(volatile unsigned char *)addr; 11 return *(volatile u8 *)addr;
12} 12}
13 13
14static inline unsigned short ctrl_inw(unsigned long addr) 14#define __raw_readw __raw_readw
15static inline u16 __raw_readw(const volatile void __iomem *addr)
15{ 16{
16 return *(volatile unsigned short *)addr; 17 return *(volatile u16 *)addr;
17} 18}
18 19
19static inline unsigned long ctrl_inl(unsigned long addr) 20#define __raw_readl __raw_readl
21static inline u32 __raw_readl(const volatile void __iomem *addr)
20{ 22{
21 return *(volatile unsigned long *)addr; 23 return *(volatile u32 *)addr;
22} 24}
23 25
24static inline void ctrl_outb(unsigned char b, unsigned long addr) 26#define __raw_writeb __raw_writeb
27static inline void __raw_writeb(u8 b, const volatile void __iomem *addr)
25{ 28{
26 *(volatile unsigned char *)addr = b; 29 *(volatile u8 *)addr = b;
27} 30}
28 31
29static inline void ctrl_outw(unsigned short b, unsigned long addr) 32#define __raw_writew __raw_writew
33static inline void __raw_writew(u16 b, const volatile void __iomem *addr)
30{ 34{
31 *(volatile unsigned short *)addr = b; 35 *(volatile u16 *)addr = b;
32} 36}
33 37
34static inline void ctrl_outl(unsigned long b, unsigned long addr) 38#define __raw_writel __raw_writel
39static inline void __raw_writel(u32 b, const volatile void __iomem *addr)
35{ 40{
36 *(volatile unsigned long *)addr = b; 41 *(volatile u32 *)addr = b;
37} 42}
38 43
39static inline void ctrl_bclr(int b, unsigned char *addr) 44static inline void ctrl_bclr(int b, void __iomem *addr)
40{ 45{
41 if (__builtin_constant_p(b)) 46 if (__builtin_constant_p(b))
42 __asm__("bclr %1,%0" : "+WU"(*addr): "i"(b)); 47 __asm__("bclr %1,%0" : "+WU"(*addr): "i"(b));
@@ -44,7 +49,7 @@ static inline void ctrl_bclr(int b, unsigned char *addr)
44 __asm__("bclr %w1,%0" : "+WU"(*addr): "r"(b)); 49 __asm__("bclr %w1,%0" : "+WU"(*addr): "r"(b));
45} 50}
46 51
47static inline void ctrl_bset(int b, unsigned char *addr) 52static inline void ctrl_bset(int b, void __iomem *addr)
48{ 53{
49 if (__builtin_constant_p(b)) 54 if (__builtin_constant_p(b))
50 __asm__("bset %1,%0" : "+WU"(*addr): "i"(b)); 55 __asm__("bset %1,%0" : "+WU"(*addr): "i"(b));
@@ -52,6 +57,8 @@ static inline void ctrl_bset(int b, unsigned char *addr)
52 __asm__("bset %w1,%0" : "+WU"(*addr): "r"(b)); 57 __asm__("bset %w1,%0" : "+WU"(*addr): "r"(b));
53} 58}
54 59
60#include <asm-generic/io.h>
61
55#endif /* __KERNEL__ */ 62#endif /* __KERNEL__ */
56 63
57#endif /* _H8300_IO_H */ 64#endif /* _H8300_IO_H */
diff --git a/arch/h8300/kernel/setup.c b/arch/h8300/kernel/setup.c
index c772abe6d19c..e4985dfa91dc 100644
--- a/arch/h8300/kernel/setup.c
+++ b/arch/h8300/kernel/setup.c
@@ -207,14 +207,14 @@ device_initcall(device_probe);
207#define get_wait(base, addr) ({ \ 207#define get_wait(base, addr) ({ \
208 int baddr; \ 208 int baddr; \
209 baddr = ((addr) / 0x200000 * 2); \ 209 baddr = ((addr) / 0x200000 * 2); \
210 w *= (ctrl_inw((unsigned long)(base) + 2) & (3 << baddr)) + 1; \ 210 w *= (readw((base) + 2) & (3 << baddr)) + 1; \
211 }) 211 })
212#endif 212#endif
213#if defined(CONFIG_CPU_H8S) 213#if defined(CONFIG_CPU_H8S)
214#define get_wait(base, addr) ({ \ 214#define get_wait(base, addr) ({ \
215 int baddr; \ 215 int baddr; \
216 baddr = ((addr) / 0x200000 * 16); \ 216 baddr = ((addr) / 0x200000 * 16); \
217 w *= (ctrl_inl((unsigned long)(base) + 2) & (7 << baddr)) + 1; \ 217 w *= (readl((base) + 2) & (7 << baddr)) + 1; \
218 }) 218 })
219#endif 219#endif
220 220
@@ -228,8 +228,8 @@ static __init int access_timing(void)
228 228
229 bsc = of_find_compatible_node(NULL, NULL, "renesas,h8300-bsc"); 229 bsc = of_find_compatible_node(NULL, NULL, "renesas,h8300-bsc");
230 base = of_iomap(bsc, 0); 230 base = of_iomap(bsc, 0);
231 w = (ctrl_inb((unsigned long)base + 0) & bit)?2:1; 231 w = (readb(base + 0) & bit)?2:1;
232 if (ctrl_inb((unsigned long)base + 1) & bit) 232 if (readb(base + 1) & bit)
233 w *= get_wait(base, addr); 233 w *= get_wait(base, addr);
234 else 234 else
235 w *= 2; 235 w *= 2;