aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Ferre <nicolas.ferre@atmel.com>2013-12-12 11:00:45 -0500
committerKevin Hilman <khilman@linaro.org>2013-12-12 12:57:42 -0500
commit83301480111c9ac3fbd03ec5b0c90c21c5aa39f7 (patch)
tree6a57f8b1b053ec9b470c4056a886163a31a0448e
parentb9f10a10cd56414659724bfb9f8b65499f07d538 (diff)
ARM: at91: remove AT91_PROGRAMMABLE_CLOCKS configuration option
This AT91 specific Kconfig option removed the code that dealt with programmable clocks. Each AT91 SoC embeds programmable clocks and there is little gain to remove this code in case that such a clock is not used. If this option is not selected, it causes certain drivers to fail to build. We simply remove this option instead of adding code just to build a workaround. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Kevin Hilman <khilman@linaro.org>
-rw-r--r--arch/arm/configs/at91_dt_defconfig1
-rw-r--r--arch/arm/configs/at91rm9200_defconfig1
-rw-r--r--arch/arm/configs/at91sam9260_9g20_defconfig1
-rw-r--r--arch/arm/configs/at91sam9261_9g10_defconfig1
-rw-r--r--arch/arm/configs/at91sam9g45_defconfig1
-rw-r--r--arch/arm/configs/at91sam9rl_defconfig1
-rw-r--r--arch/arm/configs/sama5_defconfig1
-rw-r--r--arch/arm/mach-at91/Kconfig6
-rw-r--r--arch/arm/mach-at91/clock.c6
-rw-r--r--arch/arm/mach-at91/pm.c3
-rw-r--r--drivers/clk/at91/Makefile3
-rw-r--r--drivers/clk/at91/pmc.c2
-rw-r--r--drivers/clk/at91/pmc.h2
-rw-r--r--sound/soc/atmel/Kconfig2
14 files changed, 2 insertions, 29 deletions
diff --git a/arch/arm/configs/at91_dt_defconfig b/arch/arm/configs/at91_dt_defconfig
index 690e89273230..0b4e9b5210d8 100644
--- a/arch/arm/configs/at91_dt_defconfig
+++ b/arch/arm/configs/at91_dt_defconfig
@@ -22,7 +22,6 @@ CONFIG_SOC_AT91SAM9X5=y
22CONFIG_SOC_AT91SAM9N12=y 22CONFIG_SOC_AT91SAM9N12=y
23CONFIG_MACH_AT91RM9200_DT=y 23CONFIG_MACH_AT91RM9200_DT=y
24CONFIG_MACH_AT91SAM9_DT=y 24CONFIG_MACH_AT91SAM9_DT=y
25CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
26CONFIG_AT91_TIMER_HZ=128 25CONFIG_AT91_TIMER_HZ=128
27CONFIG_AEABI=y 26CONFIG_AEABI=y
28# CONFIG_OABI_COMPAT is not set 27# CONFIG_OABI_COMPAT is not set
diff --git a/arch/arm/configs/at91rm9200_defconfig b/arch/arm/configs/at91rm9200_defconfig
index 75502c4d222c..bf057719dab0 100644
--- a/arch/arm/configs/at91rm9200_defconfig
+++ b/arch/arm/configs/at91rm9200_defconfig
@@ -31,7 +31,6 @@ CONFIG_MACH_YL9200=y
31CONFIG_MACH_CPUAT91=y 31CONFIG_MACH_CPUAT91=y
32CONFIG_MACH_ECO920=y 32CONFIG_MACH_ECO920=y
33CONFIG_MTD_AT91_DATAFLASH_CARD=y 33CONFIG_MTD_AT91_DATAFLASH_CARD=y
34CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
35CONFIG_AT91_TIMER_HZ=100 34CONFIG_AT91_TIMER_HZ=100
36# CONFIG_ARM_THUMB is not set 35# CONFIG_ARM_THUMB is not set
37CONFIG_PCCARD=y 36CONFIG_PCCARD=y
diff --git a/arch/arm/configs/at91sam9260_9g20_defconfig b/arch/arm/configs/at91sam9260_9g20_defconfig
index 69b6928d3d9d..955dc480f3ee 100644
--- a/arch/arm/configs/at91sam9260_9g20_defconfig
+++ b/arch/arm/configs/at91sam9260_9g20_defconfig
@@ -28,7 +28,6 @@ CONFIG_MACH_PCONTROL_G20=y
28CONFIG_MACH_GSIA18S=y 28CONFIG_MACH_GSIA18S=y
29CONFIG_MACH_SNAPPER_9260=y 29CONFIG_MACH_SNAPPER_9260=y
30CONFIG_MACH_AT91SAM9_DT=y 30CONFIG_MACH_AT91SAM9_DT=y
31CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
32CONFIG_AT91_SLOW_CLOCK=y 31CONFIG_AT91_SLOW_CLOCK=y
33# CONFIG_ARM_THUMB is not set 32# CONFIG_ARM_THUMB is not set
34CONFIG_AEABI=y 33CONFIG_AEABI=y
diff --git a/arch/arm/configs/at91sam9261_9g10_defconfig b/arch/arm/configs/at91sam9261_9g10_defconfig
index 9d35cd81c611..f80e993b04ce 100644
--- a/arch/arm/configs/at91sam9261_9g10_defconfig
+++ b/arch/arm/configs/at91sam9261_9g10_defconfig
@@ -18,7 +18,6 @@ CONFIG_ARCH_AT91=y
18CONFIG_ARCH_AT91SAM9261=y 18CONFIG_ARCH_AT91SAM9261=y
19CONFIG_MACH_AT91SAM9261EK=y 19CONFIG_MACH_AT91SAM9261EK=y
20CONFIG_MACH_AT91SAM9G10EK=y 20CONFIG_MACH_AT91SAM9G10EK=y
21CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
22# CONFIG_ARM_THUMB is not set 21# CONFIG_ARM_THUMB is not set
23CONFIG_AEABI=y 22CONFIG_AEABI=y
24# CONFIG_OABI_COMPAT is not set 23# CONFIG_OABI_COMPAT is not set
diff --git a/arch/arm/configs/at91sam9g45_defconfig b/arch/arm/configs/at91sam9g45_defconfig
index 08166cd4e7d6..e181a50fd65a 100644
--- a/arch/arm/configs/at91sam9g45_defconfig
+++ b/arch/arm/configs/at91sam9g45_defconfig
@@ -18,7 +18,6 @@ CONFIG_ARCH_AT91=y
18CONFIG_ARCH_AT91SAM9G45=y 18CONFIG_ARCH_AT91SAM9G45=y
19CONFIG_MACH_AT91SAM9M10G45EK=y 19CONFIG_MACH_AT91SAM9M10G45EK=y
20CONFIG_MACH_AT91SAM9_DT=y 20CONFIG_MACH_AT91SAM9_DT=y
21CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
22CONFIG_AT91_SLOW_CLOCK=y 21CONFIG_AT91_SLOW_CLOCK=y
23CONFIG_AEABI=y 22CONFIG_AEABI=y
24# CONFIG_OABI_COMPAT is not set 23# CONFIG_OABI_COMPAT is not set
diff --git a/arch/arm/configs/at91sam9rl_defconfig b/arch/arm/configs/at91sam9rl_defconfig
index 7cf87856d63c..7b6f131cecd6 100644
--- a/arch/arm/configs/at91sam9rl_defconfig
+++ b/arch/arm/configs/at91sam9rl_defconfig
@@ -13,7 +13,6 @@ CONFIG_MODULE_UNLOAD=y
13CONFIG_ARCH_AT91=y 13CONFIG_ARCH_AT91=y
14CONFIG_ARCH_AT91SAM9RL=y 14CONFIG_ARCH_AT91SAM9RL=y
15CONFIG_MACH_AT91SAM9RLEK=y 15CONFIG_MACH_AT91SAM9RLEK=y
16CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
17# CONFIG_ARM_THUMB is not set 16# CONFIG_ARM_THUMB is not set
18CONFIG_ZBOOT_ROM_TEXT=0x0 17CONFIG_ZBOOT_ROM_TEXT=0x0
19CONFIG_ZBOOT_ROM_BSS=0x0 18CONFIG_ZBOOT_ROM_BSS=0x0
diff --git a/arch/arm/configs/sama5_defconfig b/arch/arm/configs/sama5_defconfig
index f6e78f83c3c3..dc3881e07630 100644
--- a/arch/arm/configs/sama5_defconfig
+++ b/arch/arm/configs/sama5_defconfig
@@ -20,7 +20,6 @@ CONFIG_ARCH_AT91=y
20CONFIG_SOC_SAM_V7=y 20CONFIG_SOC_SAM_V7=y
21CONFIG_SOC_SAMA5D3=y 21CONFIG_SOC_SAMA5D3=y
22CONFIG_MACH_SAMA5_DT=y 22CONFIG_MACH_SAMA5_DT=y
23CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
24CONFIG_AEABI=y 23CONFIG_AEABI=y
25# CONFIG_OABI_COMPAT is not set 24# CONFIG_OABI_COMPAT is not set
26CONFIG_UACCESS_WITH_MEMCPY=y 25CONFIG_UACCESS_WITH_MEMCPY=y
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
index aac7814db4f9..f1bf952da747 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -214,12 +214,6 @@ config MACH_SAMA5_DT
214 214
215comment "AT91 Feature Selections" 215comment "AT91 Feature Selections"
216 216
217config AT91_PROGRAMMABLE_CLOCKS
218 bool "Programmable Clocks"
219 help
220 Select this if you need to program one or more of the PCK0..PCK3
221 programmable clock outputs.
222
223config AT91_SLOW_CLOCK 217config AT91_SLOW_CLOCK
224 bool "Suspend-to-RAM disables main oscillator" 218 bool "Suspend-to-RAM disables main oscillator"
225 depends on SUSPEND 219 depends on SUSPEND
diff --git a/arch/arm/mach-at91/clock.c b/arch/arm/mach-at91/clock.c
index 72b257944733..034529d801b2 100644
--- a/arch/arm/mach-at91/clock.c
+++ b/arch/arm/mach-at91/clock.c
@@ -330,8 +330,6 @@ EXPORT_SYMBOL(clk_get_rate);
330 330
331/*------------------------------------------------------------------------*/ 331/*------------------------------------------------------------------------*/
332 332
333#ifdef CONFIG_AT91_PROGRAMMABLE_CLOCKS
334
335/* 333/*
336 * For now, only the programmable clocks support reparenting (MCK could 334 * For now, only the programmable clocks support reparenting (MCK could
337 * do this too, with care) or rate changing (the PLLs could do this too, 335 * do this too, with care) or rate changing (the PLLs could do this too,
@@ -459,8 +457,6 @@ static void __init init_programmable_clock(struct clk *clk)
459 clk->rate_hz = parent->rate_hz / pmc_prescaler_divider(pckr); 457 clk->rate_hz = parent->rate_hz / pmc_prescaler_divider(pckr);
460} 458}
461 459
462#endif /* CONFIG_AT91_PROGRAMMABLE_CLOCKS */
463
464/*------------------------------------------------------------------------*/ 460/*------------------------------------------------------------------------*/
465 461
466#ifdef CONFIG_DEBUG_FS 462#ifdef CONFIG_DEBUG_FS
@@ -577,12 +573,10 @@ int __init clk_register(struct clk *clk)
577 clk->parent = &mck; 573 clk->parent = &mck;
578 clk->mode = pmc_sys_mode; 574 clk->mode = pmc_sys_mode;
579 } 575 }
580#ifdef CONFIG_AT91_PROGRAMMABLE_CLOCKS
581 else if (clk_is_programmable(clk)) { 576 else if (clk_is_programmable(clk)) {
582 clk->mode = pmc_sys_mode; 577 clk->mode = pmc_sys_mode;
583 init_programmable_clock(clk); 578 init_programmable_clock(clk);
584 } 579 }
585#endif
586 580
587 at91_clk_add(clk); 581 at91_clk_add(clk);
588 582
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
index d43b79f56e94..590b52dea9f7 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -155,9 +155,6 @@ static int at91_pm_verify_clocks(void)
155 } 155 }
156 } 156 }
157 157
158 if (!IS_ENABLED(CONFIG_AT91_PROGRAMMABLE_CLOCKS))
159 return 1;
160
161 /* PCK0..PCK3 must be disabled, or configured to use clk32k */ 158 /* PCK0..PCK3 must be disabled, or configured to use clk32k */
162 for (i = 0; i < 4; i++) { 159 for (i = 0; i < 4; i++) {
163 u32 css; 160 u32 css;
diff --git a/drivers/clk/at91/Makefile b/drivers/clk/at91/Makefile
index 0e92b716f934..46c1d3d0d66b 100644
--- a/drivers/clk/at91/Makefile
+++ b/drivers/clk/at91/Makefile
@@ -4,9 +4,8 @@
4 4
5obj-y += pmc.o 5obj-y += pmc.o
6obj-y += clk-main.o clk-pll.o clk-plldiv.o clk-master.o 6obj-y += clk-main.o clk-pll.o clk-plldiv.o clk-master.o
7obj-y += clk-system.o clk-peripheral.o 7obj-y += clk-system.o clk-peripheral.o clk-programmable.o
8 8
9obj-$(CONFIG_AT91_PROGRAMMABLE_CLOCKS) += clk-programmable.o
10obj-$(CONFIG_HAVE_AT91_UTMI) += clk-utmi.o 9obj-$(CONFIG_HAVE_AT91_UTMI) += clk-utmi.o
11obj-$(CONFIG_HAVE_AT91_USB_CLK) += clk-usb.o 10obj-$(CONFIG_HAVE_AT91_USB_CLK) += clk-usb.o
12obj-$(CONFIG_HAVE_AT91_SMD) += clk-smd.o 11obj-$(CONFIG_HAVE_AT91_SMD) += clk-smd.o
diff --git a/drivers/clk/at91/pmc.c b/drivers/clk/at91/pmc.c
index 7b9db603b936..11fceff8d9f1 100644
--- a/drivers/clk/at91/pmc.c
+++ b/drivers/clk/at91/pmc.c
@@ -279,7 +279,6 @@ static const struct of_device_id pmc_clk_ids[] __initdata = {
279 .data = of_at91sam9x5_clk_periph_setup, 279 .data = of_at91sam9x5_clk_periph_setup,
280 }, 280 },
281 /* Programmable clocks */ 281 /* Programmable clocks */
282#if defined(CONFIG_AT91_PROGRAMMABLE_CLOCKS)
283 { 282 {
284 .compatible = "atmel,at91rm9200-clk-programmable", 283 .compatible = "atmel,at91rm9200-clk-programmable",
285 .data = of_at91rm9200_clk_prog_setup, 284 .data = of_at91rm9200_clk_prog_setup,
@@ -292,7 +291,6 @@ static const struct of_device_id pmc_clk_ids[] __initdata = {
292 .compatible = "atmel,at91sam9x5-clk-programmable", 291 .compatible = "atmel,at91sam9x5-clk-programmable",
293 .data = of_at91sam9x5_clk_prog_setup, 292 .data = of_at91sam9x5_clk_prog_setup,
294 }, 293 },
295#endif
296 /* UTMI clock */ 294 /* UTMI clock */
297#if defined(CONFIG_HAVE_AT91_UTMI) 295#if defined(CONFIG_HAVE_AT91_UTMI)
298 { 296 {
diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h
index ba8d14233f80..441350983ccb 100644
--- a/drivers/clk/at91/pmc.h
+++ b/drivers/clk/at91/pmc.h
@@ -85,14 +85,12 @@ extern void __init of_at91rm9200_clk_periph_setup(struct device_node *np,
85extern void __init of_at91sam9x5_clk_periph_setup(struct device_node *np, 85extern void __init of_at91sam9x5_clk_periph_setup(struct device_node *np,
86 struct at91_pmc *pmc); 86 struct at91_pmc *pmc);
87 87
88#if defined(CONFIG_AT91_PROGRAMMABLE_CLOCKS)
89extern void __init of_at91rm9200_clk_prog_setup(struct device_node *np, 88extern void __init of_at91rm9200_clk_prog_setup(struct device_node *np,
90 struct at91_pmc *pmc); 89 struct at91_pmc *pmc);
91extern void __init of_at91sam9g45_clk_prog_setup(struct device_node *np, 90extern void __init of_at91sam9g45_clk_prog_setup(struct device_node *np,
92 struct at91_pmc *pmc); 91 struct at91_pmc *pmc);
93extern void __init of_at91sam9x5_clk_prog_setup(struct device_node *np, 92extern void __init of_at91sam9x5_clk_prog_setup(struct device_node *np,
94 struct at91_pmc *pmc); 93 struct at91_pmc *pmc);
95#endif
96 94
97#if defined(CONFIG_HAVE_AT91_UTMI) 95#if defined(CONFIG_HAVE_AT91_UTMI)
98extern void __init of_at91sam9x5_clk_utmi_setup(struct device_node *np, 96extern void __init of_at91sam9x5_clk_utmi_setup(struct device_node *np,
diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
index e48d38a1b95c..e634eb78ed03 100644
--- a/sound/soc/atmel/Kconfig
+++ b/sound/soc/atmel/Kconfig
@@ -25,7 +25,7 @@ config SND_ATMEL_SOC_SSC
25 25
26config SND_AT91_SOC_SAM9G20_WM8731 26config SND_AT91_SOC_SAM9G20_WM8731
27 tristate "SoC Audio support for WM8731-based At91sam9g20 evaluation board" 27 tristate "SoC Audio support for WM8731-based At91sam9g20 evaluation board"
28 depends on ARCH_AT91 && ATMEL_SSC && SND_ATMEL_SOC && AT91_PROGRAMMABLE_CLOCKS 28 depends on ARCH_AT91 && ATMEL_SSC && SND_ATMEL_SOC
29 select SND_ATMEL_SOC_PDC 29 select SND_ATMEL_SOC_PDC
30 select SND_ATMEL_SOC_SSC 30 select SND_ATMEL_SOC_SSC
31 select SND_SOC_WM8731 31 select SND_SOC_WM8731