On Wed, Jan 28, 2015 at 12:45:13PM +0000, Bard Liao wrote:
- .idle_bias_off = true,
- .idle_bias_off = false,
There is no need to set false explicitly, it's the default. It also seems better to keep the flag if it's true, even if we don't actively do anything at the minute we may in future (either in the framework or in the driver) so the information seems useful.
Actually, we meet an issue. We use force enable in rt286_jack_detect. If
So, this is one of the reasons why people ask for good, clear changelogs...
a headset is inserted, the bias_level will not be OFF due to some widgets are ON. If idle_bias_off is true, rt286_suspend will not be invoked in suspend. And I "guess" rt286's power will be cut off in suspend. That's what we handle in rt286_suspend/resume functions. If rt286 's power is cut off and don't re-sync the cache, it will cause some unexpected issues.
Is there any good way to fix such issues?
If jack detection should be disabled over suspend the machine driver should do that (eg, by setting a NULL jack). It's actually common for systems to leave jack detection up over suspend as in systems like phones the jack can be a wake source, the hook switch is commonly expected to always be operational.