Message ID | 20230706092047.18599-3-frank.li@vivo.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Krzysztof Wilczyński |
Headers | show |
Series | [1/4] PCI: imx6: Use devm_platform_get_and_ioremap_resource() | expand |
On Thu, Jul 6, 2023 at 11:21 AM Yangtao Li <frank.li@vivo.com> wrote: > Convert platform_get_resource(), devm_ioremap_resource() to a single > call to devm_platform_get_and_ioremap_resource(), as this is exactly > what this function does. > > Signed-off-by: Yangtao Li <frank.li@vivo.com> Looks correct. Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij
[+Cc Yang] Hello, > Convert platform_get_resource(), devm_ioremap_resource() to a single > call to devm_platform_get_and_ioremap_resource(), as this is exactly > what this function does. A very similar series was posted a while ago. Patches 1, 2 and 4 in this series are identical, except for this patch, which adds one more very nice refactoring, The other series: https://lore.kernel.org/linux-pci/20230626110226.GA569947@rocinante What I can do would be to pick this patch and squash it with the other ones that are already applied. I will then attribute both you and Yang Li as the authors. Let me know if this is fine with you, Yangtao and Yang. That said... > diff --git a/drivers/pci/controller/pci-v3-semi.c b/drivers/pci/controller/pci-v3-semi.c > index ca44b0c83d1b..0f993328dba2 100644 > --- a/drivers/pci/controller/pci-v3-semi.c > +++ b/drivers/pci/controller/pci-v3-semi.c > @@ -736,8 +736,7 @@ static int v3_pci_probe(struct platform_device *pdev) > return ret; > } > > - regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); > - v3->base = devm_ioremap_resource(dev, regs); > + v3->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res); Are you sure about the variable name here? This might be a small copy-and-paste mistake that snuck up here. Have a closer look, or better yet, try to compile and test this. :) > - regs = platform_get_resource(pdev, IORESOURCE_MEM, 1); > + v3->config_base = devm_platform_get_and_ioremap_resource(pdev, 1, &res); Same as above. > + if (IS_ERR(v3->config_base)) > + return PTR_ERR(v3->config_base); > if (resource_size(regs) != SZ_16M) { > dev_err(dev, "config mem is not 16MB!\n"); > return -EINVAL; > } > v3->config_mem = regs->start; > - v3->config_base = devm_ioremap_resource(dev, regs); > - if (IS_ERR(v3->config_base)) > - return PTR_ERR(v3->config_base); This could be made such that the assignments are together. Krzysztof
On 2023/7/7 2:55, Krzysztof Wilczyński wrote: > [+Cc Yang] > > Hello, > >> Convert platform_get_resource(), devm_ioremap_resource() to a single >> call to devm_platform_get_and_ioremap_resource(), as this is exactly >> what this function does. > A very similar series was posted a while ago. Patches 1, 2 and 4 in this > series are identical, except for this patch, which adds one more very nice > refactoring, > > The other series: > > https://lore.kernel.org/linux-pci/20230626110226.GA569947@rocinante > > What I can do would be to pick this patch and squash it with the other ones > that are already applied. I will then attribute both you and Yang Li as > the authors. Let me know if this is fine with you, Yangtao and Yang. Acked-by: Yangtao Li <frank.li@vivo.com> Thx, Yangtao > > That said... > >> diff --git a/drivers/pci/controller/pci-v3-semi.c b/drivers/pci/controller/pci-v3-semi.c >> index ca44b0c83d1b..0f993328dba2 100644 >> --- a/drivers/pci/controller/pci-v3-semi.c >> +++ b/drivers/pci/controller/pci-v3-semi.c >> @@ -736,8 +736,7 @@ static int v3_pci_probe(struct platform_device *pdev) >> return ret; >> } >> >> - regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); >> - v3->base = devm_ioremap_resource(dev, regs); >> + v3->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res); > Are you sure about the variable name here? This might be a small copy-and-paste > mistake that snuck up here. Have a closer look, or better yet, try to compile > and test this. :) > >> - regs = platform_get_resource(pdev, IORESOURCE_MEM, 1); >> + v3->config_base = devm_platform_get_and_ioremap_resource(pdev, 1, &res); > Same as above. > >> + if (IS_ERR(v3->config_base)) >> + return PTR_ERR(v3->config_base); >> if (resource_size(regs) != SZ_16M) { >> dev_err(dev, "config mem is not 16MB!\n"); >> return -EINVAL; >> } >> v3->config_mem = regs->start; >> - v3->config_base = devm_ioremap_resource(dev, regs); >> - if (IS_ERR(v3->config_base)) >> - return PTR_ERR(v3->config_base); > This could be made such that the assignments are together. > > Krzysztof
diff --git a/drivers/pci/controller/pci-v3-semi.c b/drivers/pci/controller/pci-v3-semi.c index ca44b0c83d1b..0f993328dba2 100644 --- a/drivers/pci/controller/pci-v3-semi.c +++ b/drivers/pci/controller/pci-v3-semi.c @@ -736,8 +736,7 @@ static int v3_pci_probe(struct platform_device *pdev) return ret; } - regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); - v3->base = devm_ioremap_resource(dev, regs); + v3->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res); if (IS_ERR(v3->base)) return PTR_ERR(v3->base); /* @@ -750,15 +749,14 @@ static int v3_pci_probe(struct platform_device *pdev) readl(v3->base + V3_LB_IO_BASE), regs); /* Configuration space is 16MB directly mapped */ - regs = platform_get_resource(pdev, IORESOURCE_MEM, 1); + v3->config_base = devm_platform_get_and_ioremap_resource(pdev, 1, &res); + if (IS_ERR(v3->config_base)) + return PTR_ERR(v3->config_base); if (resource_size(regs) != SZ_16M) { dev_err(dev, "config mem is not 16MB!\n"); return -EINVAL; } v3->config_mem = regs->start; - v3->config_base = devm_ioremap_resource(dev, regs); - if (IS_ERR(v3->config_base)) - return PTR_ERR(v3->config_base); /* Get and request error IRQ resource */ irq = platform_get_irq(pdev, 0);
Convert platform_get_resource(), devm_ioremap_resource() to a single call to devm_platform_get_and_ioremap_resource(), as this is exactly what this function does. Signed-off-by: Yangtao Li <frank.li@vivo.com> --- drivers/pci/controller/pci-v3-semi.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)