dsa_switch_driverRegular
4.4: Absent ⚠️
4.8: ✅struct dsa_switch_driver {
struct list_head list;
enum dsa_tag_protocol tag_protocol;
const char * (*probe)(struct device *, struct device *, int, void **);
int (*setup)(struct dsa_switch *);
int (*set_addr)(struct dsa_switch *, u8 *);
u32 (*get_phy_flags)(struct dsa_switch *, int);
int (*phy_read)(struct dsa_switch *, int, int);
int (*phy_write)(struct dsa_switch *, int, int, u16);
void (*adjust_link)(struct dsa_switch *, int, struct phy_device *);
void (*fixed_link_update)(struct dsa_switch *, int, struct fixed_phy_status *);
void (*get_strings)(struct dsa_switch *, int, uint8_t *);
void (*get_ethtool_stats)(struct dsa_switch *, int, uint64_t *);
int (*get_sset_count)(struct dsa_switch *);
void (*get_wol)(struct dsa_switch *, int, struct ethtool_wolinfo *);
int (*set_wol)(struct dsa_switch *, int, struct ethtool_wolinfo *);
int (*suspend)(struct dsa_switch *);
int (*resume)(struct dsa_switch *);
int (*port_enable)(struct dsa_switch *, int, struct phy_device *);
void (*port_disable)(struct dsa_switch *, int, struct phy_device *);
int (*set_eee)(struct dsa_switch *, int, struct phy_device *, struct ethtool_eee *);
int (*get_eee)(struct dsa_switch *, int, struct ethtool_eee *);
int (*get_temp)(struct dsa_switch *, int *);
int (*get_temp_limit)(struct dsa_switch *, int *);
int (*set_temp_limit)(struct dsa_switch *, int);
int (*get_temp_alarm)(struct dsa_switch *, bool *);
int (*get_eeprom_len)(struct dsa_switch *);
int (*get_eeprom)(struct dsa_switch *, struct ethtool_eeprom *, u8 *);
int (*set_eeprom)(struct dsa_switch *, struct ethtool_eeprom *, u8 *);
int (*get_regs_len)(struct dsa_switch *, int);
void (*get_regs)(struct dsa_switch *, int, struct ethtool_regs *, void *);
int (*set_ageing_time)(struct dsa_switch *, unsigned int);
int (*port_bridge_join)(struct dsa_switch *, int, struct net_device *);
void (*port_bridge_leave)(struct dsa_switch *, int);
void (*port_stp_state_set)(struct dsa_switch *, int, u8);
int (*port_vlan_filtering)(struct dsa_switch *, int, bool);
int (*port_vlan_prepare)(struct dsa_switch *, int, const struct switchdev_obj_port_vlan *, struct switchdev_trans *);
void (*port_vlan_add)(struct dsa_switch *, int, const struct switchdev_obj_port_vlan *, struct switchdev_trans *);
int (*port_vlan_del)(struct dsa_switch *, int, const struct switchdev_obj_port_vlan *);
int (*port_vlan_dump)(struct dsa_switch *, int, struct switchdev_obj_port_vlan *, int(*)(struct switchdev_obj *));
int (*port_fdb_prepare)(struct dsa_switch *, int, const struct switchdev_obj_port_fdb *, struct switchdev_trans *);
void (*port_fdb_add)(struct dsa_switch *, int, const struct switchdev_obj_port_fdb *, struct switchdev_trans *);
int (*port_fdb_del)(struct dsa_switch *, int, const struct switchdev_obj_port_fdb *);
int (*port_fdb_dump)(struct dsa_switch *, int, struct switchdev_obj_port_fdb *, int(*)(struct switchdev_obj *));
};
4.10: Absent ⚠️
4.13: Absent ⚠️
4.15: Absent ⚠️
4.18: Absent ⚠️
5.0: Absent ⚠️
5.3: Absent ⚠️
5.4: Absent ⚠️
5.8: Absent ⚠️
5.11: Absent ⚠️
5.13: Absent ⚠️
5.15: Absent ⚠️
5.19: Absent ⚠️
6.2: Absent ⚠️
6.5: Absent ⚠️
6.8: Absent ⚠️
arm64: Absent ⚠️
armhf: Absent ⚠️
ppc64el: Absent ⚠️
riscv64: Absent ⚠️
aws: Absent ⚠️
azure: Absent ⚠️
gcp: Absent ⚠️
lowlatency: Absent ⚠️
Regular