Hi Matt,

Le Monday 27 July 2015 à 14:38 +0100, Matt Fleming a écrit :
> From: Matt Fleming <[email protected]>
> 
> The revision of the watchdog hardware in Sunrisepoint necessitates a new
> "version" inside the TCO watchdog driver because some of the register
> layouts have changed.
> 
> Cc: Wim Van Sebroeck <[email protected]>
> Signed-off-by: Matt Fleming <[email protected]>
> ---
>  drivers/watchdog/iTCO_wdt.c | 58 
> ++++++++++++++++++++++++++-------------------
>  1 file changed, 34 insertions(+), 24 deletions(-)
> 
> diff --git a/drivers/watchdog/iTCO_wdt.c b/drivers/watchdog/iTCO_wdt.c
> index 9a6e70976f64..17dfbc51b85a 100644
> --- a/drivers/watchdog/iTCO_wdt.c
> +++ b/drivers/watchdog/iTCO_wdt.c
> (...) 
> @@ -503,7 +510,10 @@ static int iTCO_wdt_probe(struct platform_device *dev)
>               pdata->name, pdata->iTCO_version, (u64)TCOBASE);
>  
>       /* Clear out the (probably old) status */
> -     if (iTCO_wdt_private.iTCO_version == 3) {
> +     if (iTCO_wdt_private.iTCO_version == 4) {
> +             outw(0x0008, TCO1_STS); /* Clear the Time Out Status bit */
> +             outw(0x0002, TCO2_STS); /* Clear SECOND_TO_STS bit */
> +     } else if (iTCO_wdt_private.iTCO_version == 3) {
>               outl(0x20008, TCO1_STS);
>       } else {
>               outw(0x0008, TCO1_STS); /* Clear the Time Out Status bit */

The "version == 4" branch is a subset of the "else" branch, so you could
merge both with a conditional. If you prefer not to, then it probably
makes sense to change the whole block to a switch/case construct.

-- 
Jean Delvare
SUSE L3 Support

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to