OSDN Git Service

staging: mt7621-pci-phy: use 'module_init' instead of 'arch_initcall'
authorSergio Paracuellos <sergio.paracuellos@gmail.com>
Fri, 15 Feb 2019 06:18:38 +0000 (07:18 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 19 Feb 2019 10:12:08 +0000 (11:12 +0100)
Init driver as 'arch_initcall()' does not work. It causes phy_create()
to be called before the phy module is initialized, so 'phy_class' is NULL,
the new phy isn't placed in the right class, and it cannot be found.
Change to 'module_init()' which works properly in this case.

Fixes: 00981d31d6df: staging: mt7621-pci-phy: add new driver for phy part of mt7621-pci
Reported-by: NeilBrown <neil@brown.name>
Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/mt7621-pci-phy/pci-mt7621-phy.c

index 3d16716..d3ca2f0 100644 (file)
@@ -380,7 +380,7 @@ static int __init mt7621_pci_phy_drv_init(void)
        return platform_driver_register(&mt7621_pci_phy_driver);
 }
 
-arch_initcall(mt7621_pci_phy_drv_init);
+module_init(mt7621_pci_phy_drv_init);
 
 MODULE_AUTHOR("Sergio Paracuellos <sergio.paracuellos@gmail.com>");
 MODULE_DESCRIPTION("MediaTek MT7621 PCIe PHY driver");