Patchwork powerpc: change the Book-E watchdog driver default timeout into a Kconfig option

login
register
mail settings
Submitter Timur Tabi
Date Oct. 13, 2010, 7:19 p.m.
Message ID <1286997576-4988-1-git-send-email-timur@freescale.com>
Download mbox | patch
Permalink /patch/67726/
State Accepted, archived
Commit e0dc09ff9a28f37441c5e92a14de6abda8db49d6
Delegated to: Kumar Gala
Headers show

Comments

Timur Tabi - Oct. 13, 2010, 7:19 p.m.
The PowerPC Book-E watchdog driver (booke_wdt.c) defines a default timeout
value in the code based on whether it's a Freescale Book-E part of not.
Instead of having hard-coded values in the driver, make it a Kconfig option.

As newer chips gets faster, the current default values become less appropriate,
since the timeout sometimes occurs before the kernel finishes booting.  Making
the value a Kconfig option allows BSPs to configure a new value with requiring
the wdt_period command-line parameter to be set.

Signed-off-by: Timur Tabi <timur@freescale.com>
---
 drivers/watchdog/Kconfig     |   17 +++++++++++++++++
 drivers/watchdog/booke_wdt.c |    8 +-------
 2 files changed, 18 insertions(+), 7 deletions(-)
Timur Tabi - Oct. 13, 2010, 9:02 p.m.
On Wed, Oct 13, 2010 at 2:19 PM, Timur Tabi <timur@freescale.com> wrote:

> the value a Kconfig option allows BSPs to configure a new value with requiring

That should say, "without requiring"
Kumar Gala - Oct. 14, 2010, 6:08 a.m.
On Oct 13, 2010, at 2:19 PM, Timur Tabi wrote:

> The PowerPC Book-E watchdog driver (booke_wdt.c) defines a default timeout
> value in the code based on whether it's a Freescale Book-E part of not.
> Instead of having hard-coded values in the driver, make it a Kconfig option.
> 
> As newer chips gets faster, the current default values become less appropriate,
> since the timeout sometimes occurs before the kernel finishes booting.  Making
> the value a Kconfig option allows BSPs to configure a new value with requiring
> the wdt_period command-line parameter to be set.
> 
> Signed-off-by: Timur Tabi <timur@freescale.com>
> ---
> drivers/watchdog/Kconfig     |   17 +++++++++++++++++
> drivers/watchdog/booke_wdt.c |    8 +-------
> 2 files changed, 18 insertions(+), 7 deletions(-)

applied to next, fixed commit message.

Also, in general I believe commit messages should be about 75 columns so they dont wrap if you do a git log in an 80 column terminal.

- k

Patch

diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index 3684144..2fdb45c 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -966,6 +966,23 @@  config BOOKE_WDT
 	  Please see Documentation/watchdog/watchdog-api.txt for
 	  more information.
 
+config BOOKE_WDT_DEFAULT_TIMEOUT
+	int "PowerPC Book-E Watchdog Timer Default Timeout"
+	depends on BOOKE_WDT
+	default 38 if FSL_BOOKE
+	range 0 63 if FSL_BOOKE
+	default 3 if !FSL_BOOKE
+	range 0 3 if !FSL_BOOKE
+	help
+	  Select the default watchdog timer period to be used by the PowerPC
+	  Book-E watchdog driver.  A watchdog "event" occurs when the bit
+	  position represented by this number transitions from zero to one.
+
+	  For Freescale Book-E processors, this is a number between 0 and 63.
+	  For other Book-E processors, this is a number between 0 and 3.
+
+	  The value can be overidden by the wdt_period command-line parameter.
+
 # PPC64 Architecture
 
 config WATCHDOG_RTAS
diff --git a/drivers/watchdog/booke_wdt.c b/drivers/watchdog/booke_wdt.c
index a989998..d11ffb0 100644
--- a/drivers/watchdog/booke_wdt.c
+++ b/drivers/watchdog/booke_wdt.c
@@ -33,14 +33,8 @@ 
  * occur, and the final time the board will reset.
  */
 
-#ifdef	CONFIG_FSL_BOOKE
-#define WDT_PERIOD_DEFAULT 38	/* Ex. wdt_period=28 bus=333Mhz,reset=~40sec */
-#else
-#define WDT_PERIOD_DEFAULT 3	/* Refer to the PPC40x and PPC4xx manuals */
-#endif				/* for timing information */
-
 u32 booke_wdt_enabled;
-u32 booke_wdt_period = WDT_PERIOD_DEFAULT;
+u32 booke_wdt_period = CONFIG_BOOKE_WDT_DEFAULT_TIMEOUT;
 
 #ifdef	CONFIG_FSL_BOOKE
 #define WDTP(x)		((((x)&0x3)<<30)|(((x)&0x3c)<<15))