* [PATCH v2 0/5] net: macb updates [not found] ` <CAOesGMjcmeiBfc=EOvWazebg-9vnMuQtRC0aeHJy7Q=02RdRPA@mail.gmail.com> @ 2013-12-12 14:28 ` Nicolas Ferre 2013-12-12 16:00 ` [PATCH] ARM: at91: remove AT91_PROGRAMMABLE_CLOCKS configuration option Nicolas Ferre 0 siblings, 1 reply; 4+ messages in thread From: Nicolas Ferre @ 2013-12-12 14:28 UTC (permalink / raw) To: linux-arm-kernel On 12/12/2013 08:00, Olof Johansson : > Hi Soren, > > On Tue, Dec 10, 2013 at 4:07 PM, Soren Brinkmann > <soren.brinkmann@xilinx.com> wrote: > >> Soren Brinkmann (5): >> net: macb: Adjust tx_clk when link speed changes > > This patch causes build issues on some at91 platforms, namely > at91sam9263 that lacks programmable clocks. So it doesn't implement > clk_set_rate() and clk_round_rate(). > > I don't know if there's any reasonable config option to check for > (that wouldn't add at91-specific stuff to the driver which we don't > want). So I suspect the best way would be to implement dummy versions > for at91 when CONFIG_AT91_PROGRAMMABLE_CLOCKS isn't set. > > Nicolas, you OK with that? It'd be something like the below > (copy-paste, whitespace damage, just RFC): Well, in fact I am thinking about simply removing this AT91_PROGRAMMABLE_CLOCKS option out of the AT91 Kconfig. After all, when not specified, it only removes a few lines of code... and that's it! For a so little benefit, I suspect it is sensible to remove this option. I continue to discuss with AT91 active developers and write a patch soon. Thanks for the heads-up on this issue Olof. Bye, > diff --git a/arch/arm/mach-at91/clock.c b/arch/arm/mach-at91/clock.c > index 6b2630a..17c52a7 100644 > --- a/arch/arm/mach-at91/clock.c > +++ b/arch/arm/mach-at91/clock.c > @@ -459,6 +459,22 @@ static void __init init_programmable_clock(struct clk *clk) > clk->rate_hz = parent->rate_hz / pmc_prescaler_divider(pckr); > } > > +#else /* CONFIG_AT91_PROGRAMMABLE_CLOCKS */ > + > +int clk_set_rate(struct clk *clk, unsigned long rate) > +{ > + if (rate == clk_get_rate(clk)) > + return 0; > + > + return -EINVAL; > +} > + > +long clk_round_rate(struct clk *clk, unsigned long rate) > +{ > + /* There's really nothing sane to return here. */ > + return clk_get_rate(clk); > +} > + > #endif /* CONFIG_AT91_PROGRAMMABLE_CLOCKS */ > -- Nicolas Ferre ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] ARM: at91: remove AT91_PROGRAMMABLE_CLOCKS configuration option 2013-12-12 14:28 ` [PATCH v2 0/5] net: macb updates Nicolas Ferre @ 2013-12-12 16:00 ` Nicolas Ferre 2013-12-12 18:38 ` Kevin Hilman 2013-12-13 15:18 ` Jean-Christophe PLAGNIOL-VILLARD 0 siblings, 2 replies; 4+ messages in thread From: Nicolas Ferre @ 2013-12-12 16:00 UTC (permalink / raw) To: linux-arm-kernel 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> --- Olof, Kevin, This patch goes on top of the AT91 "cleanup" branch. Bye, arch/arm/configs/at91_dt_defconfig | 1 - arch/arm/configs/at91rm9200_defconfig | 1 - arch/arm/configs/at91sam9260_9g20_defconfig | 1 - arch/arm/configs/at91sam9261_9g10_defconfig | 1 - arch/arm/configs/at91sam9g45_defconfig | 1 - arch/arm/configs/at91sam9rl_defconfig | 1 - arch/arm/configs/sama5_defconfig | 1 - arch/arm/mach-at91/Kconfig | 6 ------ arch/arm/mach-at91/clock.c | 6 ------ arch/arm/mach-at91/pm.c | 3 --- drivers/clk/at91/Makefile | 3 +-- drivers/clk/at91/pmc.c | 2 -- drivers/clk/at91/pmc.h | 2 -- sound/soc/atmel/Kconfig | 2 +- 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 CONFIG_SOC_AT91SAM9N12=y CONFIG_MACH_AT91RM9200_DT=y CONFIG_MACH_AT91SAM9_DT=y -CONFIG_AT91_PROGRAMMABLE_CLOCKS=y CONFIG_AT91_TIMER_HZ=128 CONFIG_AEABI=y # 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 CONFIG_MACH_CPUAT91=y CONFIG_MACH_ECO920=y CONFIG_MTD_AT91_DATAFLASH_CARD=y -CONFIG_AT91_PROGRAMMABLE_CLOCKS=y CONFIG_AT91_TIMER_HZ=100 # CONFIG_ARM_THUMB is not set CONFIG_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 CONFIG_MACH_GSIA18S=y CONFIG_MACH_SNAPPER_9260=y CONFIG_MACH_AT91SAM9_DT=y -CONFIG_AT91_PROGRAMMABLE_CLOCKS=y CONFIG_AT91_SLOW_CLOCK=y # CONFIG_ARM_THUMB is not set CONFIG_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 CONFIG_ARCH_AT91SAM9261=y CONFIG_MACH_AT91SAM9261EK=y CONFIG_MACH_AT91SAM9G10EK=y -CONFIG_AT91_PROGRAMMABLE_CLOCKS=y # CONFIG_ARM_THUMB is not set CONFIG_AEABI=y # 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 CONFIG_ARCH_AT91SAM9G45=y CONFIG_MACH_AT91SAM9M10G45EK=y CONFIG_MACH_AT91SAM9_DT=y -CONFIG_AT91_PROGRAMMABLE_CLOCKS=y CONFIG_AT91_SLOW_CLOCK=y CONFIG_AEABI=y # 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 CONFIG_ARCH_AT91=y CONFIG_ARCH_AT91SAM9RL=y CONFIG_MACH_AT91SAM9RLEK=y -CONFIG_AT91_PROGRAMMABLE_CLOCKS=y # CONFIG_ARM_THUMB is not set CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_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 CONFIG_SOC_SAM_V7=y CONFIG_SOC_SAMA5D3=y CONFIG_MACH_SAMA5_DT=y -CONFIG_AT91_PROGRAMMABLE_CLOCKS=y CONFIG_AEABI=y # CONFIG_OABI_COMPAT is not set CONFIG_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 comment "AT91 Feature Selections" -config AT91_PROGRAMMABLE_CLOCKS - bool "Programmable Clocks" - help - Select this if you need to program one or more of the PCK0..PCK3 - programmable clock outputs. - config AT91_SLOW_CLOCK bool "Suspend-to-RAM disables main oscillator" 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); /*------------------------------------------------------------------------*/ -#ifdef CONFIG_AT91_PROGRAMMABLE_CLOCKS - /* * For now, only the programmable clocks support reparenting (MCK could * 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) clk->rate_hz = parent->rate_hz / pmc_prescaler_divider(pckr); } -#endif /* CONFIG_AT91_PROGRAMMABLE_CLOCKS */ - /*------------------------------------------------------------------------*/ #ifdef CONFIG_DEBUG_FS @@ -577,12 +573,10 @@ int __init clk_register(struct clk *clk) clk->parent = &mck; clk->mode = pmc_sys_mode; } -#ifdef CONFIG_AT91_PROGRAMMABLE_CLOCKS else if (clk_is_programmable(clk)) { clk->mode = pmc_sys_mode; init_programmable_clock(clk); } -#endif at91_clk_add(clk); 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) } } - if (!IS_ENABLED(CONFIG_AT91_PROGRAMMABLE_CLOCKS)) - return 1; - /* PCK0..PCK3 must be disabled, or configured to use clk32k */ for (i = 0; i < 4; i++) { 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 @@ obj-y += pmc.o obj-y += clk-main.o clk-pll.o clk-plldiv.o clk-master.o -obj-y += clk-system.o clk-peripheral.o +obj-y += clk-system.o clk-peripheral.o clk-programmable.o -obj-$(CONFIG_AT91_PROGRAMMABLE_CLOCKS) += clk-programmable.o obj-$(CONFIG_HAVE_AT91_UTMI) += clk-utmi.o obj-$(CONFIG_HAVE_AT91_USB_CLK) += clk-usb.o obj-$(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 = { .data = of_at91sam9x5_clk_periph_setup, }, /* Programmable clocks */ -#if defined(CONFIG_AT91_PROGRAMMABLE_CLOCKS) { .compatible = "atmel,at91rm9200-clk-programmable", .data = of_at91rm9200_clk_prog_setup, @@ -292,7 +291,6 @@ static const struct of_device_id pmc_clk_ids[] __initdata = { .compatible = "atmel,at91sam9x5-clk-programmable", .data = of_at91sam9x5_clk_prog_setup, }, -#endif /* UTMI clock */ #if defined(CONFIG_HAVE_AT91_UTMI) { 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, extern void __init of_at91sam9x5_clk_periph_setup(struct device_node *np, struct at91_pmc *pmc); -#if defined(CONFIG_AT91_PROGRAMMABLE_CLOCKS) extern void __init of_at91rm9200_clk_prog_setup(struct device_node *np, struct at91_pmc *pmc); extern void __init of_at91sam9g45_clk_prog_setup(struct device_node *np, struct at91_pmc *pmc); extern void __init of_at91sam9x5_clk_prog_setup(struct device_node *np, struct at91_pmc *pmc); -#endif #if defined(CONFIG_HAVE_AT91_UTMI) extern 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 config SND_AT91_SOC_SAM9G20_WM8731 tristate "SoC Audio support for WM8731-based At91sam9g20 evaluation board" - depends on ARCH_AT91 && ATMEL_SSC && SND_ATMEL_SOC && AT91_PROGRAMMABLE_CLOCKS + depends on ARCH_AT91 && ATMEL_SSC && SND_ATMEL_SOC select SND_ATMEL_SOC_PDC select SND_ATMEL_SOC_SSC select SND_SOC_WM8731 -- 1.8.2.2 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH] ARM: at91: remove AT91_PROGRAMMABLE_CLOCKS configuration option 2013-12-12 16:00 ` [PATCH] ARM: at91: remove AT91_PROGRAMMABLE_CLOCKS configuration option Nicolas Ferre @ 2013-12-12 18:38 ` Kevin Hilman 2013-12-13 15:18 ` Jean-Christophe PLAGNIOL-VILLARD 1 sibling, 0 replies; 4+ messages in thread From: Kevin Hilman @ 2013-12-12 18:38 UTC (permalink / raw) To: linux-arm-kernel Nicolas Ferre <nicolas.ferre@atmel.com> writes: > 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> > --- > Olof, Kevin, > > This patch goes on top of the AT91 "cleanup" branch. > Applied to next/cleanup. Thanks, Kevin ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] ARM: at91: remove AT91_PROGRAMMABLE_CLOCKS configuration option 2013-12-12 16:00 ` [PATCH] ARM: at91: remove AT91_PROGRAMMABLE_CLOCKS configuration option Nicolas Ferre 2013-12-12 18:38 ` Kevin Hilman @ 2013-12-13 15:18 ` Jean-Christophe PLAGNIOL-VILLARD 1 sibling, 0 replies; 4+ messages in thread From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-12-13 15:18 UTC (permalink / raw) To: linux-arm-kernel On 17:00 Thu 12 Dec , Nicolas Ferre wrote: > 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> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Best Regards, J. > --- > Olof, Kevin, > > This patch goes on top of the AT91 "cleanup" branch. > > Bye, > > > arch/arm/configs/at91_dt_defconfig | 1 - > arch/arm/configs/at91rm9200_defconfig | 1 - > arch/arm/configs/at91sam9260_9g20_defconfig | 1 - > arch/arm/configs/at91sam9261_9g10_defconfig | 1 - > arch/arm/configs/at91sam9g45_defconfig | 1 - > arch/arm/configs/at91sam9rl_defconfig | 1 - > arch/arm/configs/sama5_defconfig | 1 - > arch/arm/mach-at91/Kconfig | 6 ------ > arch/arm/mach-at91/clock.c | 6 ------ > arch/arm/mach-at91/pm.c | 3 --- > drivers/clk/at91/Makefile | 3 +-- > drivers/clk/at91/pmc.c | 2 -- > drivers/clk/at91/pmc.h | 2 -- > sound/soc/atmel/Kconfig | 2 +- > 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 > CONFIG_SOC_AT91SAM9N12=y > CONFIG_MACH_AT91RM9200_DT=y > CONFIG_MACH_AT91SAM9_DT=y > -CONFIG_AT91_PROGRAMMABLE_CLOCKS=y > CONFIG_AT91_TIMER_HZ=128 > CONFIG_AEABI=y > # 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 > CONFIG_MACH_CPUAT91=y > CONFIG_MACH_ECO920=y > CONFIG_MTD_AT91_DATAFLASH_CARD=y > -CONFIG_AT91_PROGRAMMABLE_CLOCKS=y > CONFIG_AT91_TIMER_HZ=100 > # CONFIG_ARM_THUMB is not set > CONFIG_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 > CONFIG_MACH_GSIA18S=y > CONFIG_MACH_SNAPPER_9260=y > CONFIG_MACH_AT91SAM9_DT=y > -CONFIG_AT91_PROGRAMMABLE_CLOCKS=y > CONFIG_AT91_SLOW_CLOCK=y > # CONFIG_ARM_THUMB is not set > CONFIG_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 > CONFIG_ARCH_AT91SAM9261=y > CONFIG_MACH_AT91SAM9261EK=y > CONFIG_MACH_AT91SAM9G10EK=y > -CONFIG_AT91_PROGRAMMABLE_CLOCKS=y > # CONFIG_ARM_THUMB is not set > CONFIG_AEABI=y > # 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 > CONFIG_ARCH_AT91SAM9G45=y > CONFIG_MACH_AT91SAM9M10G45EK=y > CONFIG_MACH_AT91SAM9_DT=y > -CONFIG_AT91_PROGRAMMABLE_CLOCKS=y > CONFIG_AT91_SLOW_CLOCK=y > CONFIG_AEABI=y > # 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 > CONFIG_ARCH_AT91=y > CONFIG_ARCH_AT91SAM9RL=y > CONFIG_MACH_AT91SAM9RLEK=y > -CONFIG_AT91_PROGRAMMABLE_CLOCKS=y > # CONFIG_ARM_THUMB is not set > CONFIG_ZBOOT_ROM_TEXT=0x0 > CONFIG_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 > CONFIG_SOC_SAM_V7=y > CONFIG_SOC_SAMA5D3=y > CONFIG_MACH_SAMA5_DT=y > -CONFIG_AT91_PROGRAMMABLE_CLOCKS=y > CONFIG_AEABI=y > # CONFIG_OABI_COMPAT is not set > CONFIG_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 > > comment "AT91 Feature Selections" > > -config AT91_PROGRAMMABLE_CLOCKS > - bool "Programmable Clocks" > - help > - Select this if you need to program one or more of the PCK0..PCK3 > - programmable clock outputs. > - > config AT91_SLOW_CLOCK > bool "Suspend-to-RAM disables main oscillator" > 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); > > /*------------------------------------------------------------------------*/ > > -#ifdef CONFIG_AT91_PROGRAMMABLE_CLOCKS > - > /* > * For now, only the programmable clocks support reparenting (MCK could > * 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) > clk->rate_hz = parent->rate_hz / pmc_prescaler_divider(pckr); > } > > -#endif /* CONFIG_AT91_PROGRAMMABLE_CLOCKS */ > - > /*------------------------------------------------------------------------*/ > > #ifdef CONFIG_DEBUG_FS > @@ -577,12 +573,10 @@ int __init clk_register(struct clk *clk) > clk->parent = &mck; > clk->mode = pmc_sys_mode; > } > -#ifdef CONFIG_AT91_PROGRAMMABLE_CLOCKS > else if (clk_is_programmable(clk)) { > clk->mode = pmc_sys_mode; > init_programmable_clock(clk); > } > -#endif > > at91_clk_add(clk); > > 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) > } > } > > - if (!IS_ENABLED(CONFIG_AT91_PROGRAMMABLE_CLOCKS)) > - return 1; > - > /* PCK0..PCK3 must be disabled, or configured to use clk32k */ > for (i = 0; i < 4; i++) { > 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 @@ > > obj-y += pmc.o > obj-y += clk-main.o clk-pll.o clk-plldiv.o clk-master.o > -obj-y += clk-system.o clk-peripheral.o > +obj-y += clk-system.o clk-peripheral.o clk-programmable.o > > -obj-$(CONFIG_AT91_PROGRAMMABLE_CLOCKS) += clk-programmable.o > obj-$(CONFIG_HAVE_AT91_UTMI) += clk-utmi.o > obj-$(CONFIG_HAVE_AT91_USB_CLK) += clk-usb.o > obj-$(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 = { > .data = of_at91sam9x5_clk_periph_setup, > }, > /* Programmable clocks */ > -#if defined(CONFIG_AT91_PROGRAMMABLE_CLOCKS) > { > .compatible = "atmel,at91rm9200-clk-programmable", > .data = of_at91rm9200_clk_prog_setup, > @@ -292,7 +291,6 @@ static const struct of_device_id pmc_clk_ids[] __initdata = { > .compatible = "atmel,at91sam9x5-clk-programmable", > .data = of_at91sam9x5_clk_prog_setup, > }, > -#endif > /* UTMI clock */ > #if defined(CONFIG_HAVE_AT91_UTMI) > { > 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, > extern void __init of_at91sam9x5_clk_periph_setup(struct device_node *np, > struct at91_pmc *pmc); > > -#if defined(CONFIG_AT91_PROGRAMMABLE_CLOCKS) > extern void __init of_at91rm9200_clk_prog_setup(struct device_node *np, > struct at91_pmc *pmc); > extern void __init of_at91sam9g45_clk_prog_setup(struct device_node *np, > struct at91_pmc *pmc); > extern void __init of_at91sam9x5_clk_prog_setup(struct device_node *np, > struct at91_pmc *pmc); > -#endif > > #if defined(CONFIG_HAVE_AT91_UTMI) > extern 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 > > config SND_AT91_SOC_SAM9G20_WM8731 > tristate "SoC Audio support for WM8731-based At91sam9g20 evaluation board" > - depends on ARCH_AT91 && ATMEL_SSC && SND_ATMEL_SOC && AT91_PROGRAMMABLE_CLOCKS > + depends on ARCH_AT91 && ATMEL_SSC && SND_ATMEL_SOC > select SND_ATMEL_SOC_PDC > select SND_ATMEL_SOC_SSC > select SND_SOC_WM8731 > -- > 1.8.2.2 > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-12-13 15:18 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <1386720443-24100-1-git-send-email-soren.brinkmann@xilinx.com> [not found] ` <CAOesGMjcmeiBfc=EOvWazebg-9vnMuQtRC0aeHJy7Q=02RdRPA@mail.gmail.com> 2013-12-12 14:28 ` [PATCH v2 0/5] net: macb updates Nicolas Ferre 2013-12-12 16:00 ` [PATCH] ARM: at91: remove AT91_PROGRAMMABLE_CLOCKS configuration option Nicolas Ferre 2013-12-12 18:38 ` Kevin Hilman 2013-12-13 15:18 ` Jean-Christophe PLAGNIOL-VILLARD
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).