Re: [PATCH 03/12] m68k/mac: Don't remap SWIM MMIO region

From: Finn Thain
Date: Mon Apr 09 2018 - 21:35:30 EST


On Mon, 9 Apr 2018, Geert Uytterhoeven wrote:

> Hi Finn,
>
> On Sun, Apr 1, 2018 at 3:41 AM, Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx>
> 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
>
>

--