diff options
author | Andrew Lunn <andrew@lunn.ch> | 2018-04-19 02:02:56 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-04-19 22:59:11 +0300 |
commit | fb766421d881a849c80c7cb80e8ccbbddeb55d9d (patch) | |
tree | 3ff2bc08358a17b67db879aa700a8f7671e25d63 /drivers/net/phy | |
parent | c82fc4814a93f36c9b536b5af8dd617e4ee1380f (diff) | |
download | linux-fb766421d881a849c80c7cb80e8ccbbddeb55d9d.tar.xz |
net: phy: mdio-gpio: Move allocation for bitbanging data
Moving the allocation of this structure to the probe function is a
step towards making it the core data structure of the driver.
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy')
-rw-r--r-- | drivers/net/phy/mdio-gpio.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c index b999f32374e2..bb57a9e89a18 100644 --- a/drivers/net/phy/mdio-gpio.c +++ b/drivers/net/phy/mdio-gpio.c @@ -115,15 +115,11 @@ static const struct mdiobb_ops mdio_gpio_ops = { }; static struct mii_bus *mdio_gpio_bus_init(struct device *dev, + struct mdio_gpio_info *bitbang, struct mdio_gpio_platform_data *pdata, int bus_id) { struct mii_bus *new_bus; - struct mdio_gpio_info *bitbang; - - bitbang = devm_kzalloc(dev, sizeof(*bitbang), GFP_KERNEL); - if (!bitbang) - return NULL; bitbang->ctrl.ops = &mdio_gpio_ops; bitbang->mdc = pdata->mdc; @@ -165,9 +161,14 @@ static void mdio_gpio_bus_destroy(struct device *dev) static int mdio_gpio_probe(struct platform_device *pdev) { struct mdio_gpio_platform_data *pdata; + struct mdio_gpio_info *bitbang; struct mii_bus *new_bus; int ret, bus_id; + bitbang = devm_kzalloc(&pdev->dev, sizeof(*bitbang), GFP_KERNEL); + if (!bitbang) + return -ENOMEM; + if (pdev->dev.of_node) { pdata = mdio_gpio_of_get_data(&pdev->dev); bus_id = of_alias_get_id(pdev->dev.of_node, "mdio-gpio"); @@ -183,7 +184,7 @@ static int mdio_gpio_probe(struct platform_device *pdev) if (!pdata) return -ENODEV; - new_bus = mdio_gpio_bus_init(&pdev->dev, pdata, bus_id); + new_bus = mdio_gpio_bus_init(&pdev->dev, bitbang, pdata, bus_id); if (!new_bus) return -ENODEV; |