public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] OMAP3:WDT:Enable clk in probe, trigger timer reload
@ 2009-06-12 16:05 Ulrik Bech Hald
  2009-06-12 16:13 ` Kevin Hilman
  0 siblings, 1 reply; 5+ messages in thread
From: Ulrik Bech Hald @ 2009-06-12 16:05 UTC (permalink / raw)
  To: linux-omap; +Cc: Ulrik Bech Hald

This patch contains two bugfixes:

1)In omap_wdt_probe() the watchdog is reset and disabled. This
requires register access and the clks needs to be enabled temporarily

2)In omap_wdt_open() the timer register needs to be reloaded
to trigger a new timer value (the default of 60s)

Signed-off-by: Ulrik Bech Hald <ubh@ti.com>
---
 drivers/watchdog/omap_wdt.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
 mode change 100644 => 100755 drivers/watchdog/omap_wdt.c

diff --git a/drivers/watchdog/omap_wdt.c b/drivers/watchdog/omap_wdt.c
old mode 100644
new mode 100755
index f271385..3ed571a
--- a/drivers/watchdog/omap_wdt.c
+++ b/drivers/watchdog/omap_wdt.c
@@ -159,6 +159,7 @@ static int omap_wdt_open(struct inode *inode, struct file *file)
 	file->private_data = (void *) wdev;
 
 	omap_wdt_set_timeout(wdev);
+	omap_wdt_ping(wdev); /* trigger loading of new timeout value */
 	omap_wdt_enable(wdev);
 
 	return nonseekable_open(inode, file);
@@ -313,6 +314,9 @@ static int __devinit omap_wdt_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, wdev);
 
+	clk_enable(wdev->ick);
+	clk_enable(wdev->fck);
+
 	omap_wdt_disable(wdev);
 	omap_wdt_adjust_timeout(timer_margin);
 
@@ -332,6 +336,9 @@ static int __devinit omap_wdt_probe(struct platform_device *pdev)
 	/* autogate OCP interface clock */
 	__raw_writel(0x01, wdev->base + OMAP_WATCHDOG_SYS_CONFIG);
 
+	clk_disable(wdev->ick);
+	clk_disable(wdev->fck);
+
 	omap_wdt_dev = pdev;
 
 	return 0;
-- 
1.5.4.3


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

* Re: [PATCH 1/1] OMAP3:WDT:Enable clk in probe, trigger timer reload
  2009-06-12 16:05 [PATCH 1/1] OMAP3:WDT:Enable clk in probe, trigger timer reload Ulrik Bech Hald
@ 2009-06-12 16:13 ` Kevin Hilman
  2009-06-13  3:57   ` Hugo Vincent
  0 siblings, 1 reply; 5+ messages in thread
From: Kevin Hilman @ 2009-06-12 16:13 UTC (permalink / raw)
  To: Ulrik Bech Hald; +Cc: linux-omap

Ulrik Bech Hald <ubh@ti.com> writes:

> This patch contains two bugfixes:
>
> 1)In omap_wdt_probe() the watchdog is reset and disabled. This
> requires register access and the clks needs to be enabled temporarily
>
> 2)In omap_wdt_open() the timer register needs to be reloaded
> to trigger a new timer value (the default of 60s)
>
> Signed-off-by: Ulrik Bech Hald <ubh@ti.com>

Can you change the subject slightly to something like:

  watchdog: OMAP fixes: enable clock in probe, trigger timer reload

Also add which OMAP platforms you have tested on since this affects
OMAP2, OMAP3 and presuably OMAP4.

After that, you can add

Reviewed-by: Kevin Hilman <khilman@ti.deeprootsystems.com>

And sent to watchdog maintiner, and CC linux-omap, here's excerpt from
MAINTAINERS:

WATCHDOG DEVICE DRIVERS
P:	Wim Van Sebroeck
M:	wim@iguana.be
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog.git
S:	Maintained
F:	Documentation/watchdog/
F:	drivers/watchdog/
F:	include/linux/watchdog.h

> ---
>  drivers/watchdog/omap_wdt.c |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
>  mode change 100644 => 100755 drivers/watchdog/omap_wdt.c
>
> diff --git a/drivers/watchdog/omap_wdt.c b/drivers/watchdog/omap_wdt.c
> old mode 100644
> new mode 100755
> index f271385..3ed571a
> --- a/drivers/watchdog/omap_wdt.c
> +++ b/drivers/watchdog/omap_wdt.c
> @@ -159,6 +159,7 @@ static int omap_wdt_open(struct inode *inode, struct file *file)
>  	file->private_data = (void *) wdev;
>  
>  	omap_wdt_set_timeout(wdev);
> +	omap_wdt_ping(wdev); /* trigger loading of new timeout value */
>  	omap_wdt_enable(wdev);
>  
>  	return nonseekable_open(inode, file);
> @@ -313,6 +314,9 @@ static int __devinit omap_wdt_probe(struct platform_device *pdev)
>  
>  	platform_set_drvdata(pdev, wdev);
>  
> +	clk_enable(wdev->ick);
> +	clk_enable(wdev->fck);
> +
>  	omap_wdt_disable(wdev);
>  	omap_wdt_adjust_timeout(timer_margin);
>  
> @@ -332,6 +336,9 @@ static int __devinit omap_wdt_probe(struct platform_device *pdev)
>  	/* autogate OCP interface clock */
>  	__raw_writel(0x01, wdev->base + OMAP_WATCHDOG_SYS_CONFIG);
>  
> +	clk_disable(wdev->ick);
> +	clk_disable(wdev->fck);
> +
>  	omap_wdt_dev = pdev;
>  
>  	return 0;
> -- 
> 1.5.4.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 1/1] OMAP3:WDT:Enable clk in probe, trigger timer reload
  2009-06-12 16:13 ` Kevin Hilman
