RE: [PATCH 27/36] tty: synclinkmp: Mark never checked 'readval' as __always_unused

David Laight
2020-11-05T11:05:01Z

> >> 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)