diff options
| -rw-r--r-- | sound/soc/codecs/wm8994.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c index 02c320f71cdf..24131a7f9390 100644 --- a/sound/soc/codecs/wm8994.c +++ b/sound/soc/codecs/wm8994.c | |||
| @@ -819,8 +819,9 @@ static int clk_sys_event(struct snd_soc_dapm_widget *w, | |||
| 819 | * don't want false reports. | 819 | * don't want false reports. |
| 820 | */ | 820 | */ |
| 821 | if (wm8994->jackdet && !wm8994->clk_has_run) { | 821 | if (wm8994->jackdet && !wm8994->clk_has_run) { |
| 822 | schedule_delayed_work(&wm8994->jackdet_bootstrap, | 822 | queue_delayed_work(system_power_efficient_wq, |
| 823 | msecs_to_jiffies(1000)); | 823 | &wm8994->jackdet_bootstrap, |
| 824 | msecs_to_jiffies(1000)); | ||
| 824 | wm8994->clk_has_run = true; | 825 | wm8994->clk_has_run = true; |
| 825 | } | 826 | } |
| 826 | break; | 827 | break; |
| @@ -3487,7 +3488,8 @@ static irqreturn_t wm8994_mic_irq(int irq, void *data) | |||
| 3487 | 3488 | ||
| 3488 | pm_wakeup_event(codec->dev, 300); | 3489 | pm_wakeup_event(codec->dev, 300); |
| 3489 | 3490 | ||
| 3490 | schedule_delayed_work(&priv->mic_work, msecs_to_jiffies(250)); | 3491 | queue_delayed_work(system_power_efficient_wq, |
| 3492 | &priv->mic_work, msecs_to_jiffies(250)); | ||
| 3491 | 3493 | ||
| 3492 | return IRQ_HANDLED; | 3494 | return IRQ_HANDLED; |
| 3493 | } | 3495 | } |
| @@ -3575,8 +3577,9 @@ static void wm8958_mic_id(void *data, u16 status) | |||
| 3575 | /* If nothing present then clear our statuses */ | 3577 | /* If nothing present then clear our statuses */ |
| 3576 | dev_dbg(codec->dev, "Detected open circuit\n"); | 3578 | dev_dbg(codec->dev, "Detected open circuit\n"); |
| 3577 | 3579 | ||
| 3578 | schedule_delayed_work(&wm8994->open_circuit_work, | 3580 | queue_delayed_work(system_power_efficient_wq, |
| 3579 | msecs_to_jiffies(2500)); | 3581 | &wm8994->open_circuit_work, |
| 3582 | msecs_to_jiffies(2500)); | ||
| 3580 | return; | 3583 | return; |
| 3581 | } | 3584 | } |
| 3582 | 3585 | ||
| @@ -3690,8 +3693,9 @@ static irqreturn_t wm1811_jackdet_irq(int irq, void *data) | |||
| 3690 | WM1811_JACKDET_DB, 0); | 3693 | WM1811_JACKDET_DB, 0); |
| 3691 | 3694 | ||
| 3692 | delay = control->pdata.micdet_delay; | 3695 | delay = control->pdata.micdet_delay; |
| 3693 | schedule_delayed_work(&wm8994->mic_work, | 3696 | queue_delayed_work(system_power_efficient_wq, |
| 3694 | msecs_to_jiffies(delay)); | 3697 | &wm8994->mic_work, |
| 3698 | msecs_to_jiffies(delay)); | ||
| 3695 | } else { | 3699 | } else { |
| 3696 | dev_dbg(codec->dev, "Jack not detected\n"); | 3700 | dev_dbg(codec->dev, "Jack not detected\n"); |
| 3697 | 3701 | ||
| @@ -3940,8 +3944,9 @@ static irqreturn_t wm8958_mic_irq(int irq, void *data) | |||
| 3940 | id_delay = wm8994->wm8994->pdata.mic_id_delay; | 3944 | id_delay = wm8994->wm8994->pdata.mic_id_delay; |
| 3941 | 3945 | ||
| 3942 | if (wm8994->mic_detecting) | 3946 | if (wm8994->mic_detecting) |
| 3943 | schedule_delayed_work(&wm8994->mic_complete_work, | 3947 | queue_delayed_work(system_power_efficient_wq, |
| 3944 | msecs_to_jiffies(id_delay)); | 3948 | &wm8994->mic_complete_work, |
| 3949 | msecs_to_jiffies(id_delay)); | ||
| 3945 | else | 3950 | else |
| 3946 | wm8958_button_det(codec, reg); | 3951 | wm8958_button_det(codec, reg); |
| 3947 | 3952 | ||