@ 2009-06-13  3:57   ` Hugo Vincent
  2009-06-16 13:01     ` Premi, Sanjeev
  0 siblings, 1 reply; 5+ messages in thread
From: Hugo Vincent @ 2009-06-13  3:57 UTC (permalink / raw)
  To: Kevin Hilman; +Cc: Ulrik Bech Hald, linux-omap

On Sat, Jun 13, 2009 at 4:13 AM, Kevin
Hilman<khilman@deeprootsystems.com> wrote:
> Ulrik Bech Hald <ubh@ti.com> writes:
>
>> This patch contains two bugfixes:
>>
>> 1)In omap_wdt_probe() the watchdog is reset and disabled. This
>> requires register access and the clks needs to be enabled temporarily
>>
>> 2)In omap_wdt_open() the timer register needs to be reloaded
>> to trigger a new timer value (the default of 60s)
>>
>> Signed-off-by: Ulrik Bech Hald <ubh@ti.com>
>
> Can you change the subject slightly to something like:
>
>  watchdog: OMAP fixes: enable clock in probe, trigger timer reload
>
> Also add which OMAP platforms you have tested on since this affects
> OMAP2, OMAP3 and presuably OMAP4.

Tested on OMAP3 (OMAP3503, Gumstix Overo).

> After that, you can add
>
> Reviewed-by: Kevin Hilman <khilman@ti.deeprootsystems.com>
>
> And sent to watchdog maintiner, and CC linux-omap, here's excerpt from
> MAINTAINERS:
>
> WATCHDOG DEVICE DRIVERS
> P:      Wim Van Sebroeck
> M:      wim@iguana.be
> T:      git git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog.git
> S:      Maintained
> F:      Documentation/watchdog/
> F:      drivers/watchdog/
> F:      include/linux/watchdog.h
>
>> ---
>>  drivers/watchdog/omap_wdt.c |    7 +++++++
>>  1 files changed, 7 insertions(+), 0 deletions(-)
>>  mode change 100644 => 100755 drivers/watchdog/omap_wdt.c
>>
>> diff --git a/drivers/watchdog/omap_wdt.c b/drivers/watchdog/omap_wdt.c
>> old mode 100644
>> new mode 100755
>> index f271385..3ed571a
>> --- a/drivers/watchdog/omap_wdt.c
>> +++ b/drivers/watchdog/omap_wdt.c
>> @@ -159,6 +159,7 @@ static int omap_wdt_open(struct inode *inode, struct file *file)
>>       file->private_data = (void *) wdev;
>>
>>       omap_wdt_set_timeout(wdev);
>> +     omap_wdt_ping(wdev); /* trigger loading of new timeout value */
>>       omap_wdt_enable(wdev);
>>
>>       return nonseekable_open(inode, file);
>> @@ -313,6 +314,9 @@ static int __devinit omap_wdt_probe(struct platform_device *pdev)
>>
>>       platform_set_drvdata(pdev, wdev);
>>
>> +     clk_enable(wdev->ick);
>> +     clk_enable(wdev->fck);
>> +
>>       omap_wdt_disable(wdev);
>>       omap_wdt_adjust_timeout(timer_margin);
>>
>> @@ -332,6 +336,9 @@ static int __devinit omap_wdt_probe(struct platform_device *pdev)
>>       /* autogate OCP interface clock */
>>       __raw_writel(0x01, wdev->base + OMAP_WATCHDOG_SYS_CONFIG);
>>
>> +     clk_disable(wdev->ick);
>> +     clk_disable(wdev->fck);
>> +
>>       omap_wdt_dev = pdev;
>>
>>       return 0;
>> --
>> 1.5.4.3
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* RE: [PATCH 1/1] OMAP3:WDT:Enable clk in probe, trigger timer reload
  2009-06-13  3:57   ` Hugo Vincent
@ 2009-06-16 13:01     ` Premi, Sanjeev
  2009-06-16 14:13       ` Hald, Ulrik Bech
  0 siblings, 1 reply; 5+ messages in thread
From: Premi, Sanjeev @ 2009-06-16 13:01 UTC (permalink / raw)
  To: Hugo Vincent, Kevin Hilman; +Cc: Hald, Ulrik Bech, linux-omap@vger.kernel.org

> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org 
> [mailto:linux-omap-owner@vger.kernel.org] On Behalf Of Hugo Vincent
> Sent: Saturday, June 13, 2009 9:28 AM
> To: Kevin Hilman
> Cc: Hald, Ulrik Bech; linux-omap@vger.kernel.org
> Subject: Re: [PATCH 1/1] OMAP3:WDT:Enable clk in probe, 
> trigger timer reload
> 
> On Sat, Jun 13, 2009 at 4:13 AM, Kevin
> Hilman<khilman@deeprootsystems.com> wrote:
> > Ulrik Bech Hald <ubh@ti.com> writes:
> >
> >> This patch contains two bugfixes:
> >>
> >> 1)In omap_wdt_probe() the watchdog is reset and disabled. This
> >> requires register access and the clks needs to be enabled 
> temporarily
> >>
> >> 2)In omap_wdt_open() the timer register needs to be reloaded
> >> to trigger a new timer value (the default of 60s)
> >>
> >> Signed-off-by: Ulrik Bech Hald <ubh@ti.com>
> >
> > Can you change the subject slightly to something like:
> >
> >  watchdog: OMAP fixes: enable clock in probe, trigger timer reload
> >
> > Also add which OMAP platforms you have tested on since this affects
> > OMAP2, OMAP3 and presuably OMAP4.
> 
> Tested on OMAP3 (OMAP3503, Gumstix Overo).
> 
> > After that, you can add
> >
> > Reviewed-by: Kevin Hilman <khilman@ti.deeprootsystems.com>
> >
> > And sent to watchdog maintiner, and CC linux-omap, here's 
> excerpt from
> > MAINTAINERS:
> >
> > WATCHDOG DEVICE DRIVERS
> > P:      Wim Van Sebroeck
> > M:      wim@iguana.be
> > T:      git 
> git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-wa
tchdog.git
> > S:      Maintained
> > F:      Documentation/watchdog/
> > F:      drivers/watchdog/
> > F:      include/linux/watchdog.h
> >
> >> ---
> >>  drivers/watchdog/omap_wdt.c |    7 +++++++
> >>  1 files changed, 7 insertions(+), 0 deletions(-)
> >>  mode change 100644 => 100755 drivers/watchdog/omap_wdt.c
> >>
> >> diff --git a/drivers/watchdog/omap_wdt.c 
> b/drivers/watchdog/omap_wdt.c

> >> old mode 100644
> >> new mode 100755

This change is also unnecessary.
Can be avoided in the follow-up submission.

~sanjeev

> >> index f271385..3ed571a
> >> --- a/drivers/watchdog/omap_wdt.c
> >> +++ b/drivers/watchdog/omap_wdt.c
> >> @@ -159,6 +159,7 @@ static int omap_wdt_open(struct inode 
> *inode, struct file *file)
> >>       file->private_data = (void *) wdev;
> >>
> >>       omap_wdt_set_timeout(wdev);
> >> +     omap_wdt_ping(wdev); /* trigger loading of new 
> timeout value */
> >>       omap_wdt_enable(wdev);
> >>
> >>       return nonseekable_open(inode, file);
> >> @@ -313,6 +314,9 @@ static int __devinit 
> omap_wdt_probe(struct platform_device *pdev)
> >>
> >>       platform_set_drvdata(pdev, wdev);
> >>
> >> +     clk_enable(wdev->ick);
> >> +     clk_enable(wdev->fck);
> >> +
> >>       omap_wdt_disable(wdev);
> >>       omap_wdt_adjust_timeout(timer_margin);
> >>
> >> @@ -332,6 +336,9 @@ static int __devinit 
> omap_wdt_probe(struct platform_device *pdev)
> >>       /* autogate OCP interface clock */
> >>       __raw_writel(0x01, wdev->base + OMAP_WATCHDOG_SYS_CONFIG);
> >>
> >> +     clk_disable(wdev->ick);
> >> +     clk_disable(wdev->fck);
> >> +
> >>       omap_wdt_dev = pdev;
> >>
> >>       return 0;
> >> --
> >> 1.5.4.3
> >>
> >> --
> >> To unsubscribe from this list: send the line "unsubscribe 
> linux-omap" in
> >> the body of a message to majordomo@vger.kernel.org
> >> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > --
> > To unsubscribe from this list: send the line "unsubscribe 
> linux-omap" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >
> --
> To unsubscribe from this list: send the line "unsubscribe 
> linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> --
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* RE: [PATCH 1/1] OMAP3:WDT:Enable clk in probe, trigger timer reload
  2009-06-16 13:01     ` Premi, Sanjeev
