[PATCH v4 1/2] mtd: rawnand: meson: discard the common MMC sub clock framework
Miquel Raynal
miquel.raynal at bootlin.com
Tue Apr 19 01:26:29 PDT 2022
Hello,
liang.yang at amlogic.com wrote on Mon, 18 Apr 2022 11:40:10 +0800:
> Hi Miquel,
>
> i have some confusion when i prepare the patches. for DT compatibility, it falls back to the old DT when failed to get resource by the new DT, but there is some points:
> a. old DT depends on MMC sub clock driver, but it never be merged, so it can't work.
I don't get what you mean here, sorry. I believe there is a new way to
describe this clock but grabbing the one from the MMC still works, does
not it?
> b. if it falls back to the old DT, beside the regmap lookup below, it seems that we have to preserve the code of the old clock setting in nfc_clk_init().
Yes, probably.
> do we still need to avoid break DT compatibility?
We should try our best to avoid breaking the DT, yes.
>
> Thanks.
>
> On 2022/4/11 10:40, Liang Yang wrote:
> >>> nfc->dev = dev;
> >>> - res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> >>> - nfc->reg_base = devm_ioremap_resource(dev, res);
> >>> + nfc->reg_base = devm_platform_ioremap_resource_byname(pdev, "nfc");
> >>
> >> This change seems unrelated.
> >
> > To be consistent with the following > devm_platform_ioremap_resource_byname(pdev, "emmc"). do you mean that we > don't need it?>
> >>> if (IS_ERR(nfc->reg_base))
> >>> return PTR_ERR(nfc->reg_base);
> >>> - nfc->reg_clk =
> >>> - syscon_regmap_lookup_by_phandle(dev->of_node,
> >>> - "amlogic,mmc-syscon");
> >>> - if (IS_ERR(nfc->reg_clk)) {
> >>> - dev_err(dev, "Failed to lookup clock base\n");
> >>> - return PTR_ERR(nfc->reg_clk);
> >>> - }
> >>> + nfc->sd_emmc_clock = devm_platform_ioremap_resource_byname(pdev, >>> "emmc");
> >>> + if (IS_ERR(nfc->sd_emmc_clock))
> >>> + return PTR_ERR(nfc->sd_emmc_clock);
> >>
> >> While I agree this is much better than the previous solution, we cannot
> >> break DT compatibility, so you need to try getting the emmc clock, but
> >> if it fails you should fallback to the regmap lookup.
> >
> > ok, i will fix it next version. thanks.
> >
> >>
> >>> irq = platform_get_irq(pdev, 0);
Thanks,
Miquèl
More information about the linux-amlogic
mailing list