4 #include <linux/ethtool.h>
9 struct sfp_socket_ops
{
10 void (*start
)(struct sfp
*sfp
);
11 void (*stop
)(struct sfp
*sfp
);
12 int (*module_info
)(struct sfp
*sfp
, struct ethtool_modinfo
*modinfo
);
13 int (*module_eeprom
)(struct sfp
*sfp
, struct ethtool_eeprom
*ee
,
17 int sfp_add_phy(struct sfp_bus
*bus
, struct phy_device
*phydev
);
18 void sfp_remove_phy(struct sfp_bus
*bus
);
19 void sfp_link_up(struct sfp_bus
*bus
);
20 void sfp_link_down(struct sfp_bus
*bus
);
21 int sfp_module_insert(struct sfp_bus
*bus
, const struct sfp_eeprom_id
*id
);
22 void sfp_module_remove(struct sfp_bus
*bus
);
23 int sfp_link_configure(struct sfp_bus
*bus
, const struct sfp_eeprom_id
*id
);
24 struct sfp_bus
*sfp_register_socket(struct device
*dev
, struct sfp
*sfp
,
25 const struct sfp_socket_ops
*ops
);
26 void sfp_unregister_socket(struct sfp_bus
*bus
);