On Thu, Aug 09, 2012 at 01:18:50PM +0300, Peter Ujfalusi wrote:
On 08/08/2012 05:49 PM, Mark Brown wrote:
That makes sense if the GPIO is actively driven, open drain should be better here, but it's still a generic thing which it'd be nice to extract.
To cover all of this in a generic way is not that straight forward IMHO.
The sequence is just:
1. Enable mutes (at _PRE time) 2. Do whatever the device needs 3. Disable the mutes (at _POST time)
I'm not sure there's any reason for you not to use the internal mute even if the external mute is present but if there is that's the only thing that's weird here. If there's no reason not to do it it just goes into step 2 and then it's fine, even if there is you can make it conditional in step 2.
Sure I could do this: hs_extmute: if only this is set we shall use the chip built in functionality hs_extmute_gpio: if this is set we use the extmute feature but with external GPIO.
But both need to be documented and supported.
Is there any actual case where an external mute is supplied via a mechanism other than a GPIO, and if there is would it not either need its own DT property or already need to interact with the driver from code, making the DT property redundant? My thinking here is that the flag should be redundant because we already need to specify how we do the mute, what I'd expect is that we activate the external mute functionality as a result of being given another way of doing it so we don't need to provide a flag.