2010-01-06 19:24:30

by Mark Brown

[permalink] [raw]
Subject: [PATCH] mfd: Update WM8350 drivers for changed interrupt numbers

The headphone detect and charger are using the IRQ numbers so need
to take account of irq_base with the genirq conversion. I obviously
picked the wrong system for initial testing.

Signed-off-by: Mark Brown <[email protected]>
---
drivers/power/wm8350_power.c | 2 +-
sound/soc/codecs/wm8350.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/power/wm8350_power.c b/drivers/power/wm8350_power.c
index 3839a5e..0693902 100644
--- a/drivers/power/wm8350_power.c
+++ b/drivers/power/wm8350_power.c
@@ -190,7 +190,7 @@ static irqreturn_t wm8350_charger_handler(int irq, void *data)
struct wm8350_power *power = &wm8350->power;
struct wm8350_charger_policy *policy = power->policy;

- switch (irq) {
+ switch (irq - wm8350->irq_base) {
case WM8350_IRQ_CHG_BAT_FAIL:
dev_err(wm8350->dev, "battery failed\n");
break;
diff --git a/sound/soc/codecs/wm8350.c b/sound/soc/codecs/wm8350.c
index f45845a..93f1e4e 100644
--- a/sound/soc/codecs/wm8350.c
+++ b/sound/soc/codecs/wm8350.c
@@ -1349,7 +1349,7 @@ static irqreturn_t wm8350_hp_jack_handler(int irq, void *data)
int mask;
struct wm8350_jack_data *jack = NULL;

- switch (irq) {
+ switch (irq - wm8350->irq_base) {
case WM8350_IRQ_CODEC_JCK_DET_L:
jack = &priv->hpl;
mask = WM8350_JACK_L_LVL;
@@ -1424,7 +1424,7 @@ int wm8350_hp_jack_detect(struct snd_soc_codec *codec, enum wm8350_jack which,
wm8350_set_bits(wm8350, WM8350_JACK_DETECT, ena);

/* Sync status */
- wm8350_hp_jack_handler(irq, priv);
+ wm8350_hp_jack_handler(irq + wm8350->irq_base, priv);

return 0;
}
--
1.6.5.7


2010-01-06 19:48:27

by Samuel Ortiz

[permalink] [raw]
Subject: Re: [PATCH] mfd: Update WM8350 drivers for changed interrupt numbers

Hi Mark,

On Wed, Jan 06, 2010 at 07:24:25PM +0000, Mark Brown wrote:
> The headphone detect and charger are using the IRQ numbers so need
> to take account of irq_base with the genirq conversion. I obviously
> picked the wrong system for initial testing.
Patch applied to my for-next branch, thanks.

Cheers,
Samuel.


> Signed-off-by: Mark Brown <[email protected]>
> ---
> drivers/power/wm8350_power.c | 2 +-
> sound/soc/codecs/wm8350.c | 4 ++--
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/power/wm8350_power.c b/drivers/power/wm8350_power.c
> index 3839a5e..0693902 100644
> --- a/drivers/power/wm8350_power.c
> +++ b/drivers/power/wm8350_power.c
> @@ -190,7 +190,7 @@ static irqreturn_t wm8350_charger_handler(int irq, void *data)
> struct wm8350_power *power = &wm8350->power;
> struct wm8350_charger_policy *policy = power->policy;
>
> - switch (irq) {
> + switch (irq - wm8350->irq_base) {
> case WM8350_IRQ_CHG_BAT_FAIL:
> dev_err(wm8350->dev, "battery failed\n");
> break;
> diff --git a/sound/soc/codecs/wm8350.c b/sound/soc/codecs/wm8350.c
> index f45845a..93f1e4e 100644
> --- a/sound/soc/codecs/wm8350.c
> +++ b/sound/soc/codecs/wm8350.c
> @@ -1349,7 +1349,7 @@ static irqreturn_t wm8350_hp_jack_handler(int irq, void *data)
> int mask;
> struct wm8350_jack_data *jack = NULL;
>
> - switch (irq) {
> + switch (irq - wm8350->irq_base) {
> case WM8350_IRQ_CODEC_JCK_DET_L:
> jack = &priv->hpl;
> mask = WM8350_JACK_L_LVL;
> @@ -1424,7 +1424,7 @@ int wm8350_hp_jack_detect(struct snd_soc_codec *codec, enum wm8350_jack which,
> wm8350_set_bits(wm8350, WM8350_JACK_DETECT, ena);
>
> /* Sync status */
> - wm8350_hp_jack_handler(irq, priv);
> + wm8350_hp_jack_handler(irq + wm8350->irq_base, priv);
>
> return 0;
> }
> --
> 1.6.5.7
>

--
Intel Open Source Technology Centre
http://oss.intel.com/