|
@@ -152,6 +152,11 @@ struct mii_dev *mdio_alloc(void)
|
|
|
return bus;
|
|
|
}
|
|
|
|
|
|
+void mdio_free(struct mii_dev *bus)
|
|
|
+{
|
|
|
+ free(bus);
|
|
|
+}
|
|
|
+
|
|
|
int mdio_register(struct mii_dev *bus)
|
|
|
{
|
|
|
if (!bus || !bus->name || !bus->read || !bus->write)
|
|
@@ -173,6 +178,20 @@ int mdio_register(struct mii_dev *bus)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+int mdio_unregister(struct mii_dev *bus)
|
|
|
+{
|
|
|
+ if (!bus)
|
|
|
+ return 0;
|
|
|
+
|
|
|
+ /* delete it from the list */
|
|
|
+ list_del(&bus->link);
|
|
|
+
|
|
|
+ if (current_mii == bus)
|
|
|
+ current_mii = NULL;
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
void mdio_list_devices(void)
|
|
|
{
|
|
|
struct list_head *entry;
|