
config CLKDEV_LOOKUP
	bool
	select HAVE_CLK

config HAVE_CLK_PREPARE
	bool

config HAVE_MACH_CLKDEV
	bool

config COMMON_CLK
	bool
	select HAVE_CLK_PREPARE
	select CLKDEV_LOOKUP
	---help---
	  The common clock framework is a single definition of struct
	  clk, useful across many platforms, as well as an
	  implementation of the clock API in include/linux/clk.h.
	  Architectures utilizing the common struct clk should select
	  this option.

menu "Common Clock Framework"
	depends on COMMON_CLK

config COMMON_CLK_DEBUG
	bool "DebugFS representation of clock tree"
	select DEBUG_FS
	---help---
	  Creates a directory hierchy in debugfs for visualizing the clk
	  tree structure.  Each directory contains read-only members
	  that export information specific to that clk node: clk_rate,
	  clk_flags, clk_prepare_count, clk_enable_count &
	  clk_notifier_count.

config COMMON_CLK_WM831X
	tristate "Clock driver for WM831x/2x PMICs"
	depends on MFD_WM831X
	---help---
          Supports the clocking subsystem of the WM831x/2x series of
	  PMICs from Wolfson Microlectronics.

config COMMON_CLK_VERSATILE
	bool "Clock driver for ARM Reference designs"
	depends on ARCH_INTEGRATOR || ARCH_REALVIEW
	---help---
          Supports clocking on ARM Reference designs Integrator/AP,
	  Integrator/CP, RealView PB1176, EB, PB11MP and PBX.

config COMMON_CLK_MAX77686
	tristate "Clock driver for Maxim 77686 MFD"
	depends on MFD_MAX77686
	---help---
	  This driver supports Maxim 77686 crystal oscillator clock. 

endmenu
