linux-kernel.vger.kernel.org archive mirror
 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; 6+ 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] 6+ 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; 6+ 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 related	[flat|nested] 6+ 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; 6+ 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 related	[flat|nested] 6+ 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; 6+ 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] 6+ messages in thread

* Re: [PATCH 0/2] WM8350 updates
  2008-10-20 19:00 Mark Brown
@ 2008-10-20 22:44 ` Samuel Ortiz
  0 siblings, 0 replies; 6+ messages in thread
From: Samuel Ortiz @ 2008-10-20 22:44 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-kernel

Hi Mark,

On Mon, Oct 20, 2008 at 08:00:22PM +0100, Mark Brown wrote:
> A couple of minor WM8350 updates here.  The first, from Stephen
> Rothwell needs to be merged with Linus fairly urgently.  The second
> is less urgent since nothing merged should be affected, though it should
> still be safe to merge.

Both of them merged to my mfd-next tree. I'll send a pull request to Linus
tomorrow.

Thanks for the patches.

Cheers,
Samuel.

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

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

* [PATCH 0/2] WM8350 updates
@ 2008-10-20 19:00 Mark Brown
  2008-10-20 22:44 ` Samuel Ortiz
  0 siblings, 1 reply; 6+ messages in thread
From: Mark Brown @ 2008-10-20 19:00 UTC (permalink / raw)
  To: Samuel Ortiz; +Cc: linux-kernel

A couple of minor WM8350 updates here.  The first, from Stephen
Rothwell needs to be merged with Linus fairly urgently.  The second
is less urgent since nothing merged should be affected, though it should
still be safe to merge.

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

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

Thread overview: 6+ 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 --
2008-10-20 19:00 Mark Brown
2008-10-20 22:44 ` Samuel Ortiz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).