* [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 1/2] mfd: Support active high IRQs on WM835x
@ 2009-01-26 19:23 Mark Brown
2009-01-26 19:23 ` [PATCH 2/2] mfd: Ensure all WM8350 IRQs are masked at startup Mark Brown
0 siblings, 1 reply; 5+ messages in thread
From: Mark Brown @ 2009-01-26 19:23 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 e5e82c7..908284c 100644
--- a/drivers/mfd/wm8350-core.c
+++ b/drivers/mfd/wm8350-core.c
@@ -1423,7 +1423,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-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®