diff options
Diffstat (limited to 'drivers/net/ucc_geth_mii.c')
-rw-r--r-- | drivers/net/ucc_geth_mii.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/ucc_geth_mii.c b/drivers/net/ucc_geth_mii.c index 6d9e7ad9fda9..c001d261366b 100644 --- a/drivers/net/ucc_geth_mii.c +++ b/drivers/net/ucc_geth_mii.c | |||
@@ -141,8 +141,7 @@ static int uec_mdio_probe(struct of_device *ofdev, const struct of_device_id *ma | |||
141 | struct resource res; | 141 | struct resource res; |
142 | int k, err = 0; | 142 | int k, err = 0; |
143 | 143 | ||
144 | new_bus = kzalloc(sizeof(struct mii_bus), GFP_KERNEL); | 144 | new_bus = mdiobus_alloc(); |
145 | |||
146 | if (NULL == new_bus) | 145 | if (NULL == new_bus) |
147 | return -ENOMEM; | 146 | return -ENOMEM; |
148 | 147 | ||
@@ -187,7 +186,7 @@ static int uec_mdio_probe(struct of_device *ofdev, const struct of_device_id *ma | |||
187 | 186 | ||
188 | new_bus->priv = (void __force *)regs; | 187 | new_bus->priv = (void __force *)regs; |
189 | 188 | ||
190 | new_bus->dev = device; | 189 | new_bus->parent = device; |
191 | dev_set_drvdata(device, new_bus); | 190 | dev_set_drvdata(device, new_bus); |
192 | 191 | ||
193 | /* Read MII management master from device tree */ | 192 | /* Read MII management master from device tree */ |
@@ -235,7 +234,7 @@ bus_register_fail: | |||
235 | ioremap_fail: | 234 | ioremap_fail: |
236 | kfree(new_bus->irq); | 235 | kfree(new_bus->irq); |
237 | reg_map_fail: | 236 | reg_map_fail: |
238 | kfree(new_bus); | 237 | mdiobus_free(new_bus); |
239 | 238 | ||
240 | return err; | 239 | return err; |
241 | } | 240 | } |
@@ -251,7 +250,7 @@ static int uec_mdio_remove(struct of_device *ofdev) | |||
251 | 250 | ||
252 | iounmap((void __iomem *)bus->priv); | 251 | iounmap((void __iomem *)bus->priv); |
253 | bus->priv = NULL; | 252 | bus->priv = NULL; |
254 | kfree(bus); | 253 | mdiobus_free(bus); |
255 | 254 | ||
256 | return 0; | 255 | return 0; |
257 | } | 256 | } |