]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
net: phy: dp83867: move static initialization to .probe()
authorGrygorii Strashko <grygorii.strashko@ti.com>
Mon, 18 Nov 2019 21:04:41 +0000 (23:04 +0200)
committerJoe Hershberger <joe.hershberger@ni.com>
Mon, 9 Dec 2019 15:47:42 +0000 (09:47 -0600)
Move static, one-time initialization to .probe() callback.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
drivers/net/phy/dp83867.c

index 75099364659374cff16a60e8961763b494e9151d..8dc2163342442fcabd2f1bece1759ad2db3b73ab 100644 (file)
@@ -204,18 +204,11 @@ static int dp83867_config(struct phy_device *phydev)
        unsigned int val, delay, cfg2;
        int ret, bs;
 
-       if (!phydev->priv) {
-               dp83867 = kzalloc(sizeof(*dp83867), GFP_KERNEL);
-               if (!dp83867)
-                       return -ENOMEM;
+       dp83867 = (struct dp83867_private *)phydev->priv;
 
-               phydev->priv = dp83867;
-               ret = dp83867_of_init(phydev);
-               if (ret)
-                       goto err_out;
-       } else {
-               dp83867 = (struct dp83867_private *)phydev->priv;
-       }
+       ret = dp83867_of_init(phydev);
+       if (ret)
+               return ret;
 
        /* Restart the PHY.  */
        val = phy_read(phydev, MDIO_DEVAD_NONE, DP83867_CTRL);
@@ -324,15 +317,27 @@ static int dp83867_config(struct phy_device *phydev)
        return 0;
 
 err_out:
-       kfree(dp83867);
        return ret;
 }
 
+static int dp83867_probe(struct phy_device *phydev)
+{
+       struct dp83867_private *dp83867;
+
+       dp83867 = kzalloc(sizeof(*dp83867), GFP_KERNEL);
+       if (!dp83867)
+               return -ENOMEM;
+
+       phydev->priv = dp83867;
+       return 0;
+}
+
 static struct phy_driver DP83867_driver = {
        .name = "TI DP83867",
        .uid = 0x2000a231,
        .mask = 0xfffffff0,
        .features = PHY_GBIT_FEATURES,
+       .probe = dp83867_probe,
        .config = &dp83867_config,
        .startup = &genphy_startup,
        .shutdown = &genphy_shutdown,