linux/arch/arm
Boris BREZILLON c8a8c63008 ARM: at91: add Kconfig options for common clk support
This patch adds the following Kconfig options to prepare the transition to
common clk framework:

- AT91_USE_OLD_CLK: this option is selected by every SoC which does not
  support new at91 clks based on common clk framework (SoC which does not
  define the clock tree in its device tree).
  This options is also selected when the user choose non dt boards support
  (new at91 clks can only be registered from a device tree definition).

- COMMON_CLK_AT91: this option cannot be selected directly. Instead it is
  enabled if these 3 conditions are met:
   * at least one of the selected SoCs have a PMC (Power Management
     Controller) Unit
   * device tree support is enabled
   * the old at91 clk implementation is disabled (every selected SoC define
     its clks in its device tree and non dt boards support is disabled)

- OLD_CLK_AT91: this option cannot be selected directly. Instead it is
  enabled if these 2 conditions are met:
   * at least one of the selected SoCs have a PMC (Power Management
     Controller) Unit
   * at least one of the selected SoCs does not define its clks in its
     device tree or non dt-boards support is enabled

This patch selects AT91_USE_OLD_CLK in all currently supported SoCs. These
selects will be removed after clk definitions are properly added in each
soc's device tree.
It also selects AT91_USE_OLD_CLK in all non-dt boards support.

AT91_PMC_UNIT references are replaced by OLD_CLK_AT91, because PMC Unit is
enabled for both old and common clk implementations, and old clk
implementation should not be compiled if COMMON_CLK is enabled.

To avoid future link errors, a new stub is created for at91_dt_clock_init
function if OLD_CLK_AT91 is disabled.

