On Wed, 27 Mar 2013, Mike Turquette wrote:
Reentrancy into the clock framework from the clk.h api is necessary for clocks that are prepared and unprepared via i2c_transfer (which includes many PMICs and discrete audio chips) as well as for several other use cases.
That explanation sucks.
Why does an i2c clock need reentrancy? Just because it's i2c or what?
What exactly are the "several other use cases"?
Why do you need the spinlock side reentrant? If a clock is handled by i2c it hardly can hold the spinlock over a i2c transfer.
A few pointers to code which needs this would be nice as well.
I'm refraining from reviewing the horrible implementation until I get proper answers to the above questions.
Thanks,
tglx