a79d8e93d3
With that patch fixed.c now fully emulates MDIO bus, thus no need to duplicate PHY layer functionality. That, in turn, drastically simplifies the code, and drops down line count. As an additional bonus, now there is no need to register MDIO bus for each PHY, all emulated PHYs placed on the platform fixed MDIO bus. There is also no more need to pre-allocate PHYs via .config option, this is all now handled dynamically. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Vitaly Bordug <vitb@kernel.crashing.org> Acked-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
31 lines
684 B
C
31 lines
684 B
C
#ifndef __PHY_FIXED_H
|
|
#define __PHY_FIXED_H
|
|
|
|
struct fixed_phy_status {
|
|
int link;
|
|
int speed;
|
|
int duplex;
|
|
int pause;
|
|
int asym_pause;
|
|
};
|
|
|
|
#ifdef CONFIG_FIXED_PHY
|
|
extern int fixed_phy_add(unsigned int irq, int phy_id,
|
|
struct fixed_phy_status *status);
|
|
#else
|
|
static inline int fixed_phy_add(unsigned int irq, int phy_id,
|
|
struct fixed_phy_status *status)
|
|
{
|
|
return -ENODEV;
|
|
}
|
|
#endif /* CONFIG_FIXED_PHY */
|
|
|
|
/*
|
|
* This function issued only by fixed_phy-aware drivers, no need
|
|
* protect it with #ifdef
|
|
*/
|
|
extern int fixed_phy_set_link_update(struct phy_device *phydev,
|
|
int (*link_update)(struct net_device *,
|
|
struct fixed_phy_status *));
|
|
|
|
#endif /* __PHY_FIXED_H */
|