Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 257481
b: refs/heads/master
c: a1e9adc
h: refs/heads/master
i:
  257479: bae11ca
v: v3
  • Loading branch information
Mark Brown committed Jun 1, 2011
1 parent ffe32dc commit ae62b9d
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 37aa716a57f7c1fe5deaedff242e04f5a0f26b54
refs/heads/master: a1e9adc00e722b8ec7d9b3d68e6f9564b9455d2f
24 changes: 22 additions & 2 deletions trunk/sound/soc/codecs/wm8915.c
Original file line number Diff line number Diff line change
Expand Up @@ -2382,6 +2382,20 @@ static irqreturn_t wm8915_irq(int irq, void *data)
}
}

static irqreturn_t wm8915_edge_irq(int irq, void *data)
{
irqreturn_t ret = IRQ_NONE;
irqreturn_t val;

do {
val = wm8915_irq(irq, data);
if (val != IRQ_NONE)
ret = val;
} while (val != IRQ_NONE);

return ret;
}

static void wm8915_retune_mobile_pdata(struct snd_soc_codec *codec)
{
struct wm8915_priv *wm8915 = snd_soc_codec_get_drvdata(codec);
Expand Down Expand Up @@ -2708,8 +2722,14 @@ static int wm8915_probe(struct snd_soc_codec *codec)

irq_flags |= IRQF_ONESHOT;

ret = request_threaded_irq(i2c->irq, NULL, wm8915_irq,
irq_flags, "wm8915", codec);
if (irq_flags & (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING))
ret = request_threaded_irq(i2c->irq, NULL,
wm8915_edge_irq,
irq_flags, "wm8915", codec);
else
ret = request_threaded_irq(i2c->irq, NULL, wm8915_irq,
irq_flags, "wm8915", codec);

if (ret == 0) {
/* Unmask the interrupt */
snd_soc_update_bits(codec, WM8915_INTERRUPT_CONTROL,
Expand Down

0 comments on commit ae62b9d

Please sign in to comment.