[PATCH 1/2] watchdog: i.MX: add soc_reset operation

Sascha Hauer s.hauer at pengutronix.de
Fri Jan 20 00:10:10 PST 2017


Hi Sam,

On Fri, Jan 20, 2017 at 06:44:00AM +0100, Sam Ravnborg wrote:
> On Fri, Jan 20, 2017 at 06:39:03AM +0100, Sam Ravnborg wrote:
> > On Thu, Jan 19, 2017 at 04:03:51PM +0100, Sascha Hauer wrote:
> > > On i.MX21 watchdog type the reset operation is really different
> > > from the watchdog enable/set timeout operation, so create an
> > > extra callback for this instead of folding both things together.
> > > 
> > > Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> > > ---
> > >  drivers/watchdog/imxwd.c | 32 +++++++++++++++++++++-----------
> > >  1 file changed, 21 insertions(+), 11 deletions(-)
> > > 
> > > diff --git a/drivers/watchdog/imxwd.c b/drivers/watchdog/imxwd.c
> > > index 03e116ea2..c736fdaa3 100644
> > > --- a/drivers/watchdog/imxwd.c
> > > +++ b/drivers/watchdog/imxwd.c
> > > @@ -26,6 +26,7 @@ struct imx_wd;
> > >  
> > >  struct imx_wd_ops {
> > >  	int (*set_timeout)(struct imx_wd *, int);
> > 
> > With this change the timeout argument could be unsigned int.
> > 
> > > +	void (*soc_reset)(struct imx_wd *);
> > >  	int (*init)(struct imx_wd *);
> > >  };
> > >  
> > > @@ -76,10 +77,7 @@ static int imx1_watchdog_set_timeout(struct imx_wd *priv, int timeout)
> > >  		return 0;
> > >  	}
> > >  
> > > -	if (timeout > 0)
> > > -		val = (timeout * 2 - 1) << 8;
> > > -	else
> > > -		val = 0;
> > > +	val = (timeout * 2 - 1) << 8;
> > >  
> > >  	writew(val, priv->base + IMX1_WDOG_WCR);
> > >  	writew(IMX1_WDOG_WCR_WDE | val, priv->base + IMX1_WDOG_WCR);
> > 
> > Otherwise the timeout < 0 should somehow be handled here.
> 
> Unless we do not bother because this is all local to the file
> and we know the two call sites.

I changed it to unsigned and also removed another check for negative
values.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list