mdio: Abstract device_remove() and device_free()

Make device_free and device_remove operations in the mdio device
structure, so the core code does not need to differentiate between
phy devices and generic mdio devices.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/include/linux/mdio.h b/include/linux/mdio.h
index 75f7fad..5bfd99d 100644
--- a/include/linux/mdio.h
+++ b/include/linux/mdio.h
@@ -18,7 +18,11 @@
 
 	const struct dev_pm_ops *pm_ops;
 	struct mii_bus *bus;
+
 	int (*bus_match)(struct device *dev, struct device_driver *drv);
+	void (*device_free)(struct mdio_device *mdiodev);
+	void (*device_remove)(struct mdio_device *mdiodev);
+
 	/* Bus address of the MDIO device (0-31) */
 	int addr;
 	int flags;