diff options
author | Andy Fleming <afleming@freescale.com> | 2005-08-24 19:46:21 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-08-28 20:28:25 -0400 |
commit | e13934563db047043ccead26412f552375cea90c (patch) | |
tree | 4013ca99f718559447315370c9d5e220e71d99d5 /include/linux/phy.h | |
parent | 86f0cd505781e42000763821ec6f70127a6abaae (diff) |
[PATCH] PHY Layer fixup
This patch adds back the code that was taken out, thus re-enabling:
* The PHY Layer to initialize without crashing
* Drivers to actually connect to PHYs
* The entire PHY Control Layer
This patch is used by the gianfar driver, and other drivers which are in
development.
Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'include/linux/phy.h')
-rw-r--r-- | include/linux/phy.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/phy.h b/include/linux/phy.h index 4f2b5effc16b..72cb67b66e0c 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h | |||
@@ -334,11 +334,26 @@ int phy_write(struct phy_device *phydev, u16 regnum, u16 val); | |||
334 | struct phy_device* get_phy_device(struct mii_bus *bus, int addr); | 334 | struct phy_device* get_phy_device(struct mii_bus *bus, int addr); |
335 | int phy_clear_interrupt(struct phy_device *phydev); | 335 | int phy_clear_interrupt(struct phy_device *phydev); |
336 | int phy_config_interrupt(struct phy_device *phydev, u32 interrupts); | 336 | int phy_config_interrupt(struct phy_device *phydev, u32 interrupts); |
337 | struct phy_device * phy_attach(struct net_device *dev, | ||
338 | const char *phy_id, u32 flags); | ||
339 | struct phy_device * phy_connect(struct net_device *dev, const char *phy_id, | ||
340 | void (*handler)(struct net_device *), u32 flags); | ||
341 | void phy_disconnect(struct phy_device *phydev); | ||
342 | void phy_detach(struct phy_device *phydev); | ||
343 | void phy_start(struct phy_device *phydev); | ||
344 | void phy_stop(struct phy_device *phydev); | ||
345 | int phy_start_aneg(struct phy_device *phydev); | ||
346 | |||
347 | int mdiobus_register(struct mii_bus *bus); | ||
348 | void mdiobus_unregister(struct mii_bus *bus); | ||
349 | void phy_sanitize_settings(struct phy_device *phydev); | ||
350 | int phy_stop_interrupts(struct phy_device *phydev); | ||
337 | 351 | ||
338 | static inline int phy_read_status(struct phy_device *phydev) { | 352 | static inline int phy_read_status(struct phy_device *phydev) { |
339 | return phydev->drv->read_status(phydev); | 353 | return phydev->drv->read_status(phydev); |
340 | } | 354 | } |
341 | 355 | ||
356 | int genphy_config_advert(struct phy_device *phydev); | ||
342 | int genphy_setup_forced(struct phy_device *phydev); | 357 | int genphy_setup_forced(struct phy_device *phydev); |
343 | int genphy_restart_aneg(struct phy_device *phydev); | 358 | int genphy_restart_aneg(struct phy_device *phydev); |
344 | int genphy_config_aneg(struct phy_device *phydev); | 359 | int genphy_config_aneg(struct phy_device *phydev); |
@@ -355,6 +370,8 @@ int phy_ethtool_sset(struct phy_device *phydev, struct ethtool_cmd *cmd); | |||
355 | int phy_ethtool_gset(struct phy_device *phydev, struct ethtool_cmd *cmd); | 370 | int phy_ethtool_gset(struct phy_device *phydev, struct ethtool_cmd *cmd); |
356 | int phy_mii_ioctl(struct phy_device *phydev, | 371 | int phy_mii_ioctl(struct phy_device *phydev, |
357 | struct mii_ioctl_data *mii_data, int cmd); | 372 | struct mii_ioctl_data *mii_data, int cmd); |
373 | int phy_start_interrupts(struct phy_device *phydev); | ||
374 | void phy_print_status(struct phy_device *phydev); | ||
358 | 375 | ||
359 | extern struct bus_type mdio_bus_type; | 376 | extern struct bus_type mdio_bus_type; |
360 | #endif /* __PHY_H */ | 377 | #endif /* __PHY_H */ |