patch "Revert "usb: musb: convert to devm_platform_ioremap_resource_byname"" added to usb-linus
Subsystems (3)
This is a note to let you know that I've just added the patch titled
Revert "usb: musb: convert to devm_platform_ioremap_resource_byname"
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the next -rc kernel release.
If you have any questions about this process, please let me know.
From ffa13d2d94029882eca22a565551783787f121e5 Mon Sep 17 00:00:00 2001
From: Geert Uytterhoeven <[email protected]>
Date: Thu, 12 Nov 2020 14:59:00 +0100
Subject: Revert "usb: musb: convert to devm_platform_ioremap_resource_byname"
This reverts commit 2d30e408a2a6b3443d3232593e3d472584a3e9f8.
On Beaglebone Black, where each interface has 2 children:
musb-dsps 47401c00.usb: can't request region for resource [mem 0x47401800-0x474019ff] musb-hdrc musb-hdrc.1: musb_init_controller failed with status -16
musb-hdrc: probe of musb-hdrc.1 failed with error -16
musb-dsps 47401400.usb: can't request region for resource [mem 0x47401000-0x474011ff] musb-hdrc musb-hdrc.0: musb_init_controller failed with status -16
musb-hdrc: probe of musb-hdrc.0 failed with error -16
Before, devm_ioremap_resource() was called on "dev" ("musb-hdrc.0" or "musb-hdrc.1"), after it is called on "&pdev->dev" ("47401400.usb" or "47401c00.usb"), leading to a duplicate region request, which fails.
--- drivers/usb/musb/musb_dsps.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/usb/musb/musb_dsps.c +3 -1
@@ -429,10 +429,12 @@ static int dsps_musb_init(struct musb *musb)struct platform_device *parent =to_platform_device (dev->parent);const struct dsps_musb_wrapper *wrp = glue->wrp;void __iomem *reg_base; +struct resource *r;u32 rev, val;int ret; - reg_base =devm_platform_ioremap_resource_byname (parent,"control" ); + r =platform_get_resource_byname (parent,IORESOURCE_MEM ,"control" ); + reg_base =devm_ioremap_resource (dev, r);if (IS_ERR (reg_base))return PTR_ERR (reg_base); musb->ctrl_base = reg_base;
Signature · 1 line
2.29.2