menu "PHY device support"
config PHYLIB
- bool "PHY Device support and infrastructure"
+ tristate "PHY Device support and infrastructure"
depends on NET_ETHERNET
help
Ethernet controllers are usually attached to PHY
depends on PHYLIB
config MARVELL_PHY
- bool "Drivers for Marvell PHYs"
+ tristate "Drivers for Marvell PHYs"
depends on PHYLIB
---help---
Currently has a driver for the 88E1011S
config DAVICOM_PHY
- bool "Drivers for Davicom PHYs"
+ tristate "Drivers for Davicom PHYs"
depends on PHYLIB
---help---
Currently supports dm9161e and dm9131
config QSEMI_PHY
- bool "Drivers for Quality Semiconductor PHYs"
+ tristate "Drivers for Quality Semiconductor PHYs"
depends on PHYLIB
---help---
Currently supports the qs6612
config LXT_PHY
- bool "Drivers for the Intel LXT PHYs"
+ tristate "Drivers for the Intel LXT PHYs"
depends on PHYLIB
---help---
Currently supports the lxt970, lxt971
config CICADA_PHY
- bool "Drivers for the Cicada PHYs"
+ tristate "Drivers for the Cicada PHYs"
depends on PHYLIB
---help---
Currently supports the cis8204
# Makefile for Linux PHY drivers
-obj-$(CONFIG_PHYLIB) += phy.o phy_device.o mdio_bus.o
+libphy-objs := phy.o phy_device.o mdio_bus.o
-obj-$(CONFIG_MARVELL_PHY) += marvell.o
-obj-$(CONFIG_DAVICOM_PHY) += davicom.o
-obj-$(CONFIG_CICADA_PHY) += cicada.o
-obj-$(CONFIG_LXT_PHY) += lxt.o
-obj-$(CONFIG_QSEMI_PHY) += qsemi.o
+obj-$(CONFIG_MARVELL_PHY) += libphy.o marvell.o
+obj-$(CONFIG_DAVICOM_PHY) += libphy.o davicom.o
+obj-$(CONFIG_CICADA_PHY) += libphy.o cicada.o
+obj-$(CONFIG_LXT_PHY) += libphy.o lxt.o
+obj-$(CONFIG_QSEMI_PHY) += libphy.o qsemi.o
.resume = mdio_bus_resume,
};
-static int __init mdio_bus_init(void)
+int __init mdio_bus_init(void)
{
return bus_register(&mdio_bus_type);
}
-subsys_initcall(mdio_bus_init);
+
#include <asm/irq.h>
#include <asm/uaccess.h>
-static void phy_change(void *data);
static void phy_timer(unsigned long data);
/* Convenience function to print out the current phy status
phydev->adjust_state = NULL;
}
-#ifdef CONFIG_PHYCONTROL
/* phy_error:
*
* Moves the PHY to the HALTED state in response to a read
spin_unlock(&phydev->lock);
}
+#ifdef CONFIG_PHYCONTROL
+
+static void phy_change(void *data);
+
/* phy_interrupt
*
* description: When a PHY interrupt occurs, the handler disables
EXPORT_SYMBOL(phy_stop);
EXPORT_SYMBOL(phy_start);
+#endif /* CONFIG_PHYCONTROL */
+
/* PHY timer which handles the state machine */
static void phy_timer(unsigned long data)
{
mod_timer(&phydev->phy_timer, jiffies + PHY_STATE_TIME * HZ);
}
-#endif /* CONFIG_PHYCONTROL */