add HAVE_CLK to Kconfig, for driver dependencies
authorDavid Brownell <dbrownell@users.sourceforge.net>
Thu, 24 Jul 2008 04:26:48 +0000 (21:26 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 24 Jul 2008 17:47:13 +0000 (10:47 -0700)
Flag platforms as HAVE_CLK (or not) in Kconfig, based on whether they
support <linux/clk.h> calls, so that otherwise portable drivers which need
those calls can list that dependency.

Something like this is a prerequisite for merging the musb_hdrc driver,
currently used on platforms including Davinci, OMAP2430, OMAP3xx ...  and
the discrete TUSB6010 chip, which doesn't have a natural platform
dependency.  (Used with OMAP 2420 in current Nokia N8x0 tablets.)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Russell King <rmk@arm.linux.org.uk>
Acked-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/Kconfig
arch/arm/Kconfig
arch/avr32/Kconfig
arch/powerpc/Kconfig
arch/sh/Kconfig

index ad89a33d8c6ef66acb166e49fa423659e18afc9c..4d5ebbc1e72b376afbdece5e001644a49a11ebe8 100644 (file)
@@ -42,3 +42,10 @@ config HAVE_DMA_ATTRS
 
 config USE_GENERIC_SMP_HELPERS
        def_bool n
 
 config USE_GENERIC_SMP_HELPERS
        def_bool n
+
+config HAVE_CLK
+       def_bool n
+       help
+         The <linux/clk.h> calls support software clock gating and
+         thus are a key power management tool on many systems.
+
index d048f6887d0b0aff8e882283923c9a3640a6a816..6fb4f03369f2715271d5a706ce32d9a4d4990529 100644 (file)
@@ -198,12 +198,14 @@ choice
 config ARCH_AAEC2000
        bool "Agilent AAEC-2000 based"
        select ARM_AMBA
 config ARCH_AAEC2000
        bool "Agilent AAEC-2000 based"
        select ARM_AMBA
+       select HAVE_CLK
        help
          This enables support for systems based on the Agilent AAEC-2000
 
 config ARCH_INTEGRATOR
        bool "ARM Ltd. Integrator family"
        select ARM_AMBA
        help
          This enables support for systems based on the Agilent AAEC-2000
 
 config ARCH_INTEGRATOR
        bool "ARM Ltd. Integrator family"
        select ARM_AMBA
+       select HAVE_CLK
        select ICST525
        help
          Support for ARM's Integrator platform.
        select ICST525
        help
          Support for ARM's Integrator platform.
@@ -211,6 +213,7 @@ config ARCH_INTEGRATOR
 config ARCH_REALVIEW
        bool "ARM Ltd. RealView family"
        select ARM_AMBA
 config ARCH_REALVIEW
        bool "ARM Ltd. RealView family"
        select ARM_AMBA
+       select HAVE_CLK
        select ICST307
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select ICST307
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
@@ -221,6 +224,7 @@ config ARCH_VERSATILE
        bool "ARM Ltd. Versatile family"
        select ARM_AMBA
        select ARM_VIC
        bool "ARM Ltd. Versatile family"
        select ARM_AMBA
        select ARM_VIC
+       select HAVE_CLK
        select ICST307
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select ICST307
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
@@ -262,6 +266,8 @@ config ARCH_EP93XX
        select ARM_AMBA
        select ARM_VIC
        select GENERIC_GPIO
        select ARM_AMBA
        select ARM_VIC
        select GENERIC_GPIO
+       select HAVE_CLK
+       select HAVE_CLK
        select HAVE_GPIO_LIB
        help
          This enables support for the Cirrus EP93xx series of CPUs.
        select HAVE_GPIO_LIB
        help
          This enables support for the Cirrus EP93xx series of CPUs.
@@ -381,6 +387,7 @@ config ARCH_NS9XXX
        select GENERIC_GPIO
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select GENERIC_GPIO
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
+       select HAVE_CLK
        help
          Say Y here if you intend to run this kernel on a NetSilicon NS9xxx
          System.
        help
          Say Y here if you intend to run this kernel on a NetSilicon NS9xxx
          System.
@@ -430,6 +437,7 @@ config ARCH_ORION5X
 
 config ARCH_PNX4008
        bool "Philips Nexperia PNX4008 Mobile"
 
 config ARCH_PNX4008
        bool "Philips Nexperia PNX4008 Mobile"
+       select HAVE_CLK
        help
          This enables support for Philips PNX4008 mobile platform.
 
        help
          This enables support for Philips PNX4008 mobile platform.
 
@@ -438,6 +446,7 @@ config ARCH_PXA
        depends on MMU
        select ARCH_MTD_XIP
        select GENERIC_GPIO
        depends on MMU
        select ARCH_MTD_XIP
        select GENERIC_GPIO
+       select HAVE_CLK
        select HAVE_GPIO_LIB
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select HAVE_GPIO_LIB
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
@@ -468,6 +477,7 @@ config ARCH_SA1100
        select GENERIC_GPIO
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select GENERIC_GPIO
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
+       select HAVE_CLK
        select TICK_ONESHOT
        select HAVE_GPIO_LIB
        help
        select TICK_ONESHOT
        select HAVE_GPIO_LIB
        help
@@ -476,6 +486,7 @@ config ARCH_SA1100
 config ARCH_S3C2410
        bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443"
        select GENERIC_GPIO
 config ARCH_S3C2410
        bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443"
        select GENERIC_GPIO
+       select HAVE_CLK
        help
          Samsung S3C2410X CPU based systems, such as the Simtec Electronics
          BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
        help
          Samsung S3C2410X CPU based systems, such as the Simtec Electronics
          BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
@@ -503,12 +514,14 @@ config ARCH_DAVINCI
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select GENERIC_GPIO
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select GENERIC_GPIO
+       select HAVE_CLK
        help
          Support for TI's DaVinci platform.
 
 config ARCH_OMAP
        bool "TI OMAP"
        select GENERIC_GPIO
        help
          Support for TI's DaVinci platform.
 
 config ARCH_OMAP
        bool "TI OMAP"
        select GENERIC_GPIO
+       select HAVE_CLK
        select HAVE_GPIO_LIB
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
        select HAVE_GPIO_LIB
        select GENERIC_TIME
        select GENERIC_CLOCKEVENTS
index 45d63c9860150fd70d566b8a032ccebda568f954..df4adefedb422696bc71f853ea0290e1bee81d86 100644 (file)
@@ -10,6 +10,7 @@ config AVR32
        # With EMBEDDED=n, we get lots of stuff automatically selected
        # that we usually don't need on AVR32.
        select EMBEDDED
        # With EMBEDDED=n, we get lots of stuff automatically selected
        # that we usually don't need on AVR32.
        select EMBEDDED
+       select HAVE_CLK
        select HAVE_OPROFILE
        select HAVE_KPROBES
        help
        select HAVE_OPROFILE
        select HAVE_KPROBES
        help
index 737ebf9d12bb9aca170de68098c758f796d46b0f..4d7e2ba10bae187761eef84344c6ad498cfaf8a7 100644 (file)
@@ -843,6 +843,7 @@ source "crypto/Kconfig"
 config PPC_CLOCK
        bool
        default n
 config PPC_CLOCK
        bool
        default n
+       select HAVE_CLK
 
 config PPC_LIB_RHEAP
        bool
 
 config PPC_LIB_RHEAP
        bool
index 3e7384f4619c9cd97002fd7264240aa69c7ba3ff..8879938f33566f0de6eb07b7e3bf1ba78f6afa3f 100644 (file)
@@ -8,6 +8,7 @@ mainmenu "Linux/SuperH Kernel Configuration"
 config SUPERH
        def_bool y
        select EMBEDDED
 config SUPERH
        def_bool y
        select EMBEDDED
+       select HAVE_CLK
        select HAVE_IDE
        select HAVE_OPROFILE
        help
        select HAVE_IDE
        select HAVE_OPROFILE
        help