13 Feb
2013
13 Feb
'13
6:39 a.m.
For a jack using GPIO based detection, the framework sets it to trigger on both edges (rising and falling). Some codecs may provide only a falling or rising edge interrupt but not both.
If the device only interrupts on one edge how does it detect jack removal?
Some codecs clears it's interrupt line when driver reads the codec status register. In such cases, the interupt line will go back to normal after driver reads status register. During removal, interrupt line will change and triggers on same edge interrupt.