cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

sfp.h (1194B)


      1#ifndef SFP_H
      2#define SFP_H
      3
      4#include <linux/ethtool.h>
      5#include <linux/sfp.h>
      6
      7struct sfp;
      8
      9struct sfp_socket_ops {
     10	void (*attach)(struct sfp *sfp);
     11	void (*detach)(struct sfp *sfp);
     12	void (*start)(struct sfp *sfp);
     13	void (*stop)(struct sfp *sfp);
     14	int (*module_info)(struct sfp *sfp, struct ethtool_modinfo *modinfo);
     15	int (*module_eeprom)(struct sfp *sfp, struct ethtool_eeprom *ee,
     16			     u8 *data);
     17	int (*module_eeprom_by_page)(struct sfp *sfp,
     18				     const struct ethtool_module_eeprom *page,
     19				     struct netlink_ext_ack *extack);
     20};
     21
     22int sfp_add_phy(struct sfp_bus *bus, struct phy_device *phydev);
     23void sfp_remove_phy(struct sfp_bus *bus);
     24void sfp_link_up(struct sfp_bus *bus);
     25void sfp_link_down(struct sfp_bus *bus);
     26int sfp_module_insert(struct sfp_bus *bus, const struct sfp_eeprom_id *id);
     27void sfp_module_remove(struct sfp_bus *bus);
     28int sfp_module_start(struct sfp_bus *bus);
     29void sfp_module_stop(struct sfp_bus *bus);
     30int sfp_link_configure(struct sfp_bus *bus, const struct sfp_eeprom_id *id);
     31struct sfp_bus *sfp_register_socket(struct device *dev, struct sfp *sfp,
     32				    const struct sfp_socket_ops *ops);
     33void sfp_unregister_socket(struct sfp_bus *bus);
     34
     35#endif