
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.

endmenu
