On Mon, 9 Apr 2018, Geert Uytterhoeven wrote:

> Hi Finn,
> 
> On Sun, Apr 1, 2018 at 3:41 AM, Finn Thain <[email protected]> 
> wrote:
> > For reasons I don't understand, calling ioremap() then iounmap() on 
> > the SWIM MMIO region causes a hang on 68030 (but not on 68040).
> 
> Michael Schmitz also notices strange things with ioremap() on '030.
> 
> > There's no need to call ioremap() for the SWIM address range, as it 
> > lies within the usual IO device region at 0x5000 0000, which is 
> > already mapped.
> 
> by head.S, right?
> 

Right. I'll mention that in the commit log when I re-submit this series.

> > --- a/drivers/block/swim.c
> > +++ b/drivers/block/swim.c
> > @@ -911,7 +911,7 @@ static int swim_probe(struct platform_device *dev)
> >                 goto out;
> >         }
> >
> > -       swim_base = ioremap(res->start, resource_size(res));
> > +       swim_base = (struct swim __iomem *)res->start;
> 
> I guess you need a __force to please sparse?
> 

No, sparse did not find any new issues. It appears there's an old issue 
elsewhere in the driver though. I'll prepare a new patch for that.

-- 

> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> 

-- 

Reply via email to