Re: [PATCH] watchdog: w83627hf_wdt: Support NCT6116D

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Sep 18, 2019 at 07:12:15PM +0530, Srikanth_Krishnakar wrote:
> From: Srikanth Krishnakar <Srikanth_Krishnakar@xxxxxxxxxx>
> 
> The watchdog controller on NCT6116D is compatible with NCT6102D.
> Extend the support to enable SuperIO based NCT6116D watchdog device.
> 
> Signed-off-by: Srikanth Krishnakar <Srikanth_Krishnakar@xxxxxxxxxx>
> ---
>  drivers/watchdog/Kconfig        |  1 +
>  drivers/watchdog/w83627hf_wdt.c | 11 ++++++++++-
>  2 files changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index a45f9e3e442b..4affadda5185 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -1488,6 +1488,7 @@ config W83627HF_WDT
>  		NCT6791
>  		NCT6792
>  		NCT6102D/04D/06D
> +		NCT6116D
>  
>  	  This watchdog simply watches your kernel to make sure it doesn't
>  	  freeze, and if it does, it reboots your computer after a certain
> diff --git a/drivers/watchdog/w83627hf_wdt.c b/drivers/watchdog/w83627hf_wdt.c
> index 38b31e9947aa..fdf533fe0bb2 100644
> --- a/drivers/watchdog/w83627hf_wdt.c
> +++ b/drivers/watchdog/w83627hf_wdt.c
> @@ -49,7 +49,7 @@ static int wdt_cfg_leave = 0xAA;/* key to lock configuration space */
>  enum chips { w83627hf, w83627s, w83697hf, w83697ug, w83637hf, w83627thf,
>  	     w83687thf, w83627ehf, w83627dhg, w83627uhg, w83667hg, w83627dhg_p,
>  	     w83667hg_b, nct6775, nct6776, nct6779, nct6791, nct6792, nct6793,
> -	     nct6795, nct6796, nct6102 };
> +	     nct6795, nct6796, nct6102, nct6116 };
>  
>  static int timeout;			/* in seconds */
>  module_param(timeout, int, 0);
> @@ -94,6 +94,7 @@ MODULE_PARM_DESC(early_disable, "Disable watchdog at boot time (default=0)");
>  #define NCT6775_ID		0xb4
>  #define NCT6776_ID		0xc3
>  #define NCT6102_ID		0xc4
> +#define NCT6116_ID		0xd2
>  #define NCT6779_ID		0xc5
>  #define NCT6791_ID		0xc8
>  #define NCT6792_ID		0xc9
> @@ -211,6 +212,7 @@ static int w83627hf_init(struct watchdog_device *wdog, enum chips chip)
>  	case nct6795:
>  	case nct6796:
>  	case nct6102:
> +	case nct6116:
>  		/*
>  		 * These chips have a fixed WDTO# output pin (W83627UHG),
>  		 * or support more than one WDTO# output pin.
> @@ -417,6 +419,12 @@ static int wdt_find(int addr)
>  		cr_wdt_control = NCT6102D_WDT_CONTROL;
>  		cr_wdt_csr = NCT6102D_WDT_CSR;
>  		break;
> +	case NCT6116_ID:
> +		ret = nct6102;

What is the point of introducing a new id for the chip and then
ignoring it ?

Guenter

> +		cr_wdt_timeout = NCT6102D_WDT_TIMEOUT;
> +		cr_wdt_control = NCT6102D_WDT_CONTROL;
> +		cr_wdt_csr = NCT6102D_WDT_CSR;
> +		break;
>  	case 0xff:
>  		ret = -ENODEV;
>  		break;
> @@ -482,6 +490,7 @@ static int __init wdt_init(void)
>  		"NCT6795",
>  		"NCT6796",
>  		"NCT6102",
> +		"NCT6116",
>  	};
>  
>  	/* Apply system-specific quirks */
> -- 
> 2.17.1
> 



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux