On Wed, May 08, 2013 at 03:10:20PM +0200, Fabio Baltieri wrote: > On Wed, May 08, 2013 at 01:32:25PM +0100, Mark Brown wrote:
> > I'm saying that if functions like enable_msp() don't work reliably then > > removing some but not all of their functionality isn't an obviously good > > approach to fixing that. Why does the other functionality work well but > > not this bit? It sounds like there's some reference counting bug here > > is all... > Yes, it started as a reference counting bug, due to the actual counter > not being shared between ux500-msp-i2s instances. > That said, the actual fork of this driver deployed by STE internally > does not handle I2S pin sleep state, and I was not able to find any > other ASoC driver that does that, which seems reasonable to me as I > can't come up with a reason to put those pins in hi-z anyway. But why does the rest of the code work well if the reference counting is wrong, it's in the middle of a big block of code? This all smells like this change is papering over a specific symptom of some underlying issue - if that's not the case then it needs to be clearer why. > If I understood the problem correctly you do that when you want to cut > power completely to some peripherals to avoid spurious current paths, > and that should not be the case for the audio codec, especially in this > case where it's part of a big multifuntion IC. Being a MFD should have nothing to do with this?
signature.asc
Description: Digital signature