mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 08:03:01 +09:00
phylink,sfp: negotiate interface format with MAC
Negotiate the interface format with the MAC rather than requiring it to be a fixed type specified solely by the SFP module. This allows modules that can work with several different interface signalling formats to select a format compatible with the MAC - for example, a Fiber module supporing Gigabit ethernet and faster connected to a Gigabit only MAC needs to select the 1000BASE-X mode. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
03145864bd
commit
a9c79364df
@@ -422,10 +422,11 @@ struct sfp_upstream_ops {
|
||||
#if IS_ENABLED(CONFIG_SFP)
|
||||
int sfp_parse_port(struct sfp_bus *bus, const struct sfp_eeprom_id *id,
|
||||
unsigned long *support);
|
||||
phy_interface_t sfp_parse_interface(struct sfp_bus *bus,
|
||||
const struct sfp_eeprom_id *id);
|
||||
void sfp_parse_support(struct sfp_bus *bus, const struct sfp_eeprom_id *id,
|
||||
unsigned long *support);
|
||||
phy_interface_t sfp_select_interface(struct sfp_bus *bus,
|
||||
const struct sfp_eeprom_id *id,
|
||||
unsigned long *link_modes);
|
||||
|
||||
int sfp_get_module_info(struct sfp_bus *bus, struct ethtool_modinfo *modinfo);
|
||||
int sfp_get_module_eeprom(struct sfp_bus *bus, struct ethtool_eeprom *ee,
|
||||
@@ -444,18 +445,19 @@ static inline int sfp_parse_port(struct sfp_bus *bus,
|
||||
return PORT_OTHER;
|
||||
}
|
||||
|
||||
static inline phy_interface_t sfp_parse_interface(struct sfp_bus *bus,
|
||||
const struct sfp_eeprom_id *id)
|
||||
{
|
||||
return PHY_INTERFACE_MODE_NA;
|
||||
}
|
||||
|
||||
static inline void sfp_parse_support(struct sfp_bus *bus,
|
||||
const struct sfp_eeprom_id *id,
|
||||
unsigned long *support)
|
||||
{
|
||||
}
|
||||
|
||||
static inline phy_interface_t sfp_select_interface(struct sfp_bus *bus,
|
||||
const struct sfp_eeprom_id *id,
|
||||
unsigned long *link_modes)
|
||||
{
|
||||
return PHY_INTERFACE_MODE_NA;
|
||||
}
|
||||
|
||||
static inline int sfp_get_module_info(struct sfp_bus *bus,
|
||||
struct ethtool_modinfo *modinfo)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user