drivers/phy/broadcom/phy-bcm63xx-usbh.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Platform drivers can be probed after their init sections have been
discarded (e.g. on probe deferral or manual rebind through sysfs) so the
probe function and match table must not live in init.
Fixes: 783f6d3dcf35 ("phy: bcm63xx-usbh: Add BCM63xx USBH driver")
Cc: stable@vger.kernel.org # 5.9
Cc: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
---
drivers/phy/broadcom/phy-bcm63xx-usbh.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/phy/broadcom/phy-bcm63xx-usbh.c b/drivers/phy/broadcom/phy-bcm63xx-usbh.c
index 647644de041b..29fd6791bae6 100644
--- a/drivers/phy/broadcom/phy-bcm63xx-usbh.c
+++ b/drivers/phy/broadcom/phy-bcm63xx-usbh.c
@@ -375,7 +375,7 @@ static struct phy *bcm63xx_usbh_phy_xlate(struct device *dev,
return of_phy_simple_xlate(dev, args);
}
-static int __init bcm63xx_usbh_phy_probe(struct platform_device *pdev)
+static int bcm63xx_usbh_phy_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
struct bcm63xx_usbh_phy *usbh;
@@ -432,7 +432,7 @@ static int __init bcm63xx_usbh_phy_probe(struct platform_device *pdev)
return 0;
}
-static const struct of_device_id bcm63xx_usbh_phy_ids[] __initconst = {
+static const struct of_device_id bcm63xx_usbh_phy_ids[] = {
{ .compatible = "brcm,bcm6318-usbh-phy", .data = &usbh_bcm6318 },
{ .compatible = "brcm,bcm6328-usbh-phy", .data = &usbh_bcm6328 },
{ .compatible = "brcm,bcm6358-usbh-phy", .data = &usbh_bcm6358 },
@@ -443,7 +443,7 @@ static const struct of_device_id bcm63xx_usbh_phy_ids[] __initconst = {
};
MODULE_DEVICE_TABLE(of, bcm63xx_usbh_phy_ids);
-static struct platform_driver bcm63xx_usbh_phy_driver __refdata = {
+static struct platform_driver bcm63xx_usbh_phy_driver = {
.driver = {
.name = "bcm63xx-usbh-phy",
.of_match_table = bcm63xx_usbh_phy_ids,
--
2.49.1
On Fri, 17 Oct 2025 07:45:37 +0200, Johan Hovold wrote:
> Platform drivers can be probed after their init sections have been
> discarded (e.g. on probe deferral or manual rebind through sysfs) so the
> probe function and match table must not live in init.
>
>
Applied, thanks!
[1/1] phy: broadcom: bcm63xx-usbh: fix section mismatches
commit: 356d1924b9a6bc2164ce2bf1fad147b0c37ae085
Best regards,
--
~Vinod
On 10/17/25 07:45, Johan Hovold wrote:
> Platform drivers can be probed after their init sections have been
> discarded (e.g. on probe deferral or manual rebind through sysfs) so the
> probe function and match table must not live in init.
>
> Fixes: 783f6d3dcf35 ("phy: bcm63xx-usbh: Add BCM63xx USBH driver")
> Cc: stable@vger.kernel.org # 5.9
> Cc: Álvaro Fernández Rojas <noltari@gmail.com>
> Signed-off-by: Johan Hovold <johan@kernel.org>
> ---
> drivers/phy/broadcom/phy-bcm63xx-usbh.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/phy/broadcom/phy-bcm63xx-usbh.c b/drivers/phy/broadcom/phy-bcm63xx-usbh.c
> index 647644de041b..29fd6791bae6 100644
> --- a/drivers/phy/broadcom/phy-bcm63xx-usbh.c
> +++ b/drivers/phy/broadcom/phy-bcm63xx-usbh.c
> @@ -375,7 +375,7 @@ static struct phy *bcm63xx_usbh_phy_xlate(struct device *dev,
> return of_phy_simple_xlate(dev, args);
> }
>
> -static int __init bcm63xx_usbh_phy_probe(struct platform_device *pdev)
> +static int bcm63xx_usbh_phy_probe(struct platform_device *pdev)
> {
> struct device *dev = &pdev->dev;
> struct bcm63xx_usbh_phy *usbh;
> @@ -432,7 +432,7 @@ static int __init bcm63xx_usbh_phy_probe(struct platform_device *pdev)
> return 0;
> }
>
> -static const struct of_device_id bcm63xx_usbh_phy_ids[] __initconst = {
> +static const struct of_device_id bcm63xx_usbh_phy_ids[] = {
> { .compatible = "brcm,bcm6318-usbh-phy", .data = &usbh_bcm6318 },
> { .compatible = "brcm,bcm6328-usbh-phy", .data = &usbh_bcm6328 },
> { .compatible = "brcm,bcm6358-usbh-phy", .data = &usbh_bcm6358 },
> @@ -443,7 +443,7 @@ static const struct of_device_id bcm63xx_usbh_phy_ids[] __initconst = {
> };
> MODULE_DEVICE_TABLE(of, bcm63xx_usbh_phy_ids);
>
> -static struct platform_driver bcm63xx_usbh_phy_driver __refdata = {
> +static struct platform_driver bcm63xx_usbh_phy_driver = {
> .driver = {
> .name = "bcm63xx-usbh-phy",
> .of_match_table = bcm63xx_usbh_phy_ids,
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
On Fri, Oct 17, 2025 at 07:45:37AM +0200, Johan Hovold wrote:
> Platform drivers can be probed after their init sections have been
> discarded (e.g. on probe deferral or manual rebind through sysfs) so the
> probe function and match table must not live in init.
>
> Fixes: 783f6d3dcf35 ("phy: bcm63xx-usbh: Add BCM63xx USBH driver")
> Cc: stable@vger.kernel.org # 5.9
> Cc: Álvaro Fernández Rojas <noltari@gmail.com>
> Signed-off-by: Johan Hovold <johan@kernel.org>
> ---
Can this one be picked up for 6.19?
Johan
© 2016 - 2026 Red Hat, Inc.