diff options
author | Arnd Bergmann <arnd@arndb.de> | 2014-03-21 13:32:54 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2014-03-21 20:10:19 -0400 |
commit | 600a1dfae24746ccd8b1617742ef7b98099f83b8 (patch) | |
tree | 67eeaa58816681ed37257499bbfce23dd8db5844 | |
parent | b44ce3b0f9c3883e7c537793b808feee9a2a00fb (diff) | |
parent | 9f3ba4567e8d11de89673afea174d206ca9446f6 (diff) |
Merge branch 'randconfig-fixes' into next/fixes-non-critical
This is the first batch of a much longer series of bug fixes
found during randconfig testing. This part are all the simple
patches that are applicable for the arm-soc tree, while most
other fixes will likely go through other maintainers.
* randconfig-fixes: (50 commits)
ARM: tegra: make debug_ll code build for ARMv6
ARM: sunxi: fix build for THUMB2_KERNEL
ARM: exynos: add missing include of linux/module.h
ARM: exynos: fix l2x0 saved regs handling
ARM: samsung: select CRC32 for SAMSUNG_PM_CHECK
ARM: samsung: select ATAGS where necessary
ARM: samsung: fix SAMSUNG_PM_DEBUG Kconfig logic
ARM: samsung: allow serial driver to be disabled
ARM: s5pv210: enable IDE support in MACH_TORBRECK
ARM: s5p64x0: fix building with only one soc type
ARM: s3c64xx: select power domains only when used
ARM: s3c64xx: MACH_SMDK6400 needs HSMMC1
ARM: s3c24xx: osiris dvs needs tps65010
ARM: s3c24xx: fix gta02 build error
ARM: s3c24xx: MINI2440 needs I2C for EEPROM_AT24
ARM: integrator: only select pl01x if TTY is enabled
ARM: realview: fix sparsemem build
ARM: footbridge: make screen_info setup conditional
ARM: footbridge: fix build with PCI disabled
ARM: footbridge: don't build floppy code for addin mode
...
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
53 files changed, 159 insertions, 91 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index e25419817791..3dad96105ce4 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -420,6 +420,7 @@ config ARCH_EFM32 | |||
420 | bool "Energy Micro efm32" | 420 | bool "Energy Micro efm32" |
421 | depends on !MMU | 421 | depends on !MMU |
422 | select ARCH_REQUIRE_GPIOLIB | 422 | select ARCH_REQUIRE_GPIOLIB |
423 | select AUTO_ZRELADDR | ||
423 | select ARM_NVIC | 424 | select ARM_NVIC |
424 | # CLKSRC_MMIO is wrong here, but needed until a proper fix is merged, | 425 | # CLKSRC_MMIO is wrong here, but needed until a proper fix is merged, |
425 | # i.e. CLKSRC_EFM32 selecting CLKSRC_MMIO | 426 | # i.e. CLKSRC_EFM32 selecting CLKSRC_MMIO |
@@ -697,6 +698,7 @@ config ARCH_RPC | |||
697 | select ARCH_MAY_HAVE_PC_FDC | 698 | select ARCH_MAY_HAVE_PC_FDC |
698 | select ARCH_SPARSEMEM_ENABLE | 699 | select ARCH_SPARSEMEM_ENABLE |
699 | select ARCH_USES_GETTIMEOFFSET | 700 | select ARCH_USES_GETTIMEOFFSET |
701 | select CPU_SA110 | ||
700 | select FIQ | 702 | select FIQ |
701 | select HAVE_IDE | 703 | select HAVE_IDE |
702 | select HAVE_PATA_PLATFORM | 704 | select HAVE_PATA_PLATFORM |
@@ -731,6 +733,7 @@ config ARCH_S3C24XX | |||
731 | bool "Samsung S3C24XX SoCs" | 733 | bool "Samsung S3C24XX SoCs" |
732 | select ARCH_HAS_CPUFREQ | 734 | select ARCH_HAS_CPUFREQ |
733 | select ARCH_REQUIRE_GPIOLIB | 735 | select ARCH_REQUIRE_GPIOLIB |
736 | select ATAGS | ||
734 | select CLKDEV_LOOKUP | 737 | select CLKDEV_LOOKUP |
735 | select CLKSRC_SAMSUNG_PWM | 738 | select CLKSRC_SAMSUNG_PWM |
736 | select GENERIC_CLOCKEVENTS | 739 | select GENERIC_CLOCKEVENTS |
@@ -753,6 +756,7 @@ config ARCH_S3C64XX | |||
753 | select ARCH_REQUIRE_GPIOLIB | 756 | select ARCH_REQUIRE_GPIOLIB |
754 | select ARM_AMBA | 757 | select ARM_AMBA |
755 | select ARM_VIC | 758 | select ARM_VIC |
759 | select ATAGS | ||
756 | select CLKDEV_LOOKUP | 760 | select CLKDEV_LOOKUP |
757 | select CLKSRC_SAMSUNG_PWM | 761 | select CLKSRC_SAMSUNG_PWM |
758 | select COMMON_CLK | 762 | select COMMON_CLK |
@@ -764,7 +768,7 @@ config ARCH_S3C64XX | |||
764 | select HAVE_TCM | 768 | select HAVE_TCM |
765 | select NO_IOPORT | 769 | select NO_IOPORT |
766 | select PLAT_SAMSUNG | 770 | select PLAT_SAMSUNG |
767 | select PM_GENERIC_DOMAINS | 771 | select PM_GENERIC_DOMAINS if PM |
768 | select S3C_DEV_NAND | 772 | select S3C_DEV_NAND |
769 | select S3C_GPIO_TRACK | 773 | select S3C_GPIO_TRACK |
770 | select SAMSUNG_ATAGS | 774 | select SAMSUNG_ATAGS |
@@ -776,6 +780,7 @@ config ARCH_S3C64XX | |||
776 | 780 | ||
777 | config ARCH_S5P64X0 | 781 | config ARCH_S5P64X0 |
778 | bool "Samsung S5P6440 S5P6450" | 782 | bool "Samsung S5P6440 S5P6450" |
783 | select ATAGS | ||
779 | select CLKDEV_LOOKUP | 784 | select CLKDEV_LOOKUP |
780 | select CLKSRC_SAMSUNG_PWM | 785 | select CLKSRC_SAMSUNG_PWM |
781 | select CPU_V6 | 786 | select CPU_V6 |
@@ -794,6 +799,7 @@ config ARCH_S5P64X0 | |||
794 | config ARCH_S5PC100 | 799 | config ARCH_S5PC100 |
795 | bool "Samsung S5PC100" | 800 | bool "Samsung S5PC100" |
796 | select ARCH_REQUIRE_GPIOLIB | 801 | select ARCH_REQUIRE_GPIOLIB |
802 | select ATAGS | ||
797 | select CLKDEV_LOOKUP | 803 | select CLKDEV_LOOKUP |
798 | select CLKSRC_SAMSUNG_PWM | 804 | select CLKSRC_SAMSUNG_PWM |
799 | select CPU_V7 | 805 | select CPU_V7 |
@@ -813,6 +819,7 @@ config ARCH_S5PV210 | |||
813 | select ARCH_HAS_CPUFREQ | 819 | select ARCH_HAS_CPUFREQ |
814 | select ARCH_HAS_HOLES_MEMORYMODEL | 820 | select ARCH_HAS_HOLES_MEMORYMODEL |
815 | select ARCH_SPARSEMEM_ENABLE | 821 | select ARCH_SPARSEMEM_ENABLE |
822 | select ATAGS | ||
816 | select CLKDEV_LOOKUP | 823 | select CLKDEV_LOOKUP |
817 | select CLKSRC_SAMSUNG_PWM | 824 | select CLKSRC_SAMSUNG_PWM |
818 | select CPU_V7 | 825 | select CPU_V7 |
diff --git a/arch/arm/configs/davinci_all_defconfig b/arch/arm/configs/davinci_all_defconfig index ab2f7378352c..932b932c8856 100644 --- a/arch/arm/configs/davinci_all_defconfig +++ b/arch/arm/configs/davinci_all_defconfig | |||
@@ -198,3 +198,5 @@ CONFIG_DEBUG_ERRORS=y | |||
198 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 198 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
199 | # CONFIG_CRYPTO_HW is not set | 199 | # CONFIG_CRYPTO_HW is not set |
200 | CONFIG_CRC_T10DIF=m | 200 | CONFIG_CRC_T10DIF=m |
201 | CONFIG_GPIO_PCA953X=y | ||
202 | CONFIG_KEYBOARD_GPIO_POLLED=y | ||
diff --git a/arch/arm/include/asm/smp.h b/arch/arm/include/asm/smp.h index 22a3b9b5d4a1..4157aec4e307 100644 --- a/arch/arm/include/asm/smp.h +++ b/arch/arm/include/asm/smp.h | |||
@@ -74,6 +74,7 @@ struct secondary_data { | |||
74 | }; | 74 | }; |
75 | extern struct secondary_data secondary_data; | 75 | extern struct secondary_data secondary_data; |
76 | extern volatile int pen_release; | 76 | extern volatile int pen_release; |
77 | extern void secondary_startup(void); | ||
77 | 78 | ||
78 | extern int __cpu_disable(void); | 79 | extern int __cpu_disable(void); |
79 | 80 | ||
diff --git a/arch/arm/include/debug/tegra.S b/arch/arm/include/debug/tegra.S index f98763f0bc17..3bc80599c022 100644 --- a/arch/arm/include/debug/tegra.S +++ b/arch/arm/include/debug/tegra.S | |||
@@ -53,8 +53,7 @@ | |||
53 | 53 | ||
54 | #define checkuart(rp, rv, lhu, bit, uart) \ | 54 | #define checkuart(rp, rv, lhu, bit, uart) \ |
55 | /* Load address of CLK_RST register */ \ | 55 | /* Load address of CLK_RST register */ \ |
56 | movw rp, #TEGRA_CLK_RST_DEVICES_##lhu & 0xffff ; \ | 56 | ldr rp, =TEGRA_CLK_RST_DEVICES_##lhu ; \ |
57 | movt rp, #TEGRA_CLK_RST_DEVICES_##lhu >> 16 ; \ | ||
58 | /* Load value from CLK_RST register */ \ | 57 | /* Load value from CLK_RST register */ \ |
59 | ldr rp, [rp, #0] ; \ | 58 | ldr rp, [rp, #0] ; \ |
60 | /* Test UART's reset bit */ \ | 59 | /* Test UART's reset bit */ \ |
@@ -62,8 +61,7 @@ | |||
62 | /* If set, can't use UART; jump to save no UART */ \ | 61 | /* If set, can't use UART; jump to save no UART */ \ |
63 | bne 90f ; \ | 62 | bne 90f ; \ |
64 | /* Load address of CLK_OUT_ENB register */ \ | 63 | /* Load address of CLK_OUT_ENB register */ \ |
65 | movw rp, #TEGRA_CLK_OUT_ENB_##lhu & 0xffff ; \ | 64 | ldr rp, =TEGRA_CLK_OUT_ENB_##lhu ; \ |
66 | movt rp, #TEGRA_CLK_OUT_ENB_##lhu >> 16 ; \ | ||
67 | /* Load value from CLK_OUT_ENB register */ \ | 65 | /* Load value from CLK_OUT_ENB register */ \ |
68 | ldr rp, [rp, #0] ; \ | 66 | ldr rp, [rp, #0] ; \ |
69 | /* Test UART's clock enable bit */ \ | 67 | /* Test UART's clock enable bit */ \ |
@@ -71,8 +69,7 @@ | |||
71 | /* If clear, can't use UART; jump to save no UART */ \ | 69 | /* If clear, can't use UART; jump to save no UART */ \ |
72 | beq 90f ; \ | 70 | beq 90f ; \ |
73 | /* Passed all tests, load address of UART registers */ \ | 71 | /* Passed all tests, load address of UART registers */ \ |
74 | movw rp, #TEGRA_UART##uart##_BASE & 0xffff ; \ | 72 | ldr rp, =TEGRA_UART##uart##_BASE ; \ |
75 | movt rp, #TEGRA_UART##uart##_BASE >> 16 ; \ | ||
76 | /* Jump to save UART address */ \ | 73 | /* Jump to save UART address */ \ |
77 | b 91f | 74 | b 91f |
78 | 75 | ||
@@ -90,15 +87,16 @@ | |||
90 | 87 | ||
91 | #ifdef CONFIG_TEGRA_DEBUG_UART_AUTO_ODMDATA | 88 | #ifdef CONFIG_TEGRA_DEBUG_UART_AUTO_ODMDATA |
92 | /* Check ODMDATA */ | 89 | /* Check ODMDATA */ |
93 | 10: movw \rp, #TEGRA_PMC_SCRATCH20 & 0xffff | 90 | 10: ldr \rp, =TEGRA_PMC_SCRATCH20 |
94 | movt \rp, #TEGRA_PMC_SCRATCH20 >> 16 | ||
95 | ldr \rp, [\rp, #0] @ Load PMC_SCRATCH20 | 91 | ldr \rp, [\rp, #0] @ Load PMC_SCRATCH20 |
96 | ubfx \rv, \rp, #18, #2 @ 19:18 are console type | 92 | lsr \rv, \rp, #18 @ 19:18 are console type |
93 | and \rv, \rv, #3 | ||
97 | cmp \rv, #2 @ 2 and 3 mean DCC, UART | 94 | cmp \rv, #2 @ 2 and 3 mean DCC, UART |
98 | beq 11f @ some boards swap the meaning | 95 | beq 11f @ some boards swap the meaning |
99 | cmp \rv, #3 @ so accept either | 96 | cmp \rv, #3 @ so accept either |
100 | bne 90f | 97 | bne 90f |
101 | 11: ubfx \rv, \rp, #15, #3 @ 17:15 are UART ID | 98 | 11: lsr \rv, \rp, #15 @ 17:15 are UART ID |
99 | and \rv, #7 | ||
102 | cmp \rv, #0 @ UART 0? | 100 | cmp \rv, #0 @ UART 0? |
103 | beq 20f | 101 | beq 20f |
104 | cmp \rv, #1 @ UART 1? | 102 | cmp \rv, #1 @ UART 1? |
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig index 4f0e800e7e71..9968f208b7df 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig | |||
@@ -57,6 +57,7 @@ config SOC_SAMA5 | |||
57 | select GENERIC_CLOCKEVENTS | 57 | select GENERIC_CLOCKEVENTS |
58 | select MULTI_IRQ_HANDLER | 58 | select MULTI_IRQ_HANDLER |
59 | select SPARSE_IRQ | 59 | select SPARSE_IRQ |
60 | select USE_OF | ||
60 | 61 | ||
61 | menu "Atmel AT91 System-on-Chip" | 62 | menu "Atmel AT91 System-on-Chip" |
62 | 63 | ||
@@ -64,11 +65,22 @@ choice | |||
64 | 65 | ||
65 | prompt "Core type" | 66 | prompt "Core type" |
66 | 67 | ||
68 | config ARCH_AT91X40 | ||
69 | bool "ARM7 AT91X40" | ||
70 | depends on !MMU | ||
71 | select CPU_ARM7TDMI | ||
72 | select ARCH_USES_GETTIMEOFFSET | ||
73 | select MULTI_IRQ_HANDLER | ||
74 | select SPARSE_IRQ | ||
75 | |||
76 | help | ||
77 | Select this if you are using one of Atmel's AT91X40 SoC. | ||
78 | |||
67 | config SOC_SAM_V4_V5 | 79 | config SOC_SAM_V4_V5 |
68 | bool "ARM7/ARM9" | 80 | bool "ARM9 AT91SAM9/AT91RM9200" |
69 | help | 81 | help |
70 | Select this if you are using one of Atmel's AT91SAM9, AT91RM9200 | 82 | Select this if you are using one of Atmel's AT91SAM9 or |
71 | or AT91X40 SoC. | 83 | AT91RM9200 SoC. |
72 | 84 | ||
73 | config SOC_SAM_V7 | 85 | config SOC_SAM_V7 |
74 | bool "Cortex A5" | 86 | bool "Cortex A5" |
@@ -179,9 +191,12 @@ config SOC_AT91SAM9N12 | |||
179 | Select this if you are using Atmel's AT91SAM9N12 SoC. | 191 | Select this if you are using Atmel's AT91SAM9N12 SoC. |
180 | 192 | ||
181 | # ---------------------------------------------------------- | 193 | # ---------------------------------------------------------- |
194 | endif # SOC_SAM_V4_V5 | ||
195 | |||
182 | 196 | ||
197 | if SOC_SAM_V4_V5 || ARCH_AT91X40 | ||
183 | source arch/arm/mach-at91/Kconfig.non_dt | 198 | source arch/arm/mach-at91/Kconfig.non_dt |
184 | endif # SOC_SAM_V4_V5 | 199 | endif |
185 | 200 | ||
186 | comment "Generic Board Type" | 201 | comment "Generic Board Type" |
187 | 202 | ||
diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt index 1f73e9b527da..44ace320d2e1 100644 --- a/arch/arm/mach-at91/Kconfig.non_dt +++ b/arch/arm/mach-at91/Kconfig.non_dt | |||
@@ -5,6 +5,7 @@ config HAVE_AT91_DATAFLASH_CARD | |||
5 | 5 | ||
6 | choice | 6 | choice |
7 | prompt "Atmel AT91 Processor Devices for non DT boards" | 7 | prompt "Atmel AT91 Processor Devices for non DT boards" |
8 | depends on !ARCH_AT91X40 | ||
8 | 9 | ||
9 | config ARCH_AT91_NONE | 10 | config ARCH_AT91_NONE |
10 | bool "None" | 11 | bool "None" |
@@ -39,13 +40,6 @@ config ARCH_AT91SAM9G45 | |||
39 | select SOC_AT91SAM9G45 | 40 | select SOC_AT91SAM9G45 |
40 | select AT91_USE_OLD_CLK | 41 | select AT91_USE_OLD_CLK |
41 | 42 | ||
42 | config ARCH_AT91X40 | ||
43 | bool "AT91x40" | ||
44 | depends on !MMU | ||
45 | select ARCH_USES_GETTIMEOFFSET | ||
46 | select MULTI_IRQ_HANDLER | ||
47 | select SPARSE_IRQ | ||
48 | |||
49 | endchoice | 43 | endchoice |
50 | 44 | ||
51 | config ARCH_AT91SAM9G20 | 45 | config ARCH_AT91SAM9G20 |
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c index eda8d1679d40..8a4c6656b608 100644 --- a/arch/arm/mach-at91/at91sam9260_devices.c +++ b/arch/arm/mach-at91/at91sam9260_devices.c | |||
@@ -1255,12 +1255,8 @@ void __init at91_add_device_cf(struct at91_cf_data *data) | |||
1255 | at91_set_A_periph(AT91_PIN_PC10, 0); /* CFRNW */ | 1255 | at91_set_A_periph(AT91_PIN_PC10, 0); /* CFRNW */ |
1256 | at91_set_A_periph(AT91_PIN_PC15, 1); /* NWAIT */ | 1256 | at91_set_A_periph(AT91_PIN_PC15, 1); /* NWAIT */ |
1257 | 1257 | ||
1258 | if (data->flags & AT91_CF_TRUE_IDE) | 1258 | if (IS_ENABLED(CONFIG_PATA_AT91) && (data->flags & AT91_CF_TRUE_IDE) |
1259 | #if defined(CONFIG_PATA_AT91) || defined(CONFIG_PATA_AT91_MODULE) | ||
1260 | pdev->name = "pata_at91"; | 1259 | pdev->name = "pata_at91"; |
1261 | #else | ||
1262 | #warning "board requires AT91_CF_TRUE_IDE: enable pata_at91" | ||
1263 | #endif | ||
1264 | else | 1260 | else |
1265 | pdev->name = "at91_cf"; | 1261 | pdev->name = "at91_cf"; |
1266 | 1262 | ||
diff --git a/arch/arm/mach-at91/sam9_smc.c b/arch/arm/mach-at91/sam9_smc.c index b26156bf15db..826315af6d11 100644 --- a/arch/arm/mach-at91/sam9_smc.c +++ b/arch/arm/mach-at91/sam9_smc.c | |||
@@ -36,6 +36,7 @@ void sam9_smc_write_mode(int id, int cs, | |||
36 | { | 36 | { |
37 | sam9_smc_cs_write_mode(AT91_SMC_CS(id, cs), config); | 37 | sam9_smc_cs_write_mode(AT91_SMC_CS(id, cs), config); |
38 | } | 38 | } |
39 | EXPORT_SYMBOL_GPL(sam9_smc_write_mode); | ||
39 | 40 | ||
40 | static void sam9_smc_cs_configure(void __iomem *base, | 41 | static void sam9_smc_cs_configure(void __iomem *base, |
41 | struct sam9_smc_config *config) | 42 | struct sam9_smc_config *config) |
@@ -69,6 +70,7 @@ void sam9_smc_configure(int id, int cs, | |||
69 | { | 70 | { |
70 | sam9_smc_cs_configure(AT91_SMC_CS(id, cs), config); | 71 | sam9_smc_cs_configure(AT91_SMC_CS(id, cs), config); |
71 | } | 72 | } |
73 | EXPORT_SYMBOL_GPL(sam9_smc_configure); | ||
72 | 74 | ||
73 | static void sam9_smc_cs_read_mode(void __iomem *base, | 75 | static void sam9_smc_cs_read_mode(void __iomem *base, |
74 | struct sam9_smc_config *config) | 76 | struct sam9_smc_config *config) |
@@ -84,6 +86,7 @@ void sam9_smc_read_mode(int id, int cs, | |||
84 | { | 86 | { |
85 | sam9_smc_cs_read_mode(AT91_SMC_CS(id, cs), config); | 87 | sam9_smc_cs_read_mode(AT91_SMC_CS(id, cs), config); |
86 | } | 88 | } |
89 | EXPORT_SYMBOL_GPL(sam9_smc_read_mode); | ||
87 | 90 | ||
88 | static void sam9_smc_cs_read(void __iomem *base, | 91 | static void sam9_smc_cs_read(void __iomem *base, |
89 | struct sam9_smc_config *config) | 92 | struct sam9_smc_config *config) |
diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c index f7ca97b7291e..f7a07a58ebb6 100644 --- a/arch/arm/mach-at91/setup.c +++ b/arch/arm/mach-at91/setup.c | |||
@@ -351,7 +351,7 @@ void __init at91_ioremap_matrix(u32 base_addr) | |||
351 | panic("Impossible to ioremap at91_matrix_base\n"); | 351 | panic("Impossible to ioremap at91_matrix_base\n"); |
352 | } | 352 | } |
353 | 353 | ||
354 | #if defined(CONFIG_OF) | 354 | #if defined(CONFIG_OF) && !defined(CONFIG_ARCH_AT91X40) |
355 | static struct of_device_id rstc_ids[] = { | 355 | static struct of_device_id rstc_ids[] = { |
356 | { .compatible = "atmel,at91sam9260-rstc", .data = at91sam9_alt_restart }, | 356 | { .compatible = "atmel,at91sam9260-rstc", .data = at91sam9_alt_restart }, |
357 | { .compatible = "atmel,at91sam9g45-rstc", .data = at91sam9g45_restart }, | 357 | { .compatible = "atmel,at91sam9g45-rstc", .data = at91sam9g45_restart }, |
diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig index a075b3e0c5c7..626d2b82d0f3 100644 --- a/arch/arm/mach-davinci/Kconfig +++ b/arch/arm/mach-davinci/Kconfig | |||
@@ -214,11 +214,6 @@ config DA850_WL12XX | |||
214 | Say Y if you want to use a wl1271 expansion card connected to the | 214 | Say Y if you want to use a wl1271 expansion card connected to the |
215 | AM18x EVM. | 215 | AM18x EVM. |
216 | 216 | ||
217 | config GPIO_PCA953X | ||
218 | default MACH_DAVINCI_DA850_EVM | ||
219 | |||
220 | config KEYBOARD_GPIO_POLLED | ||
221 | default MACH_DAVINCI_DA850_EVM | ||
222 | 217 | ||
223 | config MACH_TNETV107X | 218 | config MACH_TNETV107X |
224 | bool "TI TNETV107X Reference Platform" | 219 | bool "TI TNETV107X Reference Platform" |
diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index 987605b78556..3de4dc9a1698 100644 --- a/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/arch/arm/mach-davinci/board-dm644x-evm.c | |||
@@ -799,11 +799,12 @@ static __init void davinci_evm_init(void) | |||
799 | /* irlml6401 switches over 1A, in under 8 msec */ | 799 | /* irlml6401 switches over 1A, in under 8 msec */ |
800 | davinci_setup_usb(1000, 8); | 800 | davinci_setup_usb(1000, 8); |
801 | 801 | ||
802 | soc_info->emac_pdata->phy_id = DM644X_EVM_PHY_ID; | 802 | if (IS_BUILTIN(CONFIG_PHYLIB)) { |
803 | /* Register the fixup for PHY on DaVinci */ | 803 | soc_info->emac_pdata->phy_id = DM644X_EVM_PHY_ID; |
804 | phy_register_fixup_for_uid(LXT971_PHY_ID, LXT971_PHY_MASK, | 804 | /* Register the fixup for PHY on DaVinci */ |
805 | davinci_phy_fixup); | 805 | phy_register_fixup_for_uid(LXT971_PHY_ID, LXT971_PHY_MASK, |
806 | 806 | davinci_phy_fixup); | |
807 | } | ||
807 | } | 808 | } |
808 | 809 | ||
809 | MACHINE_START(DAVINCI_EVM, "DaVinci DM644x EVM") | 810 | MACHINE_START(DAVINCI_EVM, "DaVinci DM644x EVM") |
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c index 157ba88433c9..fd021ba539fe 100644 --- a/arch/arm/mach-ep93xx/core.c +++ b/arch/arm/mach-ep93xx/core.c | |||
@@ -242,6 +242,7 @@ unsigned int ep93xx_chip_revision(void) | |||
242 | v >>= EP93XX_SYSCON_SYSCFG_REV_SHIFT; | 242 | v >>= EP93XX_SYSCON_SYSCFG_REV_SHIFT; |
243 | return v; | 243 | return v; |
244 | } | 244 | } |
245 | EXPORT_SYMBOL_GPL(ep93xx_chip_revision); | ||
245 | 246 | ||
246 | /************************************************************************* | 247 | /************************************************************************* |
247 | * EP93xx GPIO | 248 | * EP93xx GPIO |
diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c index f18be40e5b21..8d0042c9d4d3 100644 --- a/arch/arm/mach-exynos/common.c +++ b/arch/arm/mach-exynos/common.c | |||
@@ -404,8 +404,10 @@ static int __init exynos4_l2x0_cache_init(void) | |||
404 | if (ret) | 404 | if (ret) |
405 | return ret; | 405 | return ret; |
406 | 406 | ||
407 | l2x0_regs_phys = virt_to_phys(&l2x0_saved_regs); | 407 | if (IS_ENABLED(CONFIG_S5P_SLEEP)) { |
408 | clean_dcache_area(&l2x0_regs_phys, sizeof(unsigned long)); | 408 | l2x0_regs_phys = virt_to_phys(&l2x0_saved_regs); |
409 | clean_dcache_area(&l2x0_regs_phys, sizeof(unsigned long)); | ||
410 | } | ||
409 | return 0; | 411 | return 0; |
410 | } | 412 | } |
411 | early_initcall(exynos4_l2x0_cache_init); | 413 | early_initcall(exynos4_l2x0_cache_init); |
diff --git a/arch/arm/mach-exynos/cpuidle.c b/arch/arm/mach-exynos/cpuidle.c index f57cb91f02aa..93d2decc112d 100644 --- a/arch/arm/mach-exynos/cpuidle.c +++ b/arch/arm/mach-exynos/cpuidle.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/cpu_pm.h> | 14 | #include <linux/cpu_pm.h> |
15 | #include <linux/io.h> | 15 | #include <linux/io.h> |
16 | #include <linux/export.h> | 16 | #include <linux/export.h> |
17 | #include <linux/module.h> | ||
17 | #include <linux/time.h> | 18 | #include <linux/time.h> |
18 | #include <linux/platform_device.h> | 19 | #include <linux/platform_device.h> |
19 | 20 | ||
diff --git a/arch/arm/mach-footbridge/Kconfig b/arch/arm/mach-footbridge/Kconfig index fba55fb9f47d..07152d00fc50 100644 --- a/arch/arm/mach-footbridge/Kconfig +++ b/arch/arm/mach-footbridge/Kconfig | |||
@@ -52,6 +52,7 @@ config ARCH_EBSA285_HOST | |||
52 | select FOOTBRIDGE_HOST | 52 | select FOOTBRIDGE_HOST |
53 | select ISA | 53 | select ISA |
54 | select ISA_DMA | 54 | select ISA_DMA |
55 | select ARCH_MAY_HAVE_PC_FDC | ||
55 | select PCI | 56 | select PCI |
56 | help | 57 | help |
57 | Say Y here if you intend to run this kernel on the EBSA285 card | 58 | Say Y here if you intend to run this kernel on the EBSA285 card |
@@ -94,6 +95,5 @@ config FOOTBRIDGE_ADDIN | |||
94 | # EBSA285 board in either host or addin mode | 95 | # EBSA285 board in either host or addin mode |
95 | config ARCH_EBSA285 | 96 | config ARCH_EBSA285 |
96 | bool | 97 | bool |
97 | select ARCH_MAY_HAVE_PC_FDC | ||
98 | 98 | ||
99 | endif | 99 | endif |
diff --git a/arch/arm/mach-footbridge/Makefile b/arch/arm/mach-footbridge/Makefile index 0b64dd430d61..c3faa3bc84dd 100644 --- a/arch/arm/mach-footbridge/Makefile +++ b/arch/arm/mach-footbridge/Makefile | |||
@@ -4,11 +4,12 @@ | |||
4 | 4 | ||
5 | # Object file lists. | 5 | # Object file lists. |
6 | 6 | ||
7 | obj-y := common.o dc21285.o dma.o isa-irq.o | 7 | obj-y := common.o dma.o isa-irq.o |
8 | obj-m := | 8 | obj-m := |
9 | obj-n := | 9 | obj-n := |
10 | obj- := | 10 | obj- := |
11 | 11 | ||
12 | pci-y += dc21285.o | ||
12 | pci-$(CONFIG_ARCH_CATS) += cats-pci.o | 13 | pci-$(CONFIG_ARCH_CATS) += cats-pci.o |
13 | pci-$(CONFIG_ARCH_EBSA285_HOST) += ebsa285-pci.o | 14 | pci-$(CONFIG_ARCH_EBSA285_HOST) += ebsa285-pci.o |
14 | pci-$(CONFIG_ARCH_NETWINDER) += netwinder-pci.o | 15 | pci-$(CONFIG_ARCH_NETWINDER) += netwinder-pci.o |
diff --git a/arch/arm/mach-footbridge/cats-hw.c b/arch/arm/mach-footbridge/cats-hw.c index 9669cc0b6318..da0415094856 100644 --- a/arch/arm/mach-footbridge/cats-hw.c +++ b/arch/arm/mach-footbridge/cats-hw.c | |||
@@ -78,9 +78,11 @@ __initcall(cats_hw_init); | |||
78 | static void __init | 78 | static void __init |
79 | fixup_cats(struct tag *tags, char **cmdline, struct meminfo *mi) | 79 | fixup_cats(struct tag *tags, char **cmdline, struct meminfo *mi) |
80 | { | 80 | { |
81 | #if defined(CONFIG_VGA_CONSOLE) || defined(CONFIG_DUMMY_CONSOLE) | ||
81 | screen_info.orig_video_lines = 25; | 82 | screen_info.orig_video_lines = 25; |
82 | screen_info.orig_video_points = 16; | 83 | screen_info.orig_video_points = 16; |
83 | screen_info.orig_y = 24; | 84 | screen_info.orig_y = 24; |
85 | #endif | ||
84 | } | 86 | } |
85 | 87 | ||
86 | MACHINE_START(CATS, "Chalice-CATS") | 88 | MACHINE_START(CATS, "Chalice-CATS") |
diff --git a/arch/arm/mach-hisi/Makefile b/arch/arm/mach-hisi/Makefile index 6870058d0a48..2ae1b59267c2 100644 --- a/arch/arm/mach-hisi/Makefile +++ b/arch/arm/mach-hisi/Makefile | |||
@@ -3,5 +3,4 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y += hisilicon.o | 5 | obj-y += hisilicon.o |
6 | obj-$(CONFIG_SMP) += platsmp.o | 6 | obj-$(CONFIG_SMP) += platsmp.o hotplug.o |
7 | obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o | ||
diff --git a/arch/arm/mach-hisi/hotplug.c b/arch/arm/mach-hisi/hotplug.c index b909854eee7f..abd441b0c604 100644 --- a/arch/arm/mach-hisi/hotplug.c +++ b/arch/arm/mach-hisi/hotplug.c | |||
@@ -178,6 +178,7 @@ static inline void cpu_enter_lowpower(void) | |||
178 | : "cc"); | 178 | : "cc"); |
179 | } | 179 | } |
180 | 180 | ||
181 | #ifdef CONFIG_HOTPLUG_CPU | ||
181 | void hi3xxx_cpu_die(unsigned int cpu) | 182 | void hi3xxx_cpu_die(unsigned int cpu) |
182 | { | 183 | { |
183 | cpu_enter_lowpower(); | 184 | cpu_enter_lowpower(); |
@@ -198,3 +199,4 @@ int hi3xxx_cpu_kill(unsigned int cpu) | |||
198 | hi3xxx_set_cpu(cpu, false); | 199 | hi3xxx_set_cpu(cpu, false); |
199 | return 1; | 200 | return 1; |
200 | } | 201 | } |
202 | #endif | ||
diff --git a/arch/arm/mach-integrator/Kconfig b/arch/arm/mach-integrator/Kconfig index abeff25532ab..271a255864d2 100644 --- a/arch/arm/mach-integrator/Kconfig +++ b/arch/arm/mach-integrator/Kconfig | |||
@@ -6,8 +6,8 @@ config ARCH_INTEGRATOR_AP | |||
6 | bool "Support Integrator/AP and Integrator/PP2 platforms" | 6 | bool "Support Integrator/AP and Integrator/PP2 platforms" |
7 | select CLKSRC_MMIO | 7 | select CLKSRC_MMIO |
8 | select MIGHT_HAVE_PCI | 8 | select MIGHT_HAVE_PCI |
9 | select SERIAL_AMBA_PL010 | 9 | select SERIAL_AMBA_PL010 if TTY |
10 | select SERIAL_AMBA_PL010_CONSOLE | 10 | select SERIAL_AMBA_PL010_CONSOLE if TTY |
11 | select SOC_BUS | 11 | select SOC_BUS |
12 | help | 12 | help |
13 | Include support for the ARM(R) Integrator/AP and | 13 | Include support for the ARM(R) Integrator/AP and |
@@ -18,8 +18,8 @@ config ARCH_INTEGRATOR_CP | |||
18 | select ARCH_CINTEGRATOR | 18 | select ARCH_CINTEGRATOR |
19 | select ARM_TIMER_SP804 | 19 | select ARM_TIMER_SP804 |
20 | select PLAT_VERSATILE_CLCD | 20 | select PLAT_VERSATILE_CLCD |
21 | select SERIAL_AMBA_PL011 | 21 | select SERIAL_AMBA_PL011 if TTY |
22 | select SERIAL_AMBA_PL011_CONSOLE | 22 | select SERIAL_AMBA_PL011_CONSOLE if TTY |
23 | select SOC_BUS | 23 | select SOC_BUS |
24 | help | 24 | help |
25 | Include support for the ARM(R) Integrator CP platform. | 25 | Include support for the ARM(R) Integrator CP platform. |
diff --git a/arch/arm/mach-ixp4xx/common.c b/arch/arm/mach-ixp4xx/common.c index df82a2b4a546..eef39c7ad0cf 100644 --- a/arch/arm/mach-ixp4xx/common.c +++ b/arch/arm/mach-ixp4xx/common.c | |||
@@ -100,7 +100,7 @@ void __init ixp4xx_map_io(void) | |||
100 | #define IXP4XX_GPIO_CLK_0 14 | 100 | #define IXP4XX_GPIO_CLK_0 14 |
101 | #define IXP4XX_GPIO_CLK_1 15 | 101 | #define IXP4XX_GPIO_CLK_1 15 |
102 | 102 | ||
103 | static void gpio_line_config(u8 line, u32 direction) | 103 | void gpio_line_config(u8 line, u32 direction) |
104 | { | 104 | { |
105 | if (direction == IXP4XX_GPIO_IN) | 105 | if (direction == IXP4XX_GPIO_IN) |
106 | *IXP4XX_GPIO_GPOER |= (1 << line); | 106 | *IXP4XX_GPIO_GPOER |= (1 << line); |
@@ -108,12 +108,12 @@ static void gpio_line_config(u8 line, u32 direction) | |||
108 | *IXP4XX_GPIO_GPOER &= ~(1 << line); | 108 | *IXP4XX_GPIO_GPOER &= ~(1 << line); |
109 | } | 109 | } |
110 | 110 | ||
111 | static void gpio_line_get(u8 line, int *value) | 111 | void gpio_line_get(u8 line, int *value) |
112 | { | 112 | { |
113 | *value = (*IXP4XX_GPIO_GPINR >> line) & 0x1; | 113 | *value = (*IXP4XX_GPIO_GPINR >> line) & 0x1; |
114 | } | 114 | } |
115 | 115 | ||
116 | static void gpio_line_set(u8 line, int value) | 116 | void gpio_line_set(u8 line, int value) |
117 | { | 117 | { |
118 | if (value == IXP4XX_GPIO_HIGH) | 118 | if (value == IXP4XX_GPIO_HIGH) |
119 | *IXP4XX_GPIO_GPOUTR |= (1 << line); | 119 | *IXP4XX_GPIO_GPOUTR |= (1 << line); |
diff --git a/arch/arm/mach-ixp4xx/goramo_mlr.c b/arch/arm/mach-ixp4xx/goramo_mlr.c index e54ff491c105..5a635c657ea2 100644 --- a/arch/arm/mach-ixp4xx/goramo_mlr.c +++ b/arch/arm/mach-ixp4xx/goramo_mlr.c | |||
@@ -17,6 +17,13 @@ | |||
17 | #include <asm/mach/pci.h> | 17 | #include <asm/mach/pci.h> |
18 | #include <asm/system_info.h> | 18 | #include <asm/system_info.h> |
19 | 19 | ||
20 | #define IXP4XX_GPIO_OUT 0x1 | ||
21 | #define IXP4XX_GPIO_IN 0x2 | ||
22 | |||
23 | void gpio_line_config(u8 line, u32 direction); | ||
24 | void gpio_line_get(u8 line, int *value); | ||
25 | void gpio_line_set(u8 line, int value); | ||
26 | |||
20 | #define SLOT_ETHA 0x0B /* IDSEL = AD21 */ | 27 | #define SLOT_ETHA 0x0B /* IDSEL = AD21 */ |
21 | #define SLOT_ETHB 0x0C /* IDSEL = AD20 */ | 28 | #define SLOT_ETHB 0x0C /* IDSEL = AD20 */ |
22 | #define SLOT_MPCI 0x0D /* IDSEL = AD19 */ | 29 | #define SLOT_MPCI 0x0D /* IDSEL = AD19 */ |
diff --git a/arch/arm/mach-ixp4xx/include/mach/io.h b/arch/arm/mach-ixp4xx/include/mach/io.h index 5cf30d1b78d2..559c69a47731 100644 --- a/arch/arm/mach-ixp4xx/include/mach/io.h +++ b/arch/arm/mach-ixp4xx/include/mach/io.h | |||
@@ -48,9 +48,10 @@ extern int ixp4xx_pci_write(u32 addr, u32 cmd, u32 data); | |||
48 | * fallback to the default. | 48 | * fallback to the default. |
49 | */ | 49 | */ |
50 | 50 | ||
51 | extern unsigned long pcibios_min_mem; | ||
51 | static inline int is_pci_memory(u32 addr) | 52 | static inline int is_pci_memory(u32 addr) |
52 | { | 53 | { |
53 | return (addr >= PCIBIOS_MIN_MEM) && (addr <= 0x4FFFFFFF); | 54 | return (addr >= pcibios_min_mem) && (addr <= 0x4FFFFFFF); |
54 | } | 55 | } |
55 | 56 | ||
56 | #define writeb(v, p) __indirect_writeb(v, p) | 57 | #define writeb(v, p) __indirect_writeb(v, p) |
diff --git a/arch/arm/mach-ixp4xx/omixp-setup.c b/arch/arm/mach-ixp4xx/omixp-setup.c index 75ef03dc9964..2d494b454376 100644 --- a/arch/arm/mach-ixp4xx/omixp-setup.c +++ b/arch/arm/mach-ixp4xx/omixp-setup.c | |||
@@ -17,9 +17,7 @@ | |||
17 | #include <linux/serial_8250.h> | 17 | #include <linux/serial_8250.h> |
18 | #include <linux/mtd/mtd.h> | 18 | #include <linux/mtd/mtd.h> |
19 | #include <linux/mtd/partitions.h> | 19 | #include <linux/mtd/partitions.h> |
20 | #ifdef CONFIG_LEDS_CLASS | ||
21 | #include <linux/leds.h> | 20 | #include <linux/leds.h> |
22 | #endif | ||
23 | 21 | ||
24 | #include <asm/setup.h> | 22 | #include <asm/setup.h> |
25 | #include <asm/memory.h> | 23 | #include <asm/memory.h> |
diff --git a/arch/arm/mach-ks8695/board-og.c b/arch/arm/mach-ks8695/board-og.c index 002bc619bb68..f2658168eeff 100644 --- a/arch/arm/mach-ks8695/board-og.c +++ b/arch/arm/mach-ks8695/board-og.c | |||
@@ -44,7 +44,8 @@ static void __init og_register_pci(void) | |||
44 | if (machine_is_im4004()) | 44 | if (machine_is_im4004()) |
45 | ks8695_gpio_interrupt(KS8695_GPIO_1, IRQ_TYPE_LEVEL_LOW); | 45 | ks8695_gpio_interrupt(KS8695_GPIO_1, IRQ_TYPE_LEVEL_LOW); |
46 | 46 | ||
47 | ks8695_init_pci(&og_pci); | 47 | if (IS_ENABLED(CONFIG_PCI)) |
48 | ks8695_init_pci(&og_pci); | ||
48 | } | 49 | } |
49 | 50 | ||
50 | /* | 51 | /* |
diff --git a/arch/arm/mach-lpc32xx/common.c b/arch/arm/mach-lpc32xx/common.c index d7aa54c25c59..de03620d7fa7 100644 --- a/arch/arm/mach-lpc32xx/common.c +++ b/arch/arm/mach-lpc32xx/common.c | |||
@@ -99,6 +99,7 @@ u32 lpc32xx_return_iram_size(void) | |||
99 | 99 | ||
100 | return iram_size; | 100 | return iram_size; |
101 | } | 101 | } |
102 | EXPORT_SYMBOL_GPL(lpc32xx_return_iram_size); | ||
102 | 103 | ||
103 | /* | 104 | /* |
104 | * Computes PLL rate from PLL register and input clock | 105 | * Computes PLL rate from PLL register and input clock |
diff --git a/arch/arm/mach-msm/dma.c b/arch/arm/mach-msm/dma.c index f8f6adfa07c6..fb9762464718 100644 --- a/arch/arm/mach-msm/dma.c +++ b/arch/arm/mach-msm/dma.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/io.h> | 18 | #include <linux/io.h> |
19 | #include <linux/interrupt.h> | 19 | #include <linux/interrupt.h> |
20 | #include <linux/completion.h> | 20 | #include <linux/completion.h> |
21 | #include <linux/module.h> | ||
21 | #include <mach/dma.h> | 22 | #include <mach/dma.h> |
22 | #include <mach/msm_iomap.h> | 23 | #include <mach/msm_iomap.h> |
23 | 24 | ||
@@ -77,6 +78,7 @@ void msm_dmov_stop_cmd(unsigned id, struct msm_dmov_cmd *cmd, int graceful) | |||
77 | { | 78 | { |
78 | writel((graceful << 31), DMOV_FLUSH0(id)); | 79 | writel((graceful << 31), DMOV_FLUSH0(id)); |
79 | } | 80 | } |
81 | EXPORT_SYMBOL_GPL(msm_dmov_stop_cmd); | ||
80 | 82 | ||
81 | void msm_dmov_enqueue_cmd(unsigned id, struct msm_dmov_cmd *cmd) | 83 | void msm_dmov_enqueue_cmd(unsigned id, struct msm_dmov_cmd *cmd) |
82 | { | 84 | { |
@@ -115,6 +117,7 @@ void msm_dmov_enqueue_cmd(unsigned id, struct msm_dmov_cmd *cmd) | |||
115 | } | 117 | } |
116 | spin_unlock_irqrestore(&msm_dmov_lock, irq_flags); | 118 | spin_unlock_irqrestore(&msm_dmov_lock, irq_flags); |
117 | } | 119 | } |
120 | EXPORT_SYMBOL_GPL(msm_dmov_enqueue_cmd); | ||
118 | 121 | ||
119 | struct msm_dmov_exec_cmdptr_cmd { | 122 | struct msm_dmov_exec_cmdptr_cmd { |
120 | struct msm_dmov_cmd dmov_cmd; | 123 | struct msm_dmov_cmd dmov_cmd; |
diff --git a/arch/arm/mach-msm/io.c b/arch/arm/mach-msm/io.c index adc8971c7266..34e09474636d 100644 --- a/arch/arm/mach-msm/io.c +++ b/arch/arm/mach-msm/io.c | |||
@@ -78,8 +78,10 @@ void __init msm_map_common_io(void) | |||
78 | asm("mcr p15, 0, %0, c15, c2, 4" : : "r" (0)); | 78 | asm("mcr p15, 0, %0, c15, c2, 4" : : "r" (0)); |
79 | #if defined(CONFIG_DEBUG_MSM_UART1) || defined(CONFIG_DEBUG_MSM_UART2) || \ | 79 | #if defined(CONFIG_DEBUG_MSM_UART1) || defined(CONFIG_DEBUG_MSM_UART2) || \ |
80 | defined(CONFIG_DEBUG_MSM_UART3) | 80 | defined(CONFIG_DEBUG_MSM_UART3) |
81 | #ifdef CONFIG_MMU | ||
81 | debug_ll_addr(&msm_io_desc[size - 1].pfn, | 82 | debug_ll_addr(&msm_io_desc[size - 1].pfn, |
82 | &msm_io_desc[size - 1].virtual); | 83 | &msm_io_desc[size - 1].virtual); |
84 | #endif | ||
83 | msm_io_desc[size - 1].pfn = __phys_to_pfn(msm_io_desc[size - 1].pfn); | 85 | msm_io_desc[size - 1].pfn = __phys_to_pfn(msm_io_desc[size - 1].pfn); |
84 | #endif | 86 | #endif |
85 | iotable_init(msm_io_desc, size); | 87 | iotable_init(msm_io_desc, size); |
diff --git a/arch/arm/mach-mvebu/armada-370-xp.c b/arch/arm/mach-mvebu/armada-370-xp.c index f6c9d1d85c14..5b793ebb0a24 100644 --- a/arch/arm/mach-mvebu/armada-370-xp.c +++ b/arch/arm/mach-mvebu/armada-370-xp.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/clocksource.h> | 21 | #include <linux/clocksource.h> |
22 | #include <linux/dma-mapping.h> | 22 | #include <linux/dma-mapping.h> |
23 | #include <linux/mbus.h> | 23 | #include <linux/mbus.h> |
24 | #include <linux/signal.h> | ||
24 | #include <linux/slab.h> | 25 | #include <linux/slab.h> |
25 | #include <asm/hardware/cache-l2x0.h> | 26 | #include <asm/hardware/cache-l2x0.h> |
26 | #include <asm/mach/arch.h> | 27 | #include <asm/mach/arch.h> |
diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c index fd90cafc2e36..65d2acb31498 100644 --- a/arch/arm/mach-omap1/board-h2.c +++ b/arch/arm/mach-omap1/board-h2.c | |||
@@ -318,6 +318,9 @@ static void __init h2_init_smc91x(void) | |||
318 | 318 | ||
319 | static int tps_setup(struct i2c_client *client, void *context) | 319 | static int tps_setup(struct i2c_client *client, void *context) |
320 | { | 320 | { |
321 | if (!IS_BUILTIN(CONFIG_TPS65010)) | ||
322 | return -ENOSYS; | ||
323 | |||
321 | tps65010_config_vregs1(TPS_LDO2_ENABLE | TPS_VLDO2_3_0V | | 324 | tps65010_config_vregs1(TPS_LDO2_ENABLE | TPS_VLDO2_3_0V | |
322 | TPS_LDO1_ENABLE | TPS_VLDO1_3_0V); | 325 | TPS_LDO1_ENABLE | TPS_VLDO1_3_0V); |
323 | 326 | ||
diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c index d68909b095f1..3a0262156e93 100644 --- a/arch/arm/mach-omap1/board-osk.c +++ b/arch/arm/mach-omap1/board-osk.c | |||
@@ -191,6 +191,9 @@ static struct platform_device osk5912_tps_leds = { | |||
191 | 191 | ||
192 | static int osk_tps_setup(struct i2c_client *client, void *context) | 192 | static int osk_tps_setup(struct i2c_client *client, void *context) |
193 | { | 193 | { |
194 | if (!IS_BUILTIN(CONFIG_TPS65010)) | ||
195 | return -ENOSYS; | ||
196 | |||
194 | /* Set GPIO 1 HIGH to disable VBUS power supply; | 197 | /* Set GPIO 1 HIGH to disable VBUS power supply; |
195 | * OHCI driver powers it up/down as needed. | 198 | * OHCI driver powers it up/down as needed. |
196 | */ | 199 | */ |
diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c index 40a1ae319610..dbee729e3b6d 100644 --- a/arch/arm/mach-omap1/pm.c +++ b/arch/arm/mach-omap1/pm.c | |||
@@ -71,7 +71,11 @@ static unsigned int mpui7xx_sleep_save[MPUI7XX_SLEEP_SAVE_SIZE]; | |||
71 | static unsigned int mpui1510_sleep_save[MPUI1510_SLEEP_SAVE_SIZE]; | 71 | static unsigned int mpui1510_sleep_save[MPUI1510_SLEEP_SAVE_SIZE]; |
72 | static unsigned int mpui1610_sleep_save[MPUI1610_SLEEP_SAVE_SIZE]; | 72 | static unsigned int mpui1610_sleep_save[MPUI1610_SLEEP_SAVE_SIZE]; |
73 | 73 | ||
74 | #ifdef CONFIG_OMAP_32K_TIMER | 74 | #ifndef CONFIG_OMAP_32K_TIMER |
75 | |||
76 | static unsigned short enable_dyn_sleep = 0; | ||
77 | |||
78 | #else | ||
75 | 79 | ||
76 | static unsigned short enable_dyn_sleep = 1; | 80 | static unsigned short enable_dyn_sleep = 1; |
77 | 81 | ||
diff --git a/arch/arm/mach-orion5x/Kconfig b/arch/arm/mach-orion5x/Kconfig index 2cb2f06c20f5..14f2cae4109c 100644 --- a/arch/arm/mach-orion5x/Kconfig +++ b/arch/arm/mach-orion5x/Kconfig | |||
@@ -33,7 +33,6 @@ config MACH_KUROBOX_PRO | |||
33 | config MACH_DNS323 | 33 | config MACH_DNS323 |
34 | bool "D-Link DNS-323" | 34 | bool "D-Link DNS-323" |
35 | select I2C_BOARDINFO | 35 | select I2C_BOARDINFO |
36 | select PHYLIB | ||
37 | help | 36 | help |
38 | Say 'Y' here if you want your kernel to support the | 37 | Say 'Y' here if you want your kernel to support the |
39 | D-Link DNS-323 platform. | 38 | D-Link DNS-323 platform. |
diff --git a/arch/arm/mach-orion5x/dns323-setup.c b/arch/arm/mach-orion5x/dns323-setup.c index 70974732cbf0..56edeab17b68 100644 --- a/arch/arm/mach-orion5x/dns323-setup.c +++ b/arch/arm/mach-orion5x/dns323-setup.c | |||
@@ -642,6 +642,8 @@ static void __init dns323_init(void) | |||
642 | platform_device_register_simple("dns323c-fan", 0, NULL, 0); | 642 | platform_device_register_simple("dns323c-fan", 0, NULL, 0); |
643 | 643 | ||
644 | /* Register fixup for the PHY LEDs */ | 644 | /* Register fixup for the PHY LEDs */ |
645 | if (!IS_BUILTIN(CONFIG_PHYLIB)) | ||
646 | break; | ||
645 | phy_register_fixup_for_uid(MARVELL_PHY_ID_88E1118, | 647 | phy_register_fixup_for_uid(MARVELL_PHY_ID_88E1118, |
646 | MARVELL_PHY_ID_MASK, | 648 | MARVELL_PHY_ID_MASK, |
647 | dns323c_phy_fixup); | 649 | dns323c_phy_fixup); |
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig index 96100dbf5a2e..a280cc42636b 100644 --- a/arch/arm/mach-pxa/Kconfig +++ b/arch/arm/mach-pxa/Kconfig | |||
@@ -53,12 +53,16 @@ config MACH_TAVOREVB | |||
53 | select CPU_PXA930 | 53 | select CPU_PXA930 |
54 | select CPU_PXA935 | 54 | select CPU_PXA935 |
55 | select PXA3xx | 55 | select PXA3xx |
56 | select FB | ||
57 | select FB_PXA | ||
56 | 58 | ||
57 | config MACH_SAAR | 59 | config MACH_SAAR |
58 | bool "PXA930 Handheld Platform (aka SAAR)" | 60 | bool "PXA930 Handheld Platform (aka SAAR)" |
59 | select CPU_PXA930 | 61 | select CPU_PXA930 |
60 | select CPU_PXA935 | 62 | select CPU_PXA935 |
61 | select PXA3xx | 63 | select PXA3xx |
64 | select FB | ||
65 | select FB_PXA | ||
62 | 66 | ||
63 | comment "Third Party Dev Platforms (sorted by vendor name)" | 67 | comment "Third Party Dev Platforms (sorted by vendor name)" |
64 | 68 | ||
@@ -69,8 +73,7 @@ config ARCH_PXA_IDP | |||
69 | config ARCH_VIPER | 73 | config ARCH_VIPER |
70 | bool "Arcom/Eurotech VIPER SBC" | 74 | bool "Arcom/Eurotech VIPER SBC" |
71 | select ARCOM_PCMCIA | 75 | select ARCOM_PCMCIA |
72 | select HAVE_PWM | 76 | select I2C_GPIO if I2C=y |
73 | select I2C_GPIO | ||
74 | select ISA | 77 | select ISA |
75 | select PXA25x | 78 | select PXA25x |
76 | select PXA_HAVE_ISA_IRQS | 79 | select PXA_HAVE_ISA_IRQS |
@@ -164,7 +167,6 @@ config MACH_XCEP | |||
164 | select MTD_CFI_INTELEXT | 167 | select MTD_CFI_INTELEXT |
165 | select MTD_PHYSMAP | 168 | select MTD_PHYSMAP |
166 | select PXA25x | 169 | select PXA25x |
167 | select SMC91X | ||
168 | help | 170 | help |
169 | PXA255 based Single Board Computer with SMC 91C111 ethernet chip and 64 MB of flash. | 171 | PXA255 based Single Board Computer with SMC 91C111 ethernet chip and 64 MB of flash. |
170 | Tuned for usage in Libera instruments for particle accelerators. | 172 | Tuned for usage in Libera instruments for particle accelerators. |
@@ -181,6 +183,7 @@ config MACH_TRIZEPS4 | |||
181 | config MACH_TRIZEPS4WL | 183 | config MACH_TRIZEPS4WL |
182 | bool "Keith und Koep Trizeps4-WL DIMM-Module" | 184 | bool "Keith und Koep Trizeps4-WL DIMM-Module" |
183 | depends on TRIZEPS_PXA | 185 | depends on TRIZEPS_PXA |
186 | select MACH_TRIZEPS4 | ||
184 | select PXA27x | 187 | select PXA27x |
185 | select TRIZEPS_PCMCIA | 188 | select TRIZEPS_PCMCIA |
186 | 189 | ||
diff --git a/arch/arm/mach-pxa/balloon3.c b/arch/arm/mach-pxa/balloon3.c index 2f71b3fbd319..43596e0ed051 100644 --- a/arch/arm/mach-pxa/balloon3.c +++ b/arch/arm/mach-pxa/balloon3.c | |||
@@ -331,7 +331,6 @@ static struct pxa2xx_udc_mach_info balloon3_udc_info __initdata = { | |||
331 | static void __init balloon3_udc_init(void) | 331 | static void __init balloon3_udc_init(void) |
332 | { | 332 | { |
333 | pxa_set_udc_info(&balloon3_udc_info); | 333 | pxa_set_udc_info(&balloon3_udc_info); |
334 | platform_device_register(&balloon3_gpio_vbus); | ||
335 | } | 334 | } |
336 | #else | 335 | #else |
337 | static inline void balloon3_udc_init(void) {} | 336 | static inline void balloon3_udc_init(void) {} |
diff --git a/arch/arm/mach-pxa/colibri-evalboard.c b/arch/arm/mach-pxa/colibri-evalboard.c index 8404b24240ea..638b0bb88426 100644 --- a/arch/arm/mach-pxa/colibri-evalboard.c +++ b/arch/arm/mach-pxa/colibri-evalboard.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <asm/mach/arch.h> | 20 | #include <asm/mach/arch.h> |
21 | #include <linux/i2c.h> | 21 | #include <linux/i2c.h> |
22 | #include <linux/i2c/pxa-i2c.h> | 22 | #include <linux/i2c/pxa-i2c.h> |
23 | #include <asm/io.h> | ||
23 | 24 | ||
24 | #include <mach/pxa27x.h> | 25 | #include <mach/pxa27x.h> |
25 | #include <mach/colibri.h> | 26 | #include <mach/colibri.h> |
diff --git a/arch/arm/mach-realview/include/mach/memory.h b/arch/arm/mach-realview/include/mach/memory.h index 2022e092f0ca..db09170e3832 100644 --- a/arch/arm/mach-realview/include/mach/memory.h +++ b/arch/arm/mach-realview/include/mach/memory.h | |||
@@ -56,6 +56,8 @@ | |||
56 | #define PAGE_OFFSET1 (PAGE_OFFSET + 0x10000000) | 56 | #define PAGE_OFFSET1 (PAGE_OFFSET + 0x10000000) |
57 | #define PAGE_OFFSET2 (PAGE_OFFSET + 0x30000000) | 57 | #define PAGE_OFFSET2 (PAGE_OFFSET + 0x30000000) |
58 | 58 | ||
59 | #define PHYS_OFFSET PLAT_PHYS_OFFSET | ||
60 | |||
59 | #define __phys_to_virt(phys) \ | 61 | #define __phys_to_virt(phys) \ |
60 | ((phys) >= 0x80000000 ? (phys) - 0x80000000 + PAGE_OFFSET2 : \ | 62 | ((phys) >= 0x80000000 ? (phys) - 0x80000000 + PAGE_OFFSET2 : \ |
61 | (phys) >= 0x20000000 ? (phys) - 0x20000000 + PAGE_OFFSET1 : \ | 63 | (phys) >= 0x20000000 ? (phys) - 0x20000000 + PAGE_OFFSET1 : \ |
diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig index d876431d64c0..f2727f2cc661 100644 --- a/arch/arm/mach-s3c24xx/Kconfig +++ b/arch/arm/mach-s3c24xx/Kconfig | |||
@@ -537,7 +537,7 @@ config MACH_AT2440EVB | |||
537 | 537 | ||
538 | config MACH_MINI2440 | 538 | config MACH_MINI2440 |
539 | bool "MINI2440 development board" | 539 | bool "MINI2440 development board" |
540 | select EEPROM_AT24 | 540 | select EEPROM_AT24 if I2C |
541 | select LEDS_CLASS | 541 | select LEDS_CLASS |
542 | select LEDS_TRIGGERS | 542 | select LEDS_TRIGGERS |
543 | select LEDS_TRIGGER_BACKLIGHT | 543 | select LEDS_TRIGGER_BACKLIGHT |
@@ -573,7 +573,7 @@ config MACH_OSIRIS | |||
573 | config MACH_OSIRIS_DVS | 573 | config MACH_OSIRIS_DVS |
574 | tristate "Simtec IM2440D20 (OSIRIS) Dynamic Voltage Scaling driver" | 574 | tristate "Simtec IM2440D20 (OSIRIS) Dynamic Voltage Scaling driver" |
575 | depends on MACH_OSIRIS | 575 | depends on MACH_OSIRIS |
576 | select TPS65010 | 576 | depends on TPS65010 |
577 | help | 577 | help |
578 | Say Y/M here if you want to have dynamic voltage scaling support | 578 | Say Y/M here if you want to have dynamic voltage scaling support |
579 | on the Simtec IM2440D20 (OSIRIS) module via the TPS65011. | 579 | on the Simtec IM2440D20 (OSIRIS) module via the TPS65011. |
diff --git a/arch/arm/mach-s3c24xx/mach-gta02.c b/arch/arm/mach-s3c24xx/mach-gta02.c index d9170e9f8ccd..ee7bb2905a99 100644 --- a/arch/arm/mach-s3c24xx/mach-gta02.c +++ b/arch/arm/mach-s3c24xx/mach-gta02.c | |||
@@ -196,7 +196,7 @@ static void gta02_charger_worker(struct work_struct *work) | |||
196 | * If the PCF50633 ADC is disabled we fallback to a | 196 | * If the PCF50633 ADC is disabled we fallback to a |
197 | * 100mA limit for safety. | 197 | * 100mA limit for safety. |
198 | */ | 198 | */ |
199 | pcf50633_mbc_usb_curlim_set(pcf, 100); | 199 | pcf50633_mbc_usb_curlim_set(gta02_pcf, 100); |
200 | #endif | 200 | #endif |
201 | } | 201 | } |
202 | 202 | ||
diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig index 64f04e6f9c31..3136d86b0d6e 100644 --- a/arch/arm/mach-s3c64xx/Kconfig +++ b/arch/arm/mach-s3c64xx/Kconfig | |||
@@ -86,8 +86,7 @@ config MACH_SMDK6400 | |||
86 | bool "SMDK6400" | 86 | bool "SMDK6400" |
87 | select CPU_S3C6400 | 87 | select CPU_S3C6400 |
88 | select S3C64XX_SETUP_SDHCI | 88 | select S3C64XX_SETUP_SDHCI |
89 | select S3C_DEV_HSMMC | 89 | select S3C_DEV_HSMMC1 |
90 | select S3C_DEV_NAND | ||
91 | help | 90 | help |
92 | Machine support for the Samsung SMDK6400 | 91 | Machine support for the Samsung SMDK6400 |
93 | 92 | ||
diff --git a/arch/arm/mach-s3c64xx/irq-pm.c b/arch/arm/mach-s3c64xx/irq-pm.c index 1649c0d1c1b8..ddf65583a5d8 100644 --- a/arch/arm/mach-s3c64xx/irq-pm.c +++ b/arch/arm/mach-s3c64xx/irq-pm.c | |||
@@ -55,7 +55,13 @@ static struct irq_grp_save { | |||
55 | u32 mask; | 55 | u32 mask; |
56 | } eint_grp_save[5]; | 56 | } eint_grp_save[5]; |
57 | 57 | ||
58 | static u32 irq_uart_mask[CONFIG_SERIAL_SAMSUNG_UARTS]; | 58 | #ifndef CONFIG_SERIAL_SAMSUNG_UARTS |
59 | #define SERIAL_SAMSUNG_UARTS 0 | ||
60 | #else | ||
61 | #define SERIAL_SAMSUNG_UARTS CONFIG_SERIAL_SAMSUNG_UARTS | ||
62 | #endif | ||
63 | |||
64 | static u32 irq_uart_mask[SERIAL_SAMSUNG_UARTS]; | ||
59 | 65 | ||
60 | static int s3c64xx_irq_pm_suspend(void) | 66 | static int s3c64xx_irq_pm_suspend(void) |
61 | { | 67 | { |
@@ -66,7 +72,7 @@ static int s3c64xx_irq_pm_suspend(void) | |||
66 | 72 | ||
67 | s3c_pm_do_save(irq_save, ARRAY_SIZE(irq_save)); | 73 | s3c_pm_do_save(irq_save, ARRAY_SIZE(irq_save)); |
68 | 74 | ||
69 | for (i = 0; i < CONFIG_SERIAL_SAMSUNG_UARTS; i++) | 75 | for (i = 0; i < SERIAL_SAMSUNG_UARTS; i++) |
70 | irq_uart_mask[i] = __raw_readl(S3C_VA_UARTx(i) + S3C64XX_UINTM); | 76 | irq_uart_mask[i] = __raw_readl(S3C_VA_UARTx(i) + S3C64XX_UINTM); |
71 | 77 | ||
72 | for (i = 0; i < ARRAY_SIZE(eint_grp_save); i++, grp++) { | 78 | for (i = 0; i < ARRAY_SIZE(eint_grp_save); i++, grp++) { |
@@ -87,7 +93,7 @@ static void s3c64xx_irq_pm_resume(void) | |||
87 | 93 | ||
88 | s3c_pm_do_restore(irq_save, ARRAY_SIZE(irq_save)); | 94 | s3c_pm_do_restore(irq_save, ARRAY_SIZE(irq_save)); |
89 | 95 | ||
90 | for (i = 0; i < CONFIG_SERIAL_SAMSUNG_UARTS; i++) | 96 | for (i = 0; i < SERIAL_SAMSUNG_UARTS; i++) |
91 | __raw_writel(irq_uart_mask[i], S3C_VA_UARTx(i) + S3C64XX_UINTM); | 97 | __raw_writel(irq_uart_mask[i], S3C_VA_UARTx(i) + S3C64XX_UINTM); |
92 | 98 | ||
93 | for (i = 0; i < ARRAY_SIZE(eint_grp_save); i++, grp++) { | 99 | for (i = 0; i < ARRAY_SIZE(eint_grp_save); i++, grp++) { |
diff --git a/arch/arm/mach-s5p64x0/common.c b/arch/arm/mach-s5p64x0/common.c index 42e14f2e7ca7..f07edc304efb 100644 --- a/arch/arm/mach-s5p64x0/common.c +++ b/arch/arm/mach-s5p64x0/common.c | |||
@@ -205,6 +205,7 @@ void __init s5p64x0_init_io(struct map_desc *mach_desc, int size) | |||
205 | samsung_pwm_set_platdata(&s5p64x0_pwm_variant); | 205 | samsung_pwm_set_platdata(&s5p64x0_pwm_variant); |
206 | } | 206 | } |
207 | 207 | ||
208 | #ifdef CONFIG_CPU_S5P6440 | ||
208 | void __init s5p6440_map_io(void) | 209 | void __init s5p6440_map_io(void) |
209 | { | 210 | { |
210 | /* initialize any device information early */ | 211 | /* initialize any device information early */ |
@@ -218,7 +219,9 @@ void __init s5p6440_map_io(void) | |||
218 | 219 | ||
219 | iotable_init(s5p6440_iodesc, ARRAY_SIZE(s5p6440_iodesc)); | 220 | iotable_init(s5p6440_iodesc, ARRAY_SIZE(s5p6440_iodesc)); |
220 | } | 221 | } |
222 | #endif | ||
221 | 223 | ||
224 | #ifdef CONFIG_CPU_S5P6450 | ||
222 | void __init s5p6450_map_io(void) | 225 | void __init s5p6450_map_io(void) |
223 | { | 226 | { |
224 | /* initialize any device information early */ | 227 | /* initialize any device information early */ |
@@ -232,13 +235,14 @@ void __init s5p6450_map_io(void) | |||
232 | 235 | ||
233 | iotable_init(s5p6450_iodesc, ARRAY_SIZE(s5p6450_iodesc)); | 236 | iotable_init(s5p6450_iodesc, ARRAY_SIZE(s5p6450_iodesc)); |
234 | } | 237 | } |
238 | #endif | ||
235 | 239 | ||
236 | /* | 240 | /* |
237 | * s5p64x0_init_clocks | 241 | * s5p64x0_init_clocks |
238 | * | 242 | * |
239 | * register and setup the CPU clocks | 243 | * register and setup the CPU clocks |
240 | */ | 244 | */ |
241 | 245 | #ifdef CONFIG_CPU_S5P6440 | |
242 | void __init s5p6440_init_clocks(int xtal) | 246 | void __init s5p6440_init_clocks(int xtal) |
243 | { | 247 | { |
244 | printk(KERN_DEBUG "%s: initializing clocks\n", __func__); | 248 | printk(KERN_DEBUG "%s: initializing clocks\n", __func__); |
@@ -248,7 +252,9 @@ void __init s5p6440_init_clocks(int xtal) | |||
248 | s5p6440_register_clocks(); | 252 | s5p6440_register_clocks(); |
249 | s5p6440_setup_clocks(); | 253 | s5p6440_setup_clocks(); |
250 | } | 254 | } |
255 | #endif | ||
251 | 256 | ||
257 | #ifdef CONFIG_CPU_S5P6450 | ||
252 | void __init s5p6450_init_clocks(int xtal) | 258 | void __init s5p6450_init_clocks(int xtal) |
253 | { | 259 | { |
254 | printk(KERN_DEBUG "%s: initializing clocks\n", __func__); | 260 | printk(KERN_DEBUG "%s: initializing clocks\n", __func__); |
@@ -258,13 +264,14 @@ void __init s5p6450_init_clocks(int xtal) | |||
258 | s5p6450_register_clocks(); | 264 | s5p6450_register_clocks(); |
259 | s5p6450_setup_clocks(); | 265 | s5p6450_setup_clocks(); |
260 | } | 266 | } |
267 | #endif | ||
261 | 268 | ||
262 | /* | 269 | /* |
263 | * s5p64x0_init_irq | 270 | * s5p64x0_init_irq |
264 | * | 271 | * |
265 | * register the CPU interrupts | 272 | * register the CPU interrupts |
266 | */ | 273 | */ |
267 | 274 | #ifdef CONFIG_CPU_S5P6440 | |
268 | void __init s5p6440_init_irq(void) | 275 | void __init s5p6440_init_irq(void) |
269 | { | 276 | { |
270 | /* S5P6440 supports 2 VIC */ | 277 | /* S5P6440 supports 2 VIC */ |
@@ -279,7 +286,9 @@ void __init s5p6440_init_irq(void) | |||
279 | 286 | ||
280 | s5p_init_irq(vic, ARRAY_SIZE(vic)); | 287 | s5p_init_irq(vic, ARRAY_SIZE(vic)); |
281 | } | 288 | } |
289 | #endif | ||
282 | 290 | ||
291 | #ifdef CONFIG_CPU_S5P6450 | ||
283 | void __init s5p6450_init_irq(void) | 292 | void __init s5p6450_init_irq(void) |
284 | { | 293 | { |
285 | /* S5P6450 supports only 2 VIC */ | 294 | /* S5P6450 supports only 2 VIC */ |
@@ -294,6 +303,7 @@ void __init s5p6450_init_irq(void) | |||
294 | 303 | ||
295 | s5p_init_irq(vic, ARRAY_SIZE(vic)); | 304 | s5p_init_irq(vic, ARRAY_SIZE(vic)); |
296 | } | 305 | } |
306 | #endif | ||
297 | 307 | ||
298 | struct bus_type s5p64x0_subsys = { | 308 | struct bus_type s5p64x0_subsys = { |
299 | .name = "s5p64x0-core", | 309 | .name = "s5p64x0-core", |
@@ -321,6 +331,7 @@ int __init s5p64x0_init(void) | |||
321 | } | 331 | } |
322 | 332 | ||
323 | /* uart registration process */ | 333 | /* uart registration process */ |
334 | #ifdef CONFIG_CPU_S5P6440 | ||
324 | void __init s5p6440_init_uarts(struct s3c2410_uartcfg *cfg, int no) | 335 | void __init s5p6440_init_uarts(struct s3c2410_uartcfg *cfg, int no) |
325 | { | 336 | { |
326 | int uart; | 337 | int uart; |
@@ -332,11 +343,14 @@ void __init s5p6440_init_uarts(struct s3c2410_uartcfg *cfg, int no) | |||
332 | 343 | ||
333 | s3c24xx_init_uartdevs("s3c6400-uart", s5p_uart_resources, cfg, no); | 344 | s3c24xx_init_uartdevs("s3c6400-uart", s5p_uart_resources, cfg, no); |
334 | } | 345 | } |
346 | #endif | ||
335 | 347 | ||
348 | #ifdef CONFIG_CPU_S5P6450 | ||
336 | void __init s5p6450_init_uarts(struct s3c2410_uartcfg *cfg, int no) | 349 | void __init s5p6450_init_uarts(struct s3c2410_uartcfg *cfg, int no) |
337 | { | 350 | { |
338 | s3c24xx_init_uartdevs("s3c6400-uart", s5p_uart_resources, cfg, no); | 351 | s3c24xx_init_uartdevs("s3c6400-uart", s5p_uart_resources, cfg, no); |
339 | } | 352 | } |
353 | #endif | ||
340 | 354 | ||
341 | #define eint_offset(irq) ((irq) - IRQ_EINT(0)) | 355 | #define eint_offset(irq) ((irq) - IRQ_EINT(0)) |
342 | 356 | ||
diff --git a/arch/arm/mach-s5p64x0/common.h b/arch/arm/mach-s5p64x0/common.h index f3a9b43cba4a..cbe7f3d731d0 100644 --- a/arch/arm/mach-s5p64x0/common.h +++ b/arch/arm/mach-s5p64x0/common.h | |||
@@ -25,10 +25,10 @@ void s5p6450_register_clocks(void); | |||
25 | void s5p6450_setup_clocks(void); | 25 | void s5p6450_setup_clocks(void); |
26 | 26 | ||
27 | void s5p64x0_restart(enum reboot_mode mode, const char *cmd); | 27 | void s5p64x0_restart(enum reboot_mode mode, const char *cmd); |
28 | extern int s5p64x0_init(void); | ||
28 | 29 | ||
29 | #ifdef CONFIG_CPU_S5P6440 | 30 | #ifdef CONFIG_CPU_S5P6440 |
30 | 31 | ||
31 | extern int s5p64x0_init(void); | ||
32 | extern void s5p6440_map_io(void); | 32 | extern void s5p6440_map_io(void); |
33 | extern void s5p6440_init_clocks(int xtal); | 33 | extern void s5p6440_init_clocks(int xtal); |
34 | 34 | ||
@@ -38,12 +38,10 @@ extern void s5p6440_init_uarts(struct s3c2410_uartcfg *cfg, int no); | |||
38 | #define s5p6440_init_clocks NULL | 38 | #define s5p6440_init_clocks NULL |
39 | #define s5p6440_init_uarts NULL | 39 | #define s5p6440_init_uarts NULL |
40 | #define s5p6440_map_io NULL | 40 | #define s5p6440_map_io NULL |
41 | #define s5p64x0_init NULL | ||
42 | #endif | 41 | #endif |
43 | 42 | ||
44 | #ifdef CONFIG_CPU_S5P6450 | 43 | #ifdef CONFIG_CPU_S5P6450 |
45 | 44 | ||
46 | extern int s5p64x0_init(void); | ||
47 | extern void s5p6450_map_io(void); | 45 | extern void s5p6450_map_io(void); |
48 | extern void s5p6450_init_clocks(int xtal); | 46 | extern void s5p6450_init_clocks(int xtal); |
49 | 47 | ||
@@ -53,7 +51,6 @@ extern void s5p6450_init_uarts(struct s3c2410_uartcfg *cfg, int no); | |||
53 | #define s5p6450_init_clocks NULL | 51 | #define s5p6450_init_clocks NULL |
54 | #define s5p6450_init_uarts NULL | 52 | #define s5p6450_init_uarts NULL |
55 | #define s5p6450_map_io NULL | 53 | #define s5p6450_map_io NULL |
56 | #define s5p64x0_init NULL | ||
57 | #endif | 54 | #endif |
58 | 55 | ||
59 | #endif /* __ARCH_ARM_MACH_S5P64X0_COMMON_H */ | 56 | #endif /* __ARCH_ARM_MACH_S5P64X0_COMMON_H */ |
diff --git a/arch/arm/mach-s5p64x0/irq-pm.c b/arch/arm/mach-s5p64x0/irq-pm.c index 3e6f2456ee9d..d5f0fd66b635 100644 --- a/arch/arm/mach-s5p64x0/irq-pm.c +++ b/arch/arm/mach-s5p64x0/irq-pm.c | |||
@@ -34,7 +34,9 @@ static struct irq_grp_save { | |||
34 | u32 mask; | 34 | u32 mask; |
35 | } eint_grp_save[4]; | 35 | } eint_grp_save[4]; |
36 | 36 | ||
37 | #ifdef CONFIG_SERIAL_SAMSUNG | ||
37 | static u32 irq_uart_mask[CONFIG_SERIAL_SAMSUNG_UARTS]; | 38 | static u32 irq_uart_mask[CONFIG_SERIAL_SAMSUNG_UARTS]; |
39 | #endif | ||
38 | 40 | ||
39 | static int s5p64x0_irq_pm_suspend(void) | 41 | static int s5p64x0_irq_pm_suspend(void) |
40 | { | 42 | { |
@@ -45,8 +47,10 @@ static int s5p64x0_irq_pm_suspend(void) | |||
45 | 47 | ||
46 | s3c_pm_do_save(irq_save, ARRAY_SIZE(irq_save)); | 48 | s3c_pm_do_save(irq_save, ARRAY_SIZE(irq_save)); |
47 | 49 | ||
50 | #ifdef CONFIG_SERIAL_SAMSUNG | ||
48 | for (i = 0; i < CONFIG_SERIAL_SAMSUNG_UARTS; i++) | 51 | for (i = 0; i < CONFIG_SERIAL_SAMSUNG_UARTS; i++) |
49 | irq_uart_mask[i] = __raw_readl(S3C_VA_UARTx(i) + S3C64XX_UINTM); | 52 | irq_uart_mask[i] = __raw_readl(S3C_VA_UARTx(i) + S3C64XX_UINTM); |
53 | #endif | ||
50 | 54 | ||
51 | for (i = 0; i < ARRAY_SIZE(eint_grp_save); i++, grp++) { | 55 | for (i = 0; i < ARRAY_SIZE(eint_grp_save); i++, grp++) { |
52 | grp->con = __raw_readl(S5P64X0_EINT12CON + (i * 4)); | 56 | grp->con = __raw_readl(S5P64X0_EINT12CON + (i * 4)); |
@@ -66,8 +70,10 @@ static void s5p64x0_irq_pm_resume(void) | |||
66 | 70 | ||
67 | s3c_pm_do_restore(irq_save, ARRAY_SIZE(irq_save)); | 71 | s3c_pm_do_restore(irq_save, ARRAY_SIZE(irq_save)); |
68 | 72 | ||
73 | #ifdef CONFIG_SERIAL_SAMSUNG | ||
69 | for (i = 0; i < CONFIG_SERIAL_SAMSUNG_UARTS; i++) | 74 | for (i = 0; i < CONFIG_SERIAL_SAMSUNG_UARTS; i++) |
70 | __raw_writel(irq_uart_mask[i], S3C_VA_UARTx(i) + S3C64XX_UINTM); | 75 | __raw_writel(irq_uart_mask[i], S3C_VA_UARTx(i) + S3C64XX_UINTM); |
76 | #endif | ||
71 | 77 | ||
72 | for (i = 0; i < ARRAY_SIZE(eint_grp_save); i++, grp++) { | 78 | for (i = 0; i < ARRAY_SIZE(eint_grp_save); i++, grp++) { |
73 | __raw_writel(grp->con, S5P64X0_EINT12CON + (i * 4)); | 79 | __raw_writel(grp->con, S5P64X0_EINT12CON + (i * 4)); |
diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig index caaedafbbf5f..8c3abe521757 100644 --- a/arch/arm/mach-s5pv210/Kconfig +++ b/arch/arm/mach-s5pv210/Kconfig | |||
@@ -189,6 +189,7 @@ config MACH_TORBRECK | |||
189 | select S5PV210_SETUP_I2C1 | 189 | select S5PV210_SETUP_I2C1 |
190 | select S5PV210_SETUP_I2C2 | 190 | select S5PV210_SETUP_I2C2 |
191 | select S5PV210_SETUP_SDHCI | 191 | select S5PV210_SETUP_SDHCI |
192 | select SAMSUNG_DEV_IDE | ||
192 | help | 193 | help |
193 | Machine support for aESOP Torbreck | 194 | Machine support for aESOP Torbreck |
194 | 195 | ||
diff --git a/arch/arm/mach-sunxi/Makefile b/arch/arm/mach-sunxi/Makefile index d9397202d6ec..27b168f121a1 100644 --- a/arch/arm/mach-sunxi/Makefile +++ b/arch/arm/mach-sunxi/Makefile | |||
@@ -1,2 +1,2 @@ | |||
1 | obj-$(CONFIG_ARCH_SUNXI) += sunxi.o | 1 | obj-$(CONFIG_ARCH_SUNXI) += sunxi.o |
2 | obj-$(CONFIG_SMP) += platsmp.o headsmp.o | 2 | obj-$(CONFIG_SMP) += platsmp.o |
diff --git a/arch/arm/mach-sunxi/headsmp.S b/arch/arm/mach-sunxi/headsmp.S deleted file mode 100644 index a10d494fb37b..000000000000 --- a/arch/arm/mach-sunxi/headsmp.S +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | #include <linux/linkage.h> | ||
2 | #include <linux/init.h> | ||
3 | |||
4 | .section ".text.head", "ax" | ||
5 | |||
6 | ENTRY(sun6i_secondary_startup) | ||
7 | msr cpsr_fsxc, #0xd3 | ||
8 | b secondary_startup | ||
9 | ENDPROC(sun6i_secondary_startup) | ||
diff --git a/arch/arm/mach-sunxi/platsmp.c b/arch/arm/mach-sunxi/platsmp.c index 7b141d8342a1..0c7dbce033cc 100644 --- a/arch/arm/mach-sunxi/platsmp.c +++ b/arch/arm/mach-sunxi/platsmp.c | |||
@@ -82,7 +82,7 @@ static int sun6i_smp_boot_secondary(unsigned int cpu, | |||
82 | spin_lock(&cpu_lock); | 82 | spin_lock(&cpu_lock); |
83 | 83 | ||
84 | /* Set CPU boot address */ | 84 | /* Set CPU boot address */ |
85 | writel(virt_to_phys(sun6i_secondary_startup), | 85 | writel(virt_to_phys(secondary_startup), |
86 | cpucfg_membase + CPUCFG_PRIVATE0_REG); | 86 | cpucfg_membase + CPUCFG_PRIVATE0_REG); |
87 | 87 | ||
88 | /* Assert the CPU core in reset */ | 88 | /* Assert the CPU core in reset */ |
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index 1f8fed94c2a4..9e832295ecaa 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig | |||
@@ -264,7 +264,7 @@ config CPU_ARM1026 | |||
264 | 264 | ||
265 | # SA110 | 265 | # SA110 |
266 | config CPU_SA110 | 266 | config CPU_SA110 |
267 | bool "Support StrongARM(R) SA-110 processor" if ARCH_RPC | 267 | bool |
268 | select CPU_32v3 if ARCH_RPC | 268 | select CPU_32v3 if ARCH_RPC |
269 | select CPU_32v4 if !ARCH_RPC | 269 | select CPU_32v4 if !ARCH_RPC |
270 | select CPU_ABRT_EV4 | 270 | select CPU_ABRT_EV4 |
diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig index 58645a58d0d8..b57e922f1614 100644 --- a/arch/arm/plat-samsung/Kconfig +++ b/arch/arm/plat-samsung/Kconfig | |||
@@ -427,8 +427,7 @@ comment "Power management" | |||
427 | 427 | ||
428 | config SAMSUNG_PM_DEBUG | 428 | config SAMSUNG_PM_DEBUG |
429 | bool "S3C2410 PM Suspend debug" | 429 | bool "S3C2410 PM Suspend debug" |
430 | depends on PM | 430 | depends on PM && DEBUG_KERNEL && DEBUG_S3C_UART |
431 | select DEBUG_LL | ||
432 | help | 431 | help |
433 | Say Y here if you want verbose debugging from the PM Suspend and | 432 | Say Y here if you want verbose debugging from the PM Suspend and |
434 | Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt> | 433 | Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt> |
@@ -445,7 +444,8 @@ config S3C_PM_DEBUG_LED_SMDK | |||
445 | 444 | ||
446 | config SAMSUNG_PM_CHECK | 445 | config SAMSUNG_PM_CHECK |
447 | bool "S3C2410 PM Suspend Memory CRC" | 446 | bool "S3C2410 PM Suspend Memory CRC" |
448 | depends on PM && CRC32 | 447 | depends on PM |
448 | select CRC32 | ||
449 | help | 449 | help |
450 | Enable the PM code's memory area checksum over sleep. This option | 450 | Enable the PM code's memory area checksum over sleep. This option |
451 | will generate CRCs of all blocks of memory, and store them before | 451 | will generate CRCs of all blocks of memory, and store them before |
diff --git a/arch/arm/plat-samsung/init.c b/arch/arm/plat-samsung/init.c index aa9511b6914a..a30df396ca34 100644 --- a/arch/arm/plat-samsung/init.c +++ b/arch/arm/plat-samsung/init.c | |||
@@ -97,7 +97,9 @@ void __init s3c24xx_init_clocks(int xtal) | |||
97 | #if IS_ENABLED(CONFIG_SAMSUNG_ATAGS) | 97 | #if IS_ENABLED(CONFIG_SAMSUNG_ATAGS) |
98 | static int nr_uarts __initdata = 0; | 98 | static int nr_uarts __initdata = 0; |
99 | 99 | ||
100 | #ifdef CONFIG_SERIAL_SAMSUNG_UARTS | ||
100 | static struct s3c2410_uartcfg uart_cfgs[CONFIG_SERIAL_SAMSUNG_UARTS]; | 101 | static struct s3c2410_uartcfg uart_cfgs[CONFIG_SERIAL_SAMSUNG_UARTS]; |
102 | #endif | ||
101 | 103 | ||
102 | /* s3c24xx_init_uartdevs | 104 | /* s3c24xx_init_uartdevs |
103 | * | 105 | * |
@@ -112,6 +114,7 @@ void __init s3c24xx_init_uartdevs(char *name, | |||
112 | struct s3c24xx_uart_resources *res, | 114 | struct s3c24xx_uart_resources *res, |
113 | struct s3c2410_uartcfg *cfg, int no) | 115 | struct s3c2410_uartcfg *cfg, int no) |
114 | { | 116 | { |
117 | #ifdef CONFIG_SERIAL_SAMSUNG_UARTS | ||
115 | struct platform_device *platdev; | 118 | struct platform_device *platdev; |
116 | struct s3c2410_uartcfg *cfgptr = uart_cfgs; | 119 | struct s3c2410_uartcfg *cfgptr = uart_cfgs; |
117 | struct s3c24xx_uart_resources *resp; | 120 | struct s3c24xx_uart_resources *resp; |
@@ -134,6 +137,7 @@ void __init s3c24xx_init_uartdevs(char *name, | |||
134 | } | 137 | } |
135 | 138 | ||
136 | nr_uarts = no; | 139 | nr_uarts = no; |
140 | #endif | ||
137 | } | 141 | } |
138 | 142 | ||
139 | void __init s3c24xx_init_uarts(struct s3c2410_uartcfg *cfg, int no) | 143 | void __init s3c24xx_init_uarts(struct s3c2410_uartcfg *cfg, int no) |
diff --git a/include/linux/pxa2xx_ssp.h b/include/linux/pxa2xx_ssp.h index 49444203328a..f2b405116166 100644 --- a/include/linux/pxa2xx_ssp.h +++ b/include/linux/pxa2xx_ssp.h | |||
@@ -219,7 +219,7 @@ static inline u32 pxa_ssp_read_reg(struct ssp_device *dev, u32 reg) | |||
219 | return __raw_readl(dev->mmio_base + reg); | 219 | return __raw_readl(dev->mmio_base + reg); |
220 | } | 220 | } |
221 | 221 | ||
222 | #ifdef CONFIG_ARCH_PXA | 222 | #if IS_ENABLED(CONFIG_PXA_SSP) |
223 | struct ssp_device *pxa_ssp_request(int port, const char *label); | 223 | struct ssp_device *pxa_ssp_request(int port, const char *label); |
224 | void pxa_ssp_free(struct ssp_device *); | 224 | void pxa_ssp_free(struct ssp_device *); |
225 | struct ssp_device *pxa_ssp_request_of(const struct device_node *of_node, | 225 | struct ssp_device *pxa_ssp_request_of(const struct device_node *of_node, |