diff mbox

watchdog: ks8695: sink registers into driver

Message ID 1347342495-6990-1-git-send-email-linus.walleij@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

Linus Walleij Sept. 11, 2012, 5:48 a.m. UTC
Commit 70adc3f32adc2fb90b0107c020678588e4cf9f51
"ARM: ks8695: merge the timer header into the timer driver"
accidentally broke the ks8695 watchdog since it was using
the timer registers in watchdog mode.

Perform the same operation here: push the registers down
into the driver, so it is self-contained, and we can keep
depopulating the <mach/*> namespace.

Reported-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
Requesting an ACK from the watchdog maintainer so we can
merge this through the ARM SoC tree where the regression
was introduced.

And yes, the drive needs to take resources and ioremap(),
but that is another patch.
---
 drivers/watchdog/ks8695_wdt.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

Comments

Linus Walleij Sept. 11, 2012, 5:52 p.m. UTC | #1
On Tue, Sep 11, 2012 at 12:49 PM, Wim Van Sebroeck <wim@iguana.be> wrote:

> Hi Linus,
>> Commit 70adc3f32adc2fb90b0107c020678588e4cf9f51
>> "ARM: ks8695: merge the timer header into the timer driver"
>> accidentally broke the ks8695 watchdog since it was using
>> the timer registers in watchdog mode.
>>
>> Perform the same operation here: push the registers down
>> into the driver, so it is self-contained, and we can keep
>> depopulating the <mach/*> namespace.
>>
>> Reported-by: Olof Johansson <olof@lixom.net>
>> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
>> ---
>> Requesting an ACK from the watchdog maintainer so we can
>> merge this through the ARM SoC tree where the regression
>> was introduced.
>>
>> And yes, the drive needs to take resources and ioremap(),
>> but that is another patch.
>
> Acked-by: Wim Van Sebroeck <wim@iguana.be>

Thanks, Olof/Arnd: can you pick this single patch to the
ks8695/timer branch?

Yours,
Linus Walleij
Olof Johansson Sept. 12, 2012, 5:41 a.m. UTC | #2
On Tue, Sep 11, 2012 at 10:52 AM, Linus Walleij
<linus.walleij@linaro.org> wrote:
> On Tue, Sep 11, 2012 at 12:49 PM, Wim Van Sebroeck <wim@iguana.be> wrote:
>
>> Hi Linus,
>>> Commit 70adc3f32adc2fb90b0107c020678588e4cf9f51
>>> "ARM: ks8695: merge the timer header into the timer driver"
>>> accidentally broke the ks8695 watchdog since it was using
>>> the timer registers in watchdog mode.
>>>
>>> Perform the same operation here: push the registers down
>>> into the driver, so it is self-contained, and we can keep
>>> depopulating the <mach/*> namespace.
>>>
>>> Reported-by: Olof Johansson <olof@lixom.net>
>>> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
>>> ---
>>> Requesting an ACK from the watchdog maintainer so we can
>>> merge this through the ARM SoC tree where the regression
>>> was introduced.
>>>
>>> And yes, the drive needs to take resources and ioremap(),
>>> but that is another patch.
>>
>> Acked-by: Wim Van Sebroeck <wim@iguana.be>
>
> Thanks, Olof/Arnd: can you pick this single patch to the
> ks8695/timer branch?

Done, thanks for the follow-up.

-Olof
diff mbox

Patch

diff --git a/drivers/watchdog/ks8695_wdt.c b/drivers/watchdog/ks8695_wdt.c
index 59e75d9..c1a4d3b 100644
--- a/drivers/watchdog/ks8695_wdt.c
+++ b/drivers/watchdog/ks8695_wdt.c
@@ -24,7 +24,19 @@ 
 #include <linux/io.h>
 #include <linux/uaccess.h>
 #include <mach/hardware.h>
-#include <mach/regs-timer.h>
+
+#define KS8695_TMR_OFFSET	(0xF0000 + 0xE400)
+#define KS8695_TMR_VA		(KS8695_IO_VA + KS8695_TMR_OFFSET)
+
+/*
+ * Timer registers
+ */
+#define KS8695_TMCON		(0x00)		/* Timer Control Register */
+#define KS8695_T0TC		(0x08)		/* Timer 0 Timeout Count Register */
+#define TMCON_T0EN		(1 << 0)	/* Timer 0 Enable */
+
+/* Timer0 Timeout Counter Register */
+#define T0TC_WATCHDOG		(0xff)		/* Enable watchdog mode */
 
 #define WDT_DEFAULT_TIME	5	/* seconds */
 #define WDT_MAX_TIME		171	/* seconds */