diff mbox

[6/8] watchdog: davinci: reuse driver for keystone arch

Message ID 527A28DE.4030906@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ivan Khoronzhuk Nov. 6, 2013, 11:32 a.m. UTC
The keystone arch use the same IP watchdog, so add "ti,keystone-wdt"
compatible and correct identity.

Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
---
 .../devicetree/bindings/watchdog/davinci-wdt.txt   |   11 +++++++++--
 drivers/watchdog/Kconfig                           |    4 ++--
 drivers/watchdog/davinci_wdt.c                     |    3 ++-
 3 files changed, 13 insertions(+), 5 deletions(-)

Comments

Santosh Shilimkar Nov. 12, 2013, 3:40 p.m. UTC | #1
On Wednesday 06 November 2013 06:32 AM, ivan.khoronzhuk wrote:
> The keystone arch use the same IP watchdog, so add "ti,keystone-wdt"
> compatible and correct identity.
> 
> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
> ---
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Guenter Roeck Nov. 17, 2013, 2:27 a.m. UTC | #2
On 11/06/2013 03:32 AM, ivan.khoronzhuk wrote:
> The keystone arch use the same IP watchdog, so add "ti,keystone-wdt"
> compatible and correct identity.
>
> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
> ---
>   .../devicetree/bindings/watchdog/davinci-wdt.txt   |   11 +++++++++--
>   drivers/watchdog/Kconfig                           |    4 ++--
>   drivers/watchdog/davinci_wdt.c                     |    3 ++-
>   3 files changed, 13 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt b/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt
> index 1668b6e..fddced9 100644
> --- a/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt
> +++ b/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt
> @@ -1,13 +1,20 @@
> -DaVinci Watchdog Timer (WDT) Controller
> +Texas Instruments DaVinci/Keystone Watchdog Timer (WDT) Controller
>
>   Required properties:
> -- compatible : Should be "ti,davinci-wdt"
> +
> +- compatible:		"ti,davinci-wdt"
> +			"ti,keystone-wdt"
> +
>   - reg : Should contain WDT registers location and length
>
Please use consistent formatting. If you change it, at least change it to be consistent.


