Hello,
the following series cleans up the gain ramp code found in the twl6040 codec driver. Main changes: - use one workqueue for the twl6040 codec driver (instead of the original 3) - Delays between the steps does not need to be different among the range. I assume, that the original code contained copy-paste snippets from wm8350 for this part - Cleanups for the DAPM_OUT_DRV_E event handler code. - delayed_works moved within their corresponding struct.
The series has been generated on top of: git://opensource.wolfsonmicro.com/linux-2.6-asoc, for-3.2 branch + ASoC: omap-mcpdm/twl6040: Offset cancellation series.
Side note: I have done this to better understand (while cleaning up the twl6040 driver) the requirements for the ramp code, and to study the possibility of adding support in the core for this (to handle the wm8350, and twl6040 in a generic way later). I'm still looking at the optimal implementation without ending up with too complicated code/structures...
Regards, Peter --- Peter Ujfalusi (10): ASoC: twl6040: Rename pga_event to out_drv_event ASoC: twl6040: Combine the custom volsw get, and put functions ASoC: twl6040: Move delayed_work struct inside twl6040_output for HS/HF ASoC: twl6040: Move the delayed_work for HS detection under twl6040_jack_data ASoC: twl6040: One workqueue should be enough ASoC: twl6040: correct loop counters for HS/HF ramp code ASoC: twl6040: No need to change delay during HS ramp ASoC: twl6040: No need to change delay during HF ramp ASoC: twl6040: Shift 2 identifies the HS output in out_drv_event ASoC: twl6040: Simplify code in out_drv_event for pending work check
sound/soc/codecs/twl6040.c | 203 ++++++++++++------------------------------- 1 files changed, 57 insertions(+), 146 deletions(-)