Messages in this thread | | | Date | Fri, 29 Apr 2022 16:17:23 +0530 | Subject | Re: [Patch v9 1/4] memory: tegra: Add memory controller channels support | From | Ashish Mhetre <> |
| |
On 4/29/2022 2:20 PM, Dmitry Osipenko wrote: > External email: Use caution opening links or attachments > > > On 4/26/22 10:38, Ashish Mhetre wrote: >> +static int tegra186_mc_map_regs(struct tegra_mc *mc) >> +{ >> + struct platform_device *pdev = to_platform_device(mc->dev); >> + unsigned int i; >> + >> + mc->bcast_ch_regs = devm_platform_ioremap_resource_byname(pdev, "broadcast"); >> + if (IS_ERR(mc->bcast_ch_regs)) { >> + if (PTR_ERR(mc->bcast_ch_regs) == -EINVAL) { >> + dev_warn(&pdev->dev, "Broadcast channel is missing, please update your device-tree\n"); >> + mc->bcast_ch_regs = NULL; >> + return 0; >> + } >> + return PTR_ERR(mc->bcast_ch_regs); >> + } >> + >> + mc->ch_regs = devm_kcalloc(mc->dev, mc->soc->num_channels, >> + sizeof(*mc->ch_regs), GFP_KERNEL); >> + if (!mc->ch_regs) >> + return -ENOMEM; >> + >> + for (i = 0; i < mc->soc->num_channels; i++) { >> + char name[5]; >> + >> + snprintf(name, sizeof(name), "ch%u", i); >> + mc->ch_regs[i] = devm_platform_ioremap_resource_byname(pdev, name); >> + if (IS_ERR(mc->ch_regs[i])) >> + return PTR_ERR(mc->ch_regs[i]); >> + } >> + >> + return 0; >> +} >> + >> const struct tegra_mc_ops tegra186_mc_ops = { >> .probe = tegra186_mc_probe, >> .remove = tegra186_mc_remove, >> .resume = tegra186_mc_resume, >> .probe_device = tegra186_mc_probe_device, >> + .map_regs = tegra186_mc_map_regs, >> }; > > Do we really need the map_regs() callback? Could you please move it to > the tegra186_mc_probe()? .. Sorry, I haven't noticed this previously.
Okay, I'll update this.
| |