From: Max Schwarz Date: Thu, 20 Nov 2014 09:26:50 +0000 (+0100) Subject: i2c: rk3x: handle dynamic clock rate changes correctly X-Git-Tag: omap-for-v3.19/fixes-rc1~91^2~17 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=249051f49907e7d147228a7d27a8ec37da1ea0fa;p=pandora-kernel.git i2c: rk3x: handle dynamic clock rate changes correctly The i2c input clock can change dynamically, e.g. on the RK3066 where pclk_i2c0 and pclk_i2c1 are connected to the armclk, which changes rate on cpu frequency scaling. Until now, we incorrectly called clk_get_rate() while holding the i2c->lock in rk3x_i2c_xfer() to adapt to clock rate changes. Thanks to Huang Tao for reporting this issue. Do it properly now using the clk notifier framework. The callback logic was taken from i2c-cadence.c. Also rename all misleading "i2c_rate" variables to "clk_rate", as they describe the *input* clk rate. Signed-off-by: Max Schwarz Tested-by: Doug Anderson on RK3288 Reviewed-by: Doug Anderson Signed-off-by: Wolfram Sang --- Reading git-diff-tree failed