mirror of
https://github.com/torvalds/linux.git
synced 2024-12-05 10:32:35 +00:00
net: phy: dp83867: Allocate state struct in probe
This was being done in config the first time the phy was configured. Should be in the probe method. Cc: Andrew Lunn <andrew@lunn.ch> Cc: Florian Fainelli <f.fainelli@gmail.com> Cc: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: Trent Piepho <tpiepho@impinj.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f8bbf417e5
commit
565d9d221b
@ -268,25 +268,29 @@ static int dp83867_of_init(struct phy_device *phydev)
|
||||
}
|
||||
#endif /* CONFIG_OF_MDIO */
|
||||
|
||||
static int dp83867_config_init(struct phy_device *phydev)
|
||||
static int dp83867_probe(struct phy_device *phydev)
|
||||
{
|
||||
struct dp83867_private *dp83867;
|
||||
|
||||
dp83867 = devm_kzalloc(&phydev->mdio.dev, sizeof(*dp83867),
|
||||
GFP_KERNEL);
|
||||
if (!dp83867)
|
||||
return -ENOMEM;
|
||||
|
||||
phydev->priv = dp83867;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dp83867_config_init(struct phy_device *phydev)
|
||||
{
|
||||
struct dp83867_private *dp83867 = phydev->priv;
|
||||
int ret, val, bs;
|
||||
u16 delay;
|
||||
|
||||
if (!phydev->priv) {
|
||||
dp83867 = devm_kzalloc(&phydev->mdio.dev, sizeof(*dp83867),
|
||||
GFP_KERNEL);
|
||||
if (!dp83867)
|
||||
return -ENOMEM;
|
||||
|
||||
phydev->priv = dp83867;
|
||||
ret = dp83867_of_init(phydev);
|
||||
if (ret)
|
||||
return ret;
|
||||
} else {
|
||||
dp83867 = (struct dp83867_private *)phydev->priv;
|
||||
}
|
||||
ret = dp83867_of_init(phydev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/* RX_DV/RX_CTRL strapped in mode 1 or mode 2 workaround */
|
||||
if (dp83867->rxctrl_strap_quirk)
|
||||
@ -402,6 +406,7 @@ static struct phy_driver dp83867_driver[] = {
|
||||
.name = "TI DP83867",
|
||||
/* PHY_GBIT_FEATURES */
|
||||
|
||||
.probe = dp83867_probe,
|
||||
.config_init = dp83867_config_init,
|
||||
.soft_reset = dp83867_phy_reset,
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user