linux/drivers/i2c
Mikko Perttunen c9a9ef4170 i2c: tegra: Move clk_prepare/clk_set_rate to probe
Currently the i2c-tegra bus driver prepares, enables
and set_rates its clocks separately for each transfer.
This causes locking problems when doing I2C transfers
from clock notifiers; see
http://lists.infradead.org/pipermail/linux-arm-kernel/2014-July/268653.html

This patch moves clk_prepare/unprepare and clk_set_rate calls to
the probe function, leaving only clk_enable/disable to be
done on each transfer. This solves the locking issue.

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-09-20 11:15:23 +02:00
..
algos Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2014-01-29 19:56:20 -08:00
busses i2c: tegra: Move clk_prepare/clk_set_rate to probe 2014-09-20 11:15:23 +02:00
muxes Merge branch 'i2c/for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2014-08-09 09:15:07 -07:00
i2c-acpi.c i2c: rework kernel config I2C_ACPI 2014-08-19 10:19:39 -05:00
i2c-boardinfo.c i2c: Update the FSF address 2012-03-26 21:47:19 +02:00
i2c-core.c Merge branch 'i2c/for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2014-08-09 09:15:07 -07:00
i2c-core.h i2c: Update the FSF address 2012-03-26 21:47:19 +02:00
i2c-dev.c i2c: i2c-dev: Create 'name' attribute automatically 2013-09-30 06:02:31 +02:00
i2c-mux.c i2c: mux: Inherit retry count and timeout from parent for muxed bus 2013-12-12 22:39:28 +01:00
i2c-smbus.c Update Jean Delvare's e-mail address 2014-01-29 20:40:08 +01:00
i2c-stub.c i2c: stub: Avoid an array overrun on I2C block transfers 2014-07-20 13:25:29 +02:00
Kconfig i2c: rework kernel config I2C_ACPI 2014-08-19 10:19:39 -05:00
Makefile i2c: rework kernel config I2C_ACPI 2014-08-19 10:19:39 -05:00