On Thu, Nov 20, 2014 at 10:26:50AM +0100, Max Schwarz wrote: > 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 <max.schwarz@xxxxxxxxx> > Tested-by: Max Schwarz <max.schwarz@xxxxxxxxx> on RK3188 > Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> on RK3288 > Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Applied to for-next, thanks!
Attachment:
signature.asc
Description: Digital signature