linux/drivers/clk
Mike Turquette 7c045a55c9 clk: introduce optional disable_unused callback
Some gate clocks have special needs which must be handled during the
disable-unused clocks sequence.  These needs might be driven by software
due to the fact that we're disabling a clock outside of the normal
clk_disable path and a clk's enable_count will not be accurate.  On the
other hand a specific hardware programming sequence might need to be
followed for this corner case.

This change is needed for the upcoming OMAP port to the common clock
framework.  Specifically, it is undesirable to treat the disable-unused
path identically to the normal clk_disable path since other software
layers are involved.  In this case OMAP's clockdomain code throws WARNs
and bails early due to the clock's enable_count being set to zero.  A
custom callback mitigates this problem nicely.

Cc: Paul Walmsley <paul@pwsan.com>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
2012-12-10 22:35:02 -08:00
..
mmp clk: mmp: add clock definition for mmp2 2012-08-28 14:15:42 -07:00
mxs clk: mxs: Use a better name for the USB PHY clock 2012-11-16 09:28:19 -08:00
socfpga ARM: socfpga: initial support for Altera's SOCFPGA platform 2012-07-19 10:39:00 +02:00
spear CLK: SPEAr: Remove unused dummy apb_pclk 2012-11-21 11:46:12 -08:00
ux500 clk: ux500: fix bit error 2012-12-04 10:33:53 -08:00
versatile clk: move IM-PD1 clocks to drivers/clk 2012-11-21 11:02:44 -08:00
Kconfig clk: Common clocks implementation for Versatile Express 2012-10-29 11:08:03 -07:00
Makefile CLK: clk-twl6040: Initial clock driver for OMAP4+ McPDM fclk clock 2012-10-29 11:07:42 -07:00
clk-bcm2835.c clk: fix return value check in bcm2835_init_clocks() 2012-11-09 16:49:15 -08:00
clk-devres.c ARM: 7537/1: clk: Fix release in devm_clk_put() 2012-09-19 21:51:27 +01:00
clk-divider.c clk: Add CLK_IS_BASIC flag to identify basic clocks 2012-07-11 15:36:43 -07:00
clk-fixed-factor.c clk: Add CLK_IS_BASIC flag to identify basic clocks 2012-07-11 15:36:43 -07:00
clk-fixed-rate.c clk: fix return value check in of_fixed_clk_setup() 2012-10-29 11:06:19 -07:00
clk-gate.c clk: Add CLK_IS_BASIC flag to identify basic clocks 2012-07-11 15:36:43 -07:00
clk-highbank.c clk: add highbank clock support 2012-07-11 17:58:47 -07:00
clk-ls1x.c clk: add Loongson1B clock support 2012-08-31 11:05:18 -07:00
clk-max77686.c clock: max77686: Add driver for Maxim 77686 32Khz crystal oscillator. 2012-09-06 16:55:38 -07:00
clk-mux.c clk: Add CLK_IS_BASIC flag to identify basic clocks 2012-07-11 15:36:43 -07:00
clk-nomadik.c ARM: nomadik: convert to generic clock 2012-06-10 18:41:40 +02:00
clk-prima2.c clk: fix return value check in sirfsoc_of_clk_init() 2012-10-29 11:07:32 -07:00
clk-twl6040.c CLK: clk-twl6040: fix return value check in twl6040_clk_probe() 2012-11-15 11:04:34 -08:00
clk-u300.c ARM: u300: convert to common clock 2012-07-11 15:36:45 -07:00
clk-vt8500.c CLK: vt8500: Fix SDMMC clk special cases 2012-11-09 17:03:55 -08:00
clk-wm831x.c clk: wm831x: Use devm_clk_register() to simplify code 2012-10-29 11:12:55 -07:00
clk.c clk: introduce optional disable_unused callback 2012-12-10 22:35:02 -08:00
clkdev.c ARM: 7534/1: clk: Make the managed clk functions generically available 2012-09-15 21:55:27 +01:00