mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/2] WM8350 updates
@ 2009-02-05 18:12 Mark Brown
  2009-02-05 18:13 ` [PATCH 1/2] mfd: Support active high IRQs on WM835x Mark Brown
  2009-02-06 14:10 ` [PATCH 0/2] WM8350 updates Samuel Ortiz
  0 siblings, 2 replies; 5+ messages in thread
From: Mark Brown @ 2009-02-05 18:12 UTC (permalink / raw)
  To: Samuel Ortiz; +Cc: linux-kernel

I saw you had applied most of the outstanding patches for the WM8350
except for these two so I figured they may have been lost in the shuffle
and am resending them:

The following changes since commit e3d31e08fa03bb896ddea609dc5a703cf072babc:
  Mark Brown (1):
        mfd: Use bulk read to fill WM8350 register cache

are available in the git repository at:

  git://opensource.wolfsonmicro.com/linux-2.6-audioplus for-sameo

Mark Brown (2):
      mfd: Support active high IRQs on WM835x
      mfd: Ensure all WM8350 IRQs are masked at startup

 drivers/mfd/wm8350-core.c       |   23 ++++++++++++++++++++++-
 include/linux/mfd/wm8350/core.h |    2 ++
 2 files changed, 24 insertions(+), 1 deletions(-)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] mfd: Support active high IRQs on WM835x
  2009-02-05 18:12 [PATCH 0/2] WM8350 updates Mark Brown
@ 2009-02-05 18:13 ` Mark Brown
  2009-02-05 18:13   ` [PATCH 2/2] mfd: Ensure all WM8350 IRQs are masked at startup Mark Brown
  2009-02-06 14:10 ` [PATCH 0/2] WM8350 updates Samuel Ortiz
  1 sibling, 1 reply; 5+ messages in thread
From: Mark Brown @ 2009-02-05 18:13 UTC (permalink / raw)
  To: Samuel Ortiz; +Cc: linux-kernel, Mark Brown

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 drivers/mfd/wm8350-core.c       |   16 +++++++++++++++-
 include/linux/mfd/wm8350/core.h |    2 ++
 2 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/drivers/mfd/wm8350-core.c b/drivers/mfd/wm8350-core.c
index d34ac97..d784b3e 100644
--- a/drivers/mfd/wm8350-core.c
+++ b/drivers/mfd/wm8350-core.c
@@ -1426,7 +1426,21 @@ int wm8350_device_init(struct wm8350 *wm8350, int irq,
 	mutex_init(&wm8350->irq_mutex);
 	INIT_WORK(&wm8350->irq_work, wm8350_irq_worker);
 	if (irq) {
-		ret = request_irq(irq, wm8350_irq, 0,
+		int flags = 0;
+
+		if (pdata && pdata->irq_high) {
+			flags |= IRQF_TRIGGER_HIGH;
+
+			wm8350_set_bits(wm8350, WM8350_SYSTEM_CONTROL_1,
+					WM8350_IRQ_POL);
+		} else {
+			flags |= IRQF_TRIGGER_LOW;
+
+			wm8350_clear_bits(wm8350, WM8350_SYSTEM_CONTROL_1,
+					  WM8350_IRQ_POL);
+		}
+
+		ret = request_irq(irq, wm8350_irq, flags,
 				  "wm8350", wm8350);
 		if (ret != 0) {
 			dev_err(wm8350->dev, "Failed to request IRQ: %d\n",
diff --git a/include/linux/mfd/wm8350/core.h b/include/linux/mfd/wm8350/core.h
index 980669d..42cca67 100644
--- a/include/linux/mfd/wm8350/core.h
+++ b/include/linux/mfd/wm8350/core.h
@@ -640,9 +640,11 @@ struct wm8350 {
  *
  * @init: Function called during driver initialisation.  Should be
  *        used by the platform to configure GPIO functions and similar.
+ * @irq_high: Set if WM8350 IRQ is active high.
  */
 struct wm8350_platform_data {
 	int (*init)(struct wm8350 *wm8350);
+	int irq_high;
 };
 
 
-- 
1.5.6.5


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 2/2] mfd: Ensure all WM8350 IRQs are masked at startup
  2009-02-05 18:13 ` [PATCH 1/2] mfd: Support active high IRQs on WM835x Mark Brown