@ 2009-06-16 14:13       ` Hald, Ulrik Bech
  0 siblings, 0 replies; 5+ messages in thread
From: Hald, Ulrik Bech @ 2009-06-16 14:13 UTC (permalink / raw)
  To: Premi, Sanjeev, Hugo Vincent, Kevin Hilman; +Cc: linux-omap@vger.kernel.org

> -----Original Message-----
> From: Premi, Sanjeev
> Sent: Tuesday, June 16, 2009 8:01 AM
> To: Hugo Vincent; Kevin Hilman
> Cc: Hald, Ulrik Bech; linux-omap@vger.kernel.org
> Subject: RE: [PATCH 1/1] OMAP3:WDT:Enable clk in probe, trigger timer
> reload
> 
> > -----Original Message-----
> > From: linux-omap-owner@vger.kernel.org
> > [mailto:linux-omap-owner@vger.kernel.org] On Behalf Of Hugo Vincent
> > Sent: Saturday, June 13, 2009 9:28 AM
> > To: Kevin Hilman
> > Cc: Hald, Ulrik Bech; linux-omap@vger.kernel.org
> > Subject: Re: [PATCH 1/1] OMAP3:WDT:Enable clk in probe,
> > trigger timer reload
> >
> > On Sat, Jun 13, 2009 at 4:13 AM, Kevin
> > Hilman<khilman@deeprootsystems.com> wrote:
> > > Ulrik Bech Hald <ubh@ti.com> writes:
> > >
> > >> This patch contains two bugfixes:
> > >>
> > >> 1)In omap_wdt_probe() the watchdog is reset and disabled. This
> > >> requires register access and the clks needs to be enabled
> > temporarily
> > >>
> > >> 2)In omap_wdt_open() the timer register needs to be reloaded
> > >> to trigger a new timer value (the default of 60s)
> > >>
> > >> Signed-off-by: Ulrik Bech Hald <ubh@ti.com>
> > >
> > > Can you change the subject slightly to something like:
> > >
> > >  watchdog: OMAP fixes: enable clock in probe, trigger timer reload
> > >
> > > Also add which OMAP platforms you have tested on since this affects
> > > OMAP2, OMAP3 and presuably OMAP4.
> >
> > Tested on OMAP3 (OMAP3503, Gumstix Overo).
> >
> > > After that, you can add
> > >
> > > Reviewed-by: Kevin Hilman <khilman@ti.deeprootsystems.com>
> > >
> > > And sent to watchdog maintiner, and CC linux-omap, here's
> > excerpt from
> > > MAINTAINERS:
> > >
> > > WATCHDOG DEVICE DRIVERS
> > > P:      Wim Van Sebroeck
> > > M:      wim@iguana.be
> > > T:      git
> > git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-wa
> tchdog.git
> > > S:      Maintained
> > > F:      Documentation/watchdog/
> > > F:      drivers/watchdog/
> > > F:      include/linux/watchdog.h
> > >
> > >> ---
> > >>  drivers/watchdog/omap_wdt.c |    7 +++++++
> > >>  1 files changed, 7 insertions(+), 0 deletions(-)
> > >>  mode change 100644 => 100755 drivers/watchdog/omap_wdt.c
> > >>
> > >> diff --git a/drivers/watchdog/omap_wdt.c
> > b/drivers/watchdog/omap_wdt.c
> 
> > >> old mode 100644
> > >> new mode 100755
> 
> This change is also unnecessary.
> Can be avoided in the follow-up submission.
> 
> ~sanjeev
Thanks for pointing it out Sanjeev. I am submitting a version 3 with the correction now.

/Ulrik

> 
> > >> index f271385..3ed571a
> > >> --- a/drivers/watchdog/omap_wdt.c
> > >> +++ b/drivers/watchdog/omap_wdt.c
> > >> @@ -159,6 +159,7 @@ static int omap_wdt_open(struct inode
> > *inode, struct file *file)
> > >>       file->private_data = (void *) wdev;
> > >>
> > >>       omap_wdt_set_timeout(wdev);
> > >> +     omap_wdt_ping(wdev); /* trigger loading of new
> > timeout value */
> > >>       omap_wdt_enable(wdev);
> > >>
> > >>       return nonseekable_open(inode, file);
> > >> @@ -313,6 +314,9 @@ static int __devinit
> > omap_wdt_probe(struct platform_device *pdev)
> > >>
> > >>       platform_set_drvdata(pdev, wdev);
> > >>
> > >> +     clk_enable(wdev->ick);
> > >> +     clk_enable(wdev->fck);
> > >> +
> > >>       omap_wdt_disable(wdev);
> > >>       omap_wdt_adjust_timeout(timer_margin);
> > >>
> > >> @@ -332,6 +336,9 @@ static int __devinit
> > omap_wdt_probe(struct platform_device *pdev)
> > >>       /* autogate OCP interface clock */
> > >>       __raw_writel(0x01, wdev->base + OMAP_WATCHDOG_SYS_CONFIG);
> > >>
> > >> +     clk_disable(wdev->ick);
> > >> +     clk_disable(wdev->fck);
> > >> +
> > >>       omap_wdt_dev = pdev;
> > >>
> > >>       return 0;
> > >> --
> > >> 1.5.4.3
> > >>
> > >> --
> > >> To unsubscribe from this list: send the line "unsubscribe
> > linux-omap" in
> > >> the body of a message to majordomo@vger.kernel.org
> > >> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe
> > linux-omap" in
> > > the body of a message to majordomo@vger.kernel.org
> > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > >
> > --
> > To unsubscribe from this list: send the line "unsubscribe
> > linux-omap" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >
> >
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

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

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-12 16:05 [PATCH 1/1] OMAP3:WDT:Enable clk in probe, trigger timer reload Ulrik Bech Hald
2009-06-12 16:13 ` Kevin Hilman
2009-06-13  3:57   ` Hugo Vincent
2009-06-16 13:01     ` Premi, Sanjeev
2009-06-16 14:13       ` Hald, Ulrik Bech

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