Re: [PATCH] mtd: bcm47xxsflash: use devm_ioremap_nocache() instead of KSEG0ADDR()

From: Brian Norris
Date: Fri Jan 08 2016 - 13:51:27 EST


On Fri, Jan 08, 2016 at 02:01:00PM +0000, Maciej W. Rozycki wrote:
> On Fri, 8 Jan 2016, RafaÅ MiÅecki wrote:
>
> > > This removes some (implicit) MIPS dependencies and makes the code more
> > > portable, whether we need it or not :)
> >
> > So now we have following forwardtrace:
> > devm_ioremap_nocache
> > ioremap_nocache
> > __ioremap_mode
> > __ioremap
> > CKSEG1ADDR

I just noticed that ioremap() and ioremap_nocache() are the same on
MIPS. So I could just do devm_ioremap_resource() and save myself a few
lines...

> > It results in different address than KSEG0ADDR:
> > [ 1.339752] [bcm47xxsflash_bcma_probe] KSEG0ADDR(BCMA_SOC_FLASH2):9c000000
> > [ 1.346848] [bcm47xxsflash_bcma_probe] devm_ioremap_nocache:bc000000
> >
> > But it still works as expected! :)
> > [ 1.609426] 6 bcm47xxpart partitions found on MTD device bcm47xxsflash
> > [ 1.616169] Creating 6 MTD partitions on "bcm47xxsflash":
>
> It is a functional change though and I think the change from a cached to
> uncached mapping (i.e. from `ioremap' to `ioremap_nocache') has to be a
> separate patch, so that both changes can be reviewed independently.

As I noted before sending my patch, I don't think this driver should
have been using KSEG0 anyway; it should have been KSEG1, right? I can
note that in the patch description, but I don't really see why it needs
to be a separate patch.

Brian