@ 2009-02-05 18:13   ` Mark Brown
  0 siblings, 0 replies; 5+ messages in thread
From: Mark Brown @ 2009-02-05 18:13 UTC (permalink / raw)
  To: Samuel Ortiz; +Cc: linux-kernel, Mark Brown

The IRQs might have been left enabled in hardware, generating spurious
IRQs before the drivers have registered.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 drivers/mfd/wm8350-core.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/mfd/wm8350-core.c b/drivers/mfd/wm8350-core.c
index d784b3e..c384cd2 100644
--- a/drivers/mfd/wm8350-core.c
+++ b/drivers/mfd/wm8350-core.c
@@ -1422,6 +1422,13 @@ int wm8350_device_init(struct wm8350 *wm8350, int irq,
 		return ret;
 	}
 
+	wm8350_reg_write(wm8350, WM8350_SYSTEM_INTERRUPTS_MASK, 0xFFFF);
+	wm8350_reg_write(wm8350, WM8350_INT_STATUS_1_MASK, 0xFFFF);
+	wm8350_reg_write(wm8350, WM8350_INT_STATUS_2_MASK, 0xFFFF);
+	wm8350_reg_write(wm8350, WM8350_UNDER_VOLTAGE_INT_STATUS_MASK, 0xFFFF);
+	wm8350_reg_write(wm8350, WM8350_GPIO_INT_STATUS_MASK, 0xFFFF);
+	wm8350_reg_write(wm8350, WM8350_COMPARATOR_INT_STATUS_MASK, 0xFFFF);
+
 	mutex_init(&wm8350->auxadc_mutex);
 	mutex_init(&wm8350->irq_mutex);
 	INIT_WORK(&wm8350->irq_work, wm8350_irq_worker);
-- 
1.5.6.5


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/2] WM8350 updates
  2009-02-05 18:12 [PATCH 0/2] WM8350 updates Mark Brown
  2009-02-05 18:13 ` [PATCH 1/2] mfd: Support active high IRQs on WM835x Mark Brown
@ 2009-02-06 14:10 ` Samuel Ortiz
  1 sibling, 0 replies; 5+ messages in thread
From: Samuel Ortiz @ 2009-02-06 14:10 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-kernel

On Thu, Feb 05, 2009 at 06:12:35PM +0000, Mark Brown wrote:
> I saw you had applied most of the outstanding patches for the WM8350
> except for these two so I figured they may have been lost in the shuffle
> and am resending them:
Ok, I got them now. Will apply, thanks.

Cheers,
Samuel.

 
> The following changes since commit e3d31e08fa03bb896ddea609dc5a703cf072babc:
>   Mark Brown (1):
>         mfd: Use bulk read to fill WM8350 register cache
> 
> are available in the git repository at:
> 
>   git://opensource.wolfsonmicro.com/linux-2.6-audioplus for-sameo
> 
> Mark Brown (2):
>       mfd: Support active high IRQs on WM835x
>       mfd: Ensure all WM8350 IRQs are masked at startup
> 
>  drivers/mfd/wm8350-core.c       |   23 ++++++++++++++++++++++-
>  include/linux/mfd/wm8350/core.h |    2 ++
>  2 files changed, 24 insertions(+), 1 deletions(-)

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 2/2] mfd: Ensure all WM8350 IRQs are masked at startup
  2009-01-26 19:23 [PATCH 1/2] mfd: Support active high IRQs on WM835x Mark Brown
@ 2009-01-26 19:23 ` Mark Brown
  0 siblings, 0 replies; 5+ messages in thread
From: Mark Brown @ 2009-01-26 19:23 UTC (permalink / raw)
  To: Samuel Ortiz; +Cc: linux-kernel, Mark Brown

The IRQs might have been left enabled in hardware, generating spurious
IRQs before the drivers have registered.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 drivers/mfd/wm8350-core.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/mfd/wm8350-core.c b/drivers/mfd/wm8350-core.c
index 908284c..3024aa2 100644
--- a/drivers/mfd/wm8350-core.c
+++ b/drivers/mfd/wm8350-core.c
@@ -1419,6 +1419,13 @@ int wm8350_device_init(struct wm8350 *wm8350, int irq,
 		return ret;
 	}
 
+	wm8350_reg_write(wm8350, WM8350_SYSTEM_INTERRUPTS_MASK, 0xFFFF);
+	wm8350_reg_write(wm8350, WM8350_INT_STATUS_1_MASK, 0xFFFF);
+	wm8350_reg_write(wm8350, WM8350_INT_STATUS_2_MASK, 0xFFFF);
+	wm8350_reg_write(wm8350, WM8350_UNDER_VOLTAGE_INT_STATUS_MASK, 0xFFFF);
+	wm8350_reg_write(wm8350, WM8350_GPIO_INT_STATUS_MASK, 0xFFFF);
+	wm8350_reg_write(wm8350, WM8350_COMPARATOR_INT_STATUS_MASK, 0xFFFF);
+
 	mutex_init(&wm8350->auxadc_mutex);
 	mutex_init(&wm8350->irq_mutex);
 	INIT_WORK(&wm8350->irq_work, wm8350_irq_worker);
-- 
1.5.6.5


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-02-06 14:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-02-05 18:12 [PATCH 0/2] WM8350 updates Mark Brown
2009-02-05 18:13 ` [PATCH 1/2] mfd: Support active high IRQs on WM835x Mark Brown
2009-02-05 18:13   ` [PATCH 2/2] mfd: Ensure all WM8350 IRQs are masked at startup Mark Brown
2009-02-06 14:10 ` [PATCH 0/2] WM8350 updates Samuel Ortiz
  -- strict thread matches above, loose matches on Subject: below --
2009-01-26 19:23 [PATCH 1/2] mfd: Support active high IRQs on WM835x Mark Brown
2009-01-26 19:23 ` [PATCH 2/2] mfd: Ensure all WM8350 IRQs are masked at startup Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®