summaryrefslogtreecommitdiffstats
path: root/samples/watchdog
diff options
context:
space:
mode:
authorThomas Petazzoni2019-02-11 14:58:18 +0100
committerStephen Boyd2019-02-21 23:05:25 +0100
commitc0189feeade0f02a6cdac3b27b5e9c52f9930fc2 (patch)
treeb44dd2e30318efbe9b86f9f2750f6a7dae1fefdb /samples/watchdog
parentLinux 5.0-rc1 (diff)
downloadkernel-qcow2-linux-c0189feeade0f02a6cdac3b27b5e9c52f9930fc2.tar.gz
kernel-qcow2-linux-c0189feeade0f02a6cdac3b27b5e9c52f9930fc2.tar.xz
kernel-qcow2-linux-c0189feeade0f02a6cdac3b27b5e9c52f9930fc2.zip
clk: clk-gpio: add support for sleeping GPIOs in gpio-gate-clk
The current implementation of gpio-gate-clk enables/disables the clock using the GPIO in the ->enable() and ->disable() clock callbacks. This requires the GPIO to be configurable in atomic contexts. While it is the case for most memory-mapped GPIO controllers, it is not the case for GPIO expanders on I2C or SPI. This commit extends the gpio-gate-clk to check whether the GPIO calls require sleeping or not. If sleeping is not required, the current implementation based on ->enable()/->disable() is kept. However, if sleeping is needed, we instead implement the logic in the ->prepare() and ->unprepare() hooks. Thanks to this, a gate clock connected to a GPIO on a GPIO expander can be controlled with the existing driver. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> [sboyd@kernel.org: Mark clk ops static] Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Diffstat (limited to 'samples/watchdog')
0 files changed, 0 insertions, 0 deletions