[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6515b9ff5a9343f5a713e337f41450cc@AcuMS.aculab.com>
Date: Thu, 5 Nov 2020 11:04:54 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Jiri Slaby' <jirislaby@...nel.org>,
Lee Jones <lee.jones@...aro.org>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Greg Kroah-Hartman" <gregkh@...uxfoundation.org>,
"paulkf@...rogate.com" <paulkf@...rogate.com>
Subject: RE: [PATCH 27/36] tty: synclinkmp: Mark never checked 'readval' as
__always_unused
> >> And the loop can be turned into ndelay:
> >>
> >> /*
> >> * Force at least 170ns delay before clearing
> >> * reset bit. Each read from LCR takes at least
> >> * 30ns so 10 times for 300ns to be safe.
> >> */
> >> for(i=0;i<10;i++)
> >> readval = *MiscCtrl;
> >
> > Again, since I can't test this, I do not want this patch to contain
> > any functional changes. AFAIC, the 10 register reads must still
> > happen after this patch is applied.
You can't use ndelay(); the writes can get posted so can appear
much closer together by the time they get to the actual hardware.
Multiple volatile reads don't need a target variable.
(Shouldn't they also real readl()?)
Deleting the driver works...
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
Powered by blists - more mailing lists