Hi Linus, On Thu, 11 Oct 2018 20:53:25 +0200 Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > In order to be able to assign custom complex mappings > to the physmap_of plugin for Gemini, move the initialization > so that the simple map is initialized before we enter the > platform-specific functions so the latter can override > them. I forgot to Cc you but I'm currently reworking the physmap driver to merge the physmap_of logic in it [1]. I'll probably ask you to rebase this patchset on top of mtd/next once [1] is applied. Sorry for the inconvenience. Boris [1]https://patchwork.ozlabs.org/cover/980800/ > > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> > --- > drivers/mtd/maps/physmap_of_core.c | 15 ++++++++------- > 1 file changed, 8 insertions(+), 7 deletions(-) > > diff --git a/drivers/mtd/maps/physmap_of_core.c b/drivers/mtd/maps/physmap_of_core.c > index 4129535b8e46..74ad753265f3 100644 > --- a/drivers/mtd/maps/physmap_of_core.c > +++ b/drivers/mtd/maps/physmap_of_core.c > @@ -239,13 +239,6 @@ static int of_flash_probe(struct platform_device *dev) > else if (of_property_read_bool(dp, "little-endian")) > info->list[i].map.swap = CFI_LITTLE_ENDIAN; > > - err = of_flash_probe_gemini(dev, dp, &info->list[i].map); > - if (err) > - goto err_out; > - err = of_flash_probe_versatile(dev, dp, &info->list[i].map); > - if (err) > - goto err_out; > - > err = -ENOMEM; > info->list[i].map.virt = ioremap(info->list[i].map.phys, > info->list[i].map.size); > @@ -257,6 +250,14 @@ static int of_flash_probe(struct platform_device *dev) > > simple_map_init(&info->list[i].map); > > + /* Variants can override map accessors */ > + err = of_flash_probe_gemini(dev, dp, &info->list[i].map); > + if (err) > + goto err_out; > + err = of_flash_probe_versatile(dev, dp, &info->list[i].map); > + if (err) > + goto err_out; > + > /* > * On some platforms (e.g. MPC5200) a direct 1:1 mapping > * may cause problems with JFFS2 usage, as the local bus (LPB) ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/