On 11/22/2011 04:53 PM, Mark Brown wrote:
On Tue, Nov 22, 2011 at 04:44:39PM +0100, Daniel Mack wrote:
The code is so simple that I'm starting to suspect i2c_smbus_write_byte_data() is doing something very wrong, but I can't trace it without a hardware I2C analyzer right now. The i2c-regmap low-level implementation uses different access functions under the hood, so maybe that's a regression.
Could be, though I can't see any changes in the code here. It might be that a change between SMBus and regmap at runtime is upsetting the device somehow but given that it's supposed to be coming back from a power on reset...
That should affect more codecs then, right?
$ git grep -l i2c_smbus_write sound/ sound/aoa/codecs/onyx.c sound/aoa/codecs/tas.c sound/ppc/daca.c sound/ppc/tumbler.c sound/soc/codecs/tpa6130a2.c
We also think that the effect is actually rather new.
Does reverting to the non-regmap soc-io.c help?
Is there a single commit we can revert on top of 3.2-git to test this?
In any case, the patch is moving to factor code out in favour of core facilities so it's a good idea anyway.
Hmm, we should really care for the root cause, but maybe we can still commit this thing, with a more appropriate commit log?
I think so.
Ok, I'll repost with a better log then.