diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/Kconfig | 3 | ||||
-rw-r--r-- | arch/arm/mach-exynos/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-sti/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-ux500/Kconfig | 1 | ||||
-rw-r--r-- | arch/h8300/Kconfig | 1 | ||||
-rw-r--r-- | arch/h8300/include/asm/io.h | 39 | ||||
-rw-r--r-- | arch/h8300/kernel/setup.c | 8 |
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 | ||
37 | config MACH_MOP500 | 38 | config 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 | ||
21 | config RWSEM_GENERIC_SPINLOCK | 22 | config 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 */ |
9 | static inline unsigned char ctrl_inb(unsigned long addr) | 7 | |
8 | #define __raw_readb __raw_readb | ||
9 | static 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 | ||
14 | static inline unsigned short ctrl_inw(unsigned long addr) | 14 | #define __raw_readw __raw_readw |
15 | static 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 | ||
19 | static inline unsigned long ctrl_inl(unsigned long addr) | 20 | #define __raw_readl __raw_readl |
21 | static 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 | ||
24 | static inline void ctrl_outb(unsigned char b, unsigned long addr) | 26 | #define __raw_writeb __raw_writeb |
27 | static 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 | ||
29 | static inline void ctrl_outw(unsigned short b, unsigned long addr) | 32 | #define __raw_writew __raw_writew |
33 | static 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 | ||
34 | static inline void ctrl_outl(unsigned long b, unsigned long addr) | 38 | #define __raw_writel __raw_writel |
39 | static 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 | ||
39 | static inline void ctrl_bclr(int b, unsigned char *addr) | 44 | static 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 | ||
47 | static inline void ctrl_bset(int b, unsigned char *addr) | 52 | static 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; |