mii_phy
static int emac_mdio_phy_start_aneg(struct mii_phy *phy,
static int emac_mdio_setup_aneg(struct mii_phy *phy, u32 advertise)
static int emac_mdio_setup_forced(struct mii_phy *phy, int speed, int fd)
static int emac_mdio_poll_link(struct mii_phy *phy)
static int emac_mdio_read_link(struct mii_phy *phy)
static int emac_mdio_init_phy(struct mii_phy *phy)
struct mii_phy phy;
static int genmii_setup_aneg(struct mii_phy *phy, u32 advertise)
static int genmii_setup_forced(struct mii_phy *phy, int speed, int fd)
static int genmii_poll_link(struct mii_phy *phy)
static int genmii_read_link(struct mii_phy *phy)
static int cis8201_init(struct mii_phy *phy)
static inline int _phy_read(struct mii_phy *phy, int reg)
static int m88e1111_init(struct mii_phy *phy)
static int m88e1112_init(struct mii_phy *phy)
static inline void _phy_write(struct mii_phy *phy, int reg, int val)
static int et1011c_init(struct mii_phy *phy)
static inline int gpcs_phy_read(struct mii_phy *phy, int reg)
static int ar8035_init(struct mii_phy *phy)
static inline void gpcs_phy_write(struct mii_phy *phy, int reg, int val)
int emac_mii_phy_probe(struct mii_phy *phy, int address)
int emac_mii_reset_phy(struct mii_phy *phy)
int emac_mii_reset_gpcs(struct mii_phy *phy)
struct mii_phy;
int (*init) (struct mii_phy * phy);
int (*suspend) (struct mii_phy * phy, int wol_options);
int (*setup_aneg) (struct mii_phy * phy, u32 advertise);
int (*setup_forced) (struct mii_phy * phy, int speed, int fd);
int (*poll_link) (struct mii_phy * phy);
int (*read_link) (struct mii_phy * phy);
int emac_mii_phy_probe(struct mii_phy *phy, int address);
int emac_mii_reset_phy(struct mii_phy *phy);
int emac_mii_reset_gpcs(struct mii_phy *phy);
struct mii_phy *mii_phy = sis_priv->mii;
mii_phy = sis_priv->mii;
if ((mii_phy->phy_id0 == 0x001D) &&
((mii_phy->phy_id1 & 0xFFF0) == 0x8000))
static void sis900_check_mode(struct net_device *net_dev, struct mii_phy *mii_phy)
if (mii_phy->phy_types == LAN) {
sis900_set_capability(net_dev , mii_phy);
struct mii_phy * next;
struct mii_phy *phy = sis_priv->mii;
struct mii_phy * mii;
struct mii_phy * first_mii; /* record the first mii structure */
static void sis900_check_mode (struct net_device *net_dev, struct mii_phy *mii_phy);
struct mii_phy *mii_phy = sis_priv->mii;
status = mdio_read(dev, mii_phy->phy_addr, MII_CONTROL);
mdio_write(dev, mii_phy->phy_addr,
status = mdio_read(dev, mii_phy->phy_addr, MII_CONTROL);
mdio_write(dev, mii_phy->phy_addr,
status = mdio_read(dev, mii_phy->phy_addr, MII_CONTROL);
mdio_write(dev, mii_phy->phy_addr,
static void sis900_set_capability( struct net_device *net_dev ,struct mii_phy *phy);
struct mii_phy *phy = sis_priv->first_mii;
struct mii_phy * mii_phy = NULL;
mii_phy = NULL;
if ((mii_phy = kmalloc_obj(struct mii_phy)) == NULL) {
mii_phy = sis_priv->first_mii;
while (mii_phy) {
struct mii_phy *phy;
phy = mii_phy;
mii_phy = mii_phy->next;
mii_phy->phy_id0 = mdio_read(net_dev, phy_addr, MII_PHY_ID0);
mii_phy->phy_id1 = mdio_read(net_dev, phy_addr, MII_PHY_ID1);
mii_phy->phy_addr = phy_addr;
mii_phy->status = mii_status;
mii_phy->next = sis_priv->mii;
sis_priv->mii = mii_phy;
sis_priv->first_mii = mii_phy;
if ((mii_phy->phy_id0 == mii_chip_table[i].phy_id0 ) &&
((mii_phy->phy_id1 & 0xFFF0) == mii_chip_table[i].phy_id1)){
mii_phy->phy_types = mii_chip_table[i].phy_types;
mii_phy->phy_types =
mii_phy->phy_types = UNKNOWN;
struct mii_phy *phy = NULL, *phy_home = NULL,
static void sis900_set_capability(struct net_device *net_dev, struct mii_phy *phy)
struct mii_phy phy_mii;
static int bcm5201_suspend(struct mii_phy* phy)
static int bcm5221_init(struct mii_phy* phy)
int sungem_phy_probe(struct mii_phy *phy, int mii_id)
static int bcm5221_suspend(struct mii_phy* phy)
static int bcm5241_init(struct mii_phy* phy)
static int bcm5241_suspend(struct mii_phy* phy)
static int bcm5400_init(struct mii_phy* phy)
static int bcm5400_suspend(struct mii_phy* phy)
static int bcm5401_init(struct mii_phy* phy)
static int bcm5401_suspend(struct mii_phy* phy)
static int bcm5411_init(struct mii_phy* phy)
static int genmii_setup_aneg(struct mii_phy *phy, u32 advertise)
static int genmii_setup_forced(struct mii_phy *phy, int speed, int fd)
static int genmii_poll_link(struct mii_phy *phy)
static int genmii_read_link(struct mii_phy *phy)
static int generic_suspend(struct mii_phy* phy)
static int bcm5421_init(struct mii_phy* phy)
static int bcm54xx_setup_aneg(struct mii_phy *phy, u32 advertise)
static inline int __sungem_phy_read(struct mii_phy* phy, int id, int reg)
static int bcm54xx_setup_forced(struct mii_phy *phy, int speed, int fd)
static inline void __sungem_phy_write(struct mii_phy* phy, int id, int reg, int val)
static int bcm54xx_read_link(struct mii_phy *phy)
static inline int sungem_phy_read(struct mii_phy* phy, int reg)
static int marvell88e1111_init(struct mii_phy* phy)
static int bcm5421_poll_link(struct mii_phy* phy)
static int bcm5421_read_link(struct mii_phy* phy)
static inline void sungem_phy_write(struct mii_phy* phy, int reg, int val)
static int bcm5421_enable_fiber(struct mii_phy* phy, int autoneg)
static int bcm5461_poll_link(struct mii_phy* phy)
static int reset_one_mii_phy(struct mii_phy* phy, int phy_id)
static int bcm5461_read_link(struct mii_phy* phy)
static int bcm5461_enable_fiber(struct mii_phy* phy, int autoneg)
static int marvell_setup_aneg(struct mii_phy *phy, u32 advertise)
static int marvell_setup_forced(struct mii_phy *phy, int speed, int fd)
static int marvell_read_link(struct mii_phy *phy)
static int bcm5201_init(struct mii_phy* phy)
int (*init)(struct mii_phy *phy);
int (*suspend)(struct mii_phy *phy);
int (*setup_aneg)(struct mii_phy *phy, u32 advertise);
int (*setup_forced)(struct mii_phy *phy, int speed, int fd);
int (*poll_link)(struct mii_phy *phy);
int (*read_link)(struct mii_phy *phy);
int (*enable_fiber)(struct mii_phy *phy, int autoneg);
extern int sungem_phy_probe(struct mii_phy *phy, int mii_id);
struct mii_phy;