>   Optional properties:
>
>   - timeout-sec:		Contains the watchdog timeout in seconds
>
> +Documentation:
> +Davinci DM646x - http://www.ti.com/lit/ug/spruer5b/spruer5b.pdf
> +Keystone - http://www.ti.com/lit/ug/sprugv5a/sprugv5a.pdf
> +
>   Examples:
>
>   wdt: wdt@2320000 {
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index 2c954b5..a4fe130 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -270,11 +270,11 @@ config IOP_WATCHDOG
>
>   config DAVINCI_WATCHDOG
>   	tristate "DaVinci watchdog"
> -	depends on ARCH_DAVINCI
> +	depends on ARCH_DAVINCI || ARCH_KEYSTONE
>   	select WATCHDOG_CORE
>   	help
>   	  Say Y here if to include support for the watchdog timer
> -	  in the DaVinci DM644x/DM646x processors.
> +	  in the DaVinci DM644x/DM646x or Keystone processors.
>   	  To compile this driver as a module, choose M here: the
>   	  module will be called davinci_wdt.
>
> diff --git a/drivers/watchdog/davinci_wdt.c b/drivers/watchdog/davinci_wdt.c
> index a371b2d..e51fd2e 100644
> --- a/drivers/watchdog/davinci_wdt.c
> +++ b/drivers/watchdog/davinci_wdt.c
> @@ -158,7 +158,7 @@ static unsigned int davinci_wdt_status(struct watchdog_device *wdd)
>
>   static const struct watchdog_info davinci_wdt_info = {
>   	.options = WDIOF_KEEPALIVEPING,
> -	.identity = "DaVinci Watchdog",
> +	.identity = "DaVinci/Keystone Watchdog",
>   };
>
>   static const struct watchdog_ops davinci_wdt_ops = {
> @@ -229,6 +229,7 @@ static int davinci_wdt_remove(struct platform_device *pdev)
>
>   static const struct of_device_id davinci_wdt_of_match[] = {
>   	{ .compatible = "ti,davinci-wdt", },
> +	{ .compatible = "ti,keystone-wdt", },
>   	{},
>   };
>   MODULE_DEVICE_TABLE(of, davinci_wdt_of_match);
>
Ivan Khoronzhuk Nov. 18, 2013, 3:03 p.m. UTC | #3
On 11/17/2013 04:27 AM, Guenter Roeck wrote:
> On 11/06/2013 03:32 AM, ivan.khoronzhuk wrote:
>> The keystone arch use the same IP watchdog, so add "ti,keystone-wdt"
>> compatible and correct identity.
>>
>> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
>> ---
>>   .../devicetree/bindings/watchdog/davinci-wdt.txt   |   11 +++++++++--
>>   drivers/watchdog/Kconfig                           |    4 ++--
>>   drivers/watchdog/davinci_wdt.c                     |    3 ++-
>>   3 files changed, 13 insertions(+), 5 deletions(-)
>>
>> diff --git
>> a/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt
>> b/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt
>> index 1668b6e..fddced9 100644
>> --- a/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt
>> +++ b/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt
>> @@ -1,13 +1,20 @@
>> -DaVinci Watchdog Timer (WDT) Controller
>> +Texas Instruments DaVinci/Keystone Watchdog Timer (WDT) Controller
>>
>>   Required properties:
>> -- compatible : Should be "ti,davinci-wdt"
>> +
>> +- compatible:        "ti,davinci-wdt"
>> +            "ti,keystone-wdt"
>> +
>>   - reg : Should contain WDT registers location and length
>>
> Please use consistent formatting. If you change it, at least change it
> to be consistent.
>

Thanks, I will

>>   Optional properties:
>>
>>   - timeout-sec:        Contains the watchdog timeout in seconds
>>
>> +Documentation:
>> +Davinci DM646x - http://www.ti.com/lit/ug/spruer5b/spruer5b.pdf
>> +Keystone - http://www.ti.com/lit/ug/sprugv5a/sprugv5a.pdf
>> +
>>   Examples:
>>
>>   wdt: wdt@2320000 {
>> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
>> index 2c954b5..a4fe130 100644
>> --- a/drivers/watchdog/Kconfig
>> +++ b/drivers/watchdog/Kconfig
>> @@ -270,11 +270,11 @@ config IOP_WATCHDOG
>>
>>   config DAVINCI_WATCHDOG
>>       tristate "DaVinci watchdog"
>> -    depends on ARCH_DAVINCI
>> +    depends on ARCH_DAVINCI || ARCH_KEYSTONE
>>       select WATCHDOG_CORE
>>       help
>>         Say Y here if to include support for the watchdog timer
>> -      in the DaVinci DM644x/DM646x processors.
>> +      in the DaVinci DM644x/DM646x or Keystone processors.
>>         To compile this driver as a module, choose M here: the
>>         module will be called davinci_wdt.
>>
>> diff --git a/drivers/watchdog/davinci_wdt.c
>> b/drivers/watchdog/davinci_wdt.c
>> index a371b2d..e51fd2e 100644
>> --- a/drivers/watchdog/davinci_wdt.c
>> +++ b/drivers/watchdog/davinci_wdt.c
>> @@ -158,7 +158,7 @@ static unsigned int davinci_wdt_status(struct
>> watchdog_device *wdd)
>>
>>   static const struct watchdog_info davinci_wdt_info = {
>>       .options = WDIOF_KEEPALIVEPING,
>> -    .identity = "DaVinci Watchdog",
>> +    .identity = "DaVinci/Keystone Watchdog",
>>   };
>>
>>   static const struct watchdog_ops davinci_wdt_ops = {
>> @@ -229,6 +229,7 @@ static int davinci_wdt_remove(struct
>> platform_device *pdev)
>>
>>   static const struct of_device_id davinci_wdt_of_match[] = {
>>       { .compatible = "ti,davinci-wdt", },
>> +    { .compatible = "ti,keystone-wdt", },
>>       {},
>>   };
>>   MODULE_DEVICE_TABLE(of, davinci_wdt_of_match);
>>
>
Arnd Bergmann Nov. 23, 2013, 6:02 p.m. UTC | #4
On Wednesday 06 November 2013, ivan.khoronzhuk wrote:

> @@ -1,13 +1,20 @@
> -DaVinci Watchdog Timer (WDT) Controller
> +Texas Instruments DaVinci/Keystone Watchdog Timer (WDT) Controller
>  
>  Required properties:
> -- compatible : Should be "ti,davinci-wdt"
> +
> +- compatible:          "ti,davinci-wdt"
> +                       "ti,keystone-wdt"
> +
>  - reg : Should contain WDT registers location and length
>  

...

> @@ -229,6 +229,7 @@ static int davinci_wdt_remove(struct platform_device *pdev)
>  
>  static const struct of_device_id davinci_wdt_of_match[] = {
>         { .compatible = "ti,davinci-wdt", },
> +       { .compatible = "ti,keystone-wdt", },
>         {},
>  };
>  MODULE_DEVICE_TABLE(of, davinci_wdt_of_match);

You should clarify the compatible list here: It seems that the devices are fully
compatible, so the driver should only need to check for "ti,davinci-wdt" as the
compatible string, while the dtb files should list both "ti,davinci-wdt" and
"ti,keystone-wdt" for keystone, but only the davinci string for davinci.

	Arnd
Ivan Khoronzhuk Nov. 25, 2013, 11:09 a.m. UTC | #5
On 11/23/2013 08:02 PM, Arnd Bergmann wrote:
> On Wednesday 06 November 2013, ivan.khoronzhuk wrote:
> 
>> @@ -1,13 +1,20 @@
>> -DaVinci Watchdog Timer (WDT) Controller
>> +Texas Instruments DaVinci/Keystone Watchdog Timer (WDT) Controller
>>   
>>   Required properties:
>> -- compatible : Should be "ti,davinci-wdt"
>> +
>> +- compatible:          "ti,davinci-wdt"
>> +                       "ti,keystone-wdt"
>> +
>>   - reg : Should contain WDT registers location and length
>>   
> 
> ...
> 
>> @@ -229,6 +229,7 @@ static int davinci_wdt_remove(struct platform_device *pdev)
>>   
>>   static const struct of_device_id davinci_wdt_of_match[] = {
>>          { .compatible = "ti,davinci-wdt", },
>> +       { .compatible = "ti,keystone-wdt", },
>>          {},
>>   };
>>   MODULE_DEVICE_TABLE(of, davinci_wdt_of_match);
> 
> You should clarify the compatible list here: It seems that the devices are fully
> compatible, so the driver should only need to check for "ti,davinci-wdt" as the
> compatible string, while the dtb files should list both "ti,davinci-wdt" and
> "ti,keystone-wdt" for keystone, but only the davinci string for davinci.
> 
> 	Arnd
> 

Ok, I will remove "ti,keystone-wdt" compatible from driver and for the keystone WDT node
describe compatible as:

compatible = "ti,keystone-wdt", "ti,davinci-wdt";
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt b/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt
index 1668b6e..fddced9 100644
--- a/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt
+++ b/Documentation/devicetree/bindings/watchdog/davinci-wdt.txt
@@ -1,13 +1,20 @@ 
-DaVinci Watchdog Timer (WDT) Controller
+Texas Instruments DaVinci/Keystone Watchdog Timer (WDT) Controller
 
 Required properties:
-- compatible : Should be "ti,davinci-wdt"
+
+- compatible:		"ti,davinci-wdt"
+			"ti,keystone-wdt"
+
 - reg : Should contain WDT registers location and length
 
 Optional properties:
 
 - timeout-sec:		Contains the watchdog timeout in seconds
 
+Documentation:
+Davinci DM646x - http://www.ti.com/lit/ug/spruer5b/spruer5b.pdf
+Keystone - http://www.ti.com/lit/ug/sprugv5a/sprugv5a.pdf
+
 Examples:
 
 wdt: wdt@2320000 {
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index 2c954b5..a4fe130 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -270,11 +270,11 @@  config IOP_WATCHDOG
 
 config DAVINCI_WATCHDOG
 	tristate "DaVinci watchdog"
-	depends on ARCH_DAVINCI
+	depends on ARCH_DAVINCI || ARCH_KEYSTONE
 	select WATCHDOG_CORE
 	help
 	  Say Y here if to include support for the watchdog timer
-	  in the DaVinci DM644x/DM646x processors.
+	  in the DaVinci DM644x/DM646x or Keystone processors.
 	  To compile this driver as a module, choose M here: the
 	  module will be called davinci_wdt.
 
diff --git a/drivers/watchdog/davinci_wdt.c b/drivers/watchdog/davinci_wdt.c
index a371b2d..e51fd2e 100644
--- a/drivers/watchdog/davinci_wdt.c
+++ b/drivers/watchdog/davinci_wdt.c
@@ -158,7 +158,7 @@  static unsigned int davinci_wdt_status(struct watchdog_device *wdd)
 
 static const struct watchdog_info davinci_wdt_info = {
 	.options = WDIOF_KEEPALIVEPING,
-	.identity = "DaVinci Watchdog",
+	.identity = "DaVinci/Keystone Watchdog",
 };
 
 static const struct watchdog_ops davinci_wdt_ops = {
@@ -229,6 +229,7 @@  static int davinci_wdt_remove(struct platform_device *pdev)
 
 static const struct of_device_id davinci_wdt_of_match[] = {
 	{ .compatible = "ti,davinci-wdt", },
+	{ .compatible = "ti,keystone-wdt", },
 	{},
 };
 MODULE_DEVICE_TABLE(of, davinci_wdt_of_match);