A new check is added in dt init functions (setup.c) to prepare for SoCs
supporting new clk implementation. These SoCs won't setup the
register_clocks callback (clk registration is done using of_clk_init).

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-02 15:22:52 +01:00
..
boot Highlights: 2013-11-18 15:35:09 -08:00
common Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2013-11-20 13:20:24 -08:00
configs watchdog: sirf: add watchdog driver of CSR SiRFprimaII and SiRFatlasVI 2013-11-17 19:37:23 +01:00
crypto ARM: add .gitignore entry for aesbs-core.S 2013-10-07 15:43:53 +01:00
include Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm 2013-11-22 09:56:51 -08:00
kernel ARM: 7892/1: Fix warning for V7M builds 2013-11-19 00:41:03 +00:00
kvm Fix percpu vmalloc allocations 2013-11-19 10:43:05 +02:00
lib ARM: 7893/1: bitops: only emit .arch_extension mp if CONFIG_SMP 2013-11-20 23:05:53 +00:00
mach-at91 ARM: at91: add Kconfig options for common clk support 2013-12-02 15:22:52 +01:00
mach-bcm BCM changes for 3.13/soc. A number of cleanup related changes. 2013-10-30 14:03:39 -07:00
mach-bcm2835 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-11-12 10:02:59 +09:00
mach-clps711x ARM: clps711x: Use linux/sched_clock.h 2013-10-11 14:50:10 -07:00
mach-cns3xxx
mach-davinci Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-11-18 15:50:07 -08:00
mach-dove ARM: driver updates for 3.13 2013-11-11 17:05:37 +09:00
mach-ebsa110
mach-ep93xx usb: ohci: remove ep93xx bus glue platform driver 2013-10-29 16:43:37 -07:00
mach-exynos ACPI and power management updates for 3.13-rc1 2013-11-14 13:41:48 +09:00
mach-footbridge ARM: footbridge: fix build warnings for netwinder 2013-10-31 10:54:03 +00:00
mach-gemini GPIO bulk changes for the v3.13 development cycle 2013-11-12 15:50:46 +09:00
mach-highbank ARM: SoC fixes for 3.13 merge window 2013-11-16 12:45:55 -08:00
mach-imx Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-11-18 15:50:07 -08:00
mach-integrator Few clock fixes, a runtime PM fix, and pinctrl-single fix along 2013-11-15 15:17:59 -08:00
mach-iop13xx dmaengine: remove DMA unmap from drivers 2013-11-14 11:04:38 -08:00
mach-iop32x
mach-iop33x
mach-ixp4xx Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 08:51:29 +09:00
mach-keystone DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
mach-kirkwood Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-11-18 15:50:07 -08:00
mach-ks8695
mach-lpc32xx
mach-mmp fbdev changes for 3.13 2013-11-14 14:44:20 +09:00
mach-msm Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-11-12 10:36:00 +09:00
mach-mv78xx0
mach-mvebu ARM: mvebu: support running big-endian 2013-10-19 20:46:34 +01:00
mach-mxs ARM: SoC DT updates for 3.13 2013-11-11 17:34:56 +09:00
mach-netx
mach-nomadik Merge branch 'clk-of-init-v2_for-3.13' of https://github.com/shesselba/linux-dove into next/cleanup 2013-10-07 09:47:31 -07:00
mach-nspire ARM: nspire: remove custom .init_time hook 2013-09-29 21:09:37 +02:00
mach-omap1 Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-11-18 15:50:07 -08:00
mach-omap2 Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-11-18 15:50:07 -08:00
mach-orion5x
mach-picoxcell
mach-prima2 ARM: prima2: remove custom .init_time hook 2013-09-29 21:09:38 +02:00
mach-pxa Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-11-18 15:50:07 -08:00
mach-realview
mach-rockchip ARM: SoC board updates for 3.13 2013-11-11 16:57:16 +09:00
mach-rpc
mach-s3c24xx Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-11-18 15:50:07 -08:00
mach-s3c64xx pwm: Changes for v3.13-rc1 2013-11-16 12:21:40 -08:00
mach-s5p64x0 ARM: SAMSUNG: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
mach-s5pc100 ARM: SAMSUNG: Initialize PWM backlight enable_gpio field 2013-10-16 09:05:57 +02:00
mach-s5pv210 pwm: Changes for v3.13-rc1 2013-11-16 12:21:40 -08:00
mach-sa1100 ACPI and power management updates for 3.13-rc1 2013-11-14 13:41:48 +09:00
mach-shmobile pwm: Changes for v3.13-rc1 2013-11-16 12:21:40 -08:00
mach-socfpga ARM: drop explicit selection of HAVE_CLK and CLKDEV_LOOKUP 2013-10-07 10:41:32 -07:00
mach-spear ARM: drop explicit selection of HAVE_CLK and CLKDEV_LOOKUP 2013-10-07 10:41:32 -07:00
mach-sti ARM: SoC fixes for 3.13 merge window 2013-11-16 12:45:55 -08:00
mach-sunxi ARM: sunxi: remove .init_time hooks 2013-10-28 10:19:45 -07:00
mach-tegra ARM: SoC fixes for 3.13 merge window 2013-11-16 12:45:55 -08:00
mach-u300 DeviceTree updates for 3.13. This is a bit larger pull request than 2013-11-12 16:52:17 +09:00
mach-ux500 ACPI and power management updates for 3.13-rc1 2013-11-14 13:41:48 +09:00
mach-versatile
mach-vexpress ACPI and power management updates for 3.13-rc1 2013-11-14 13:41:48 +09:00
mach-virt
mach-vt8500 ARM: drop explicit selection of HAVE_CLK and CLKDEV_LOOKUP 2013-10-07 10:41:32 -07:00
mach-w90x900 ARM: w90x900: delete <mach/gpio.h> 2013-10-01 10:33:02 +02:00
mach-zynq ACPI and power management updates for 3.13-rc1 2013-11-14 13:41:48 +09:00
mm Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm 2013-11-22 09:56:51 -08:00
net Merge branch 'devel-stable' into for-next 2013-11-12 10:58:59 +00:00
nwfpe
oprofile
plat-iop
plat-omap ARM: OMAP: remove deprecated IRQF_DISABLED 2013-10-03 13:24:36 -07:00
plat-orion
plat-pxa
plat-samsung pwm: Changes for v3.13-rc1 2013-11-16 12:21:40 -08:00
plat-versatile ARM: vexpress: add big endian support 2013-10-19 20:46:34 +01:00
tools
vfp ARM: 7873/1: vfp: clear vfp_current_hw_state for dying cpu 2013-10-30 22:10:10 +00:00
xen Merge remote-tracking branch 'stefano/swiotlb-xen-9.1' into stable/for-linus-3.13 2013-11-08 16:10:48 -05:00
Kconfig Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm 2013-11-22 09:56:51 -08:00
Kconfig-nommu
Kconfig.debug Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 08:51:29 +09:00
Makefile Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 08:51:29 +09:00