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
--
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html