phy_deviceRegular
4.4: ✅struct phy_device {
struct phy_driver *drv;
struct mii_bus *bus;
struct device dev;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
bool is_c45;
bool is_internal;
bool is_pseudo_fixed_link;
bool has_fixups;
bool suspended;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int addr;
int speed;
int duplex;
int pause;
int asym_pause;
int link;
u32 interrupts;
u32 supported;
u32 advertising;
u32 lp_advertising;
int autoneg;
int link_timeout;
int irq;
void *priv;
struct work_struct phy_queue;
struct delayed_work state_queue;
atomic_t irq_disable;
struct mutex lock;
struct net_device *attached_dev;
u8 mdix;
void (*adjust_link)(struct net_device *);
};
4.8: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
bool is_c45;
bool is_internal;
bool is_pseudo_fixed_link;
bool has_fixups;
bool suspended;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int pause;
int asym_pause;
int link;
u32 interrupts;
u32 supported;
u32 advertising;
u32 lp_advertising;
int autoneg;
int link_timeout;
int irq;
void *priv;
struct work_struct phy_queue;
struct delayed_work state_queue;
atomic_t irq_disable;
struct mutex lock;
struct net_device *attached_dev;
u8 mdix;
void (*adjust_link)(struct net_device *);
};
4.10: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
bool is_c45;
bool is_internal;
bool is_pseudo_fixed_link;
bool has_fixups;
bool suspended;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int pause;
int asym_pause;
int link;
u32 interrupts;
u32 supported;
u32 advertising;
u32 lp_advertising;
u32 eee_broken_modes;
int autoneg;
int link_timeout;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
int irq;
void *priv;
struct work_struct phy_queue;
struct delayed_work state_queue;
atomic_t irq_disable;
struct mutex lock;
struct net_device *attached_dev;
u8 mdix;
u8 mdix_ctrl;
void (*adjust_link)(struct net_device *);
};
4.13: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
bool is_c45;
bool is_internal;
bool is_pseudo_fixed_link;
bool has_fixups;
bool suspended;
bool sysfs_links;
bool loopback_enabled;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int pause;
int asym_pause;
int link;
u32 interrupts;
u32 supported;
u32 advertising;
u32 lp_advertising;
u32 eee_broken_modes;
int autoneg;
int link_timeout;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
int irq;
void *priv;
struct work_struct phy_queue;
struct delayed_work state_queue;
atomic_t irq_disable;
struct mutex lock;
struct net_device *attached_dev;
u8 mdix;
u8 mdix_ctrl;
void (*adjust_link)(struct net_device *);
};
4.15: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
bool is_c45;
bool is_internal;
bool is_pseudo_fixed_link;
bool has_fixups;
bool suspended;
bool sysfs_links;
bool loopback_enabled;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int pause;
int asym_pause;
int link;
u32 interrupts;
u32 supported;
u32 advertising;
u32 lp_advertising;
u32 eee_broken_modes;
int autoneg;
int link_timeout;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct work_struct phy_queue;
struct delayed_work state_queue;
struct mutex lock;
struct phylink *phylink;
struct net_device *attached_dev;
u8 mdix;
u8 mdix_ctrl;
void (*phy_link_change)(struct phy_device *, bool, bool);
void (*adjust_link)(struct net_device *);
};
4.18: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int has_fixups;
unsigned int suspended;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int autoneg;
unsigned int link;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int pause;
int asym_pause;
u32 interrupts;
u32 supported;
u32 advertising;
u32 lp_advertising;
u32 eee_broken_modes;
int link_timeout;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct work_struct phy_queue;
struct delayed_work state_queue;
struct mutex lock;
struct phylink *phylink;
struct net_device *attached_dev;
u8 mdix;
u8 mdix_ctrl;
void (*phy_link_change)(struct phy_device *, bool, bool);
void (*adjust_link)(struct net_device *);
};
5.0: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int has_fixups;
unsigned int suspended;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int autoneg;
unsigned int link;
unsigned int interrupts;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int pause;
int asym_pause;
long unsigned int supported[1];
long unsigned int advertising[1];
long unsigned int lp_advertising[1];
u32 eee_broken_modes;
int link_timeout;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct delayed_work state_queue;
struct mutex lock;
struct phylink *phylink;
struct net_device *attached_dev;
u8 mdix;
u8 mdix_ctrl;
void (*phy_link_change)(struct phy_device *, bool, bool);
void (*adjust_link)(struct net_device *);
};
5.3: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int pause;
int asym_pause;
long unsigned int supported[2];
long unsigned int advertising[2];
long unsigned int lp_advertising[2];
u32 eee_broken_modes;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct delayed_work state_queue;
struct mutex lock;
struct phylink *phylink;
struct net_device *attached_dev;
u8 mdix;
u8 mdix_ctrl;
void (*phy_link_change)(struct phy_device *, bool, bool);
void (*adjust_link)(struct net_device *);
};
5.4: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int suspended_by_mdio_bus;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int pause;
int asym_pause;
long unsigned int supported[2];
long unsigned int advertising[2];
long unsigned int lp_advertising[2];
long unsigned int adv_old[2];
u32 eee_broken_modes;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct delayed_work state_queue;
struct mutex lock;
struct phylink *phylink;
struct net_device *attached_dev;
u8 mdix;
u8 mdix_ctrl;
void (*phy_link_change)(struct phy_device *, bool, bool);
void (*adjust_link)(struct net_device *);
};
5.8: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int suspended_by_mdio_bus;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int downshifted_rate;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int pause;
int asym_pause;
u8 master_slave_get;
u8 master_slave_set;
u8 master_slave_state;
long unsigned int supported[2];
long unsigned int advertising[2];
long unsigned int lp_advertising[2];
long unsigned int adv_old[2];
u32 eee_broken_modes;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct phy_package_shared *shared;
struct sk_buff *skb;
void *ehdr;
struct nlattr *nest;
struct delayed_work state_queue;
struct mutex lock;
bool sfp_bus_attached;
struct sfp_bus *sfp_bus;
struct phylink *phylink;
struct net_device *attached_dev;
struct mii_timestamper *mii_ts;
u8 mdix;
u8 mdix_ctrl;
void (*phy_link_change)(struct phy_device *, bool);
void (*adjust_link)(struct net_device *);
const struct macsec_ops *macsec_ops;
};
5.11: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int suspended_by_mdio_bus;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int downshifted_rate;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int port;
int pause;
int asym_pause;
u8 master_slave_get;
u8 master_slave_set;
u8 master_slave_state;
long unsigned int supported[2];
long unsigned int advertising[2];
long unsigned int lp_advertising[2];
long unsigned int adv_old[2];
u32 eee_broken_modes;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct phy_package_shared *shared;
struct sk_buff *skb;
void *ehdr;
struct nlattr *nest;
struct delayed_work state_queue;
struct mutex lock;
bool sfp_bus_attached;
struct sfp_bus *sfp_bus;
struct phylink *phylink;
struct net_device *attached_dev;
struct mii_timestamper *mii_ts;
u8 mdix;
u8 mdix_ctrl;
void (*phy_link_change)(struct phy_device *, bool);
void (*adjust_link)(struct net_device *);
const struct macsec_ops *macsec_ops;
};
5.13: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int suspended_by_mdio_bus;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int downshifted_rate;
unsigned int is_on_sfp_module;
unsigned int mac_managed_pm;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int port;
int pause;
int asym_pause;
u8 master_slave_get;
u8 master_slave_set;
u8 master_slave_state;
long unsigned int supported[2];
long unsigned int advertising[2];
long unsigned int lp_advertising[2];
long unsigned int adv_old[2];
u32 eee_broken_modes;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct phy_package_shared *shared;
struct sk_buff *skb;
void *ehdr;
struct nlattr *nest;
struct delayed_work state_queue;
struct mutex lock;
bool sfp_bus_attached;
struct sfp_bus *sfp_bus;
struct phylink *phylink;
struct net_device *attached_dev;
struct mii_timestamper *mii_ts;
u8 mdix;
u8 mdix_ctrl;
void (*phy_link_change)(struct phy_device *, bool);
void (*adjust_link)(struct net_device *);
const struct macsec_ops *macsec_ops;
};
5.15: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int suspended_by_mdio_bus;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int downshifted_rate;
unsigned int is_on_sfp_module;
unsigned int mac_managed_pm;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int port;
int pause;
int asym_pause;
u8 master_slave_get;
u8 master_slave_set;
u8 master_slave_state;
long unsigned int supported[2];
long unsigned int advertising[2];
long unsigned int lp_advertising[2];
long unsigned int adv_old[2];
u32 eee_broken_modes;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct phy_package_shared *shared;
struct sk_buff *skb;
void *ehdr;
struct nlattr *nest;
struct delayed_work state_queue;
struct mutex lock;
bool sfp_bus_attached;
struct sfp_bus *sfp_bus;
struct phylink *phylink;
struct net_device *attached_dev;
struct mii_timestamper *mii_ts;
u8 mdix;
u8 mdix_ctrl;
void (*phy_link_change)(struct phy_device *, bool);
void (*adjust_link)(struct net_device *);
const struct macsec_ops *macsec_ops;
};
5.19: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int suspended_by_mdio_bus;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int downshifted_rate;
unsigned int is_on_sfp_module;
unsigned int mac_managed_pm;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
unsigned int irq_suspended;
unsigned int irq_rerun;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int port;
int pause;
int asym_pause;
u8 master_slave_get;
u8 master_slave_set;
u8 master_slave_state;
long unsigned int supported[2];
long unsigned int advertising[2];
long unsigned int lp_advertising[2];
long unsigned int adv_old[2];
u32 eee_broken_modes;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct phy_package_shared *shared;
struct sk_buff *skb;
void *ehdr;
struct nlattr *nest;
struct delayed_work state_queue;
struct mutex lock;
bool sfp_bus_attached;
struct sfp_bus *sfp_bus;
struct phylink *phylink;
struct net_device *attached_dev;
struct mii_timestamper *mii_ts;
u8 mdix;
u8 mdix_ctrl;
int pma_extable;
void (*phy_link_change)(struct phy_device *, bool);
void (*adjust_link)(struct net_device *);
const struct macsec_ops *macsec_ops;
};
6.2: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
struct device_link *devlink;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int suspended_by_mdio_bus;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int downshifted_rate;
unsigned int is_on_sfp_module;
unsigned int mac_managed_pm;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
unsigned int irq_suspended;
unsigned int irq_rerun;
int rate_matching;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int port;
int pause;
int asym_pause;
u8 master_slave_get;
u8 master_slave_set;
u8 master_slave_state;
long unsigned int supported[2];
long unsigned int advertising[2];
long unsigned int lp_advertising[2];
long unsigned int adv_old[2];
long unsigned int host_interfaces[1];
u32 eee_broken_modes;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct phy_package_shared *shared;
struct sk_buff *skb;
void *ehdr;
struct nlattr *nest;
struct delayed_work state_queue;
struct mutex lock;
bool sfp_bus_attached;
struct sfp_bus *sfp_bus;
struct phylink *phylink;
struct net_device *attached_dev;
struct mii_timestamper *mii_ts;
struct pse_control *psec;
u8 mdix;
u8 mdix_ctrl;
int pma_extable;
unsigned int link_down_events;
void (*phy_link_change)(struct phy_device *, bool);
void (*adjust_link)(struct net_device *);
const struct macsec_ops *macsec_ops;
};
6.5: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
struct device_link *devlink;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int suspended_by_mdio_bus;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int downshifted_rate;
unsigned int is_on_sfp_module;
unsigned int mac_managed_pm;
unsigned int wol_enabled;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
unsigned int irq_suspended;
unsigned int irq_rerun;
int rate_matching;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int port;
int pause;
int asym_pause;
u8 master_slave_get;
u8 master_slave_set;
u8 master_slave_state;
long unsigned int supported[2];
long unsigned int advertising[2];
long unsigned int lp_advertising[2];
long unsigned int adv_old[2];
long unsigned int supported_eee[2];
long unsigned int advertising_eee[2];
bool eee_enabled;
long unsigned int host_interfaces[1];
u32 eee_broken_modes;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
struct list_head leds;
int irq;
void *priv;
struct phy_package_shared *shared;
struct sk_buff *skb;
void *ehdr;
struct nlattr *nest;
struct delayed_work state_queue;
struct mutex lock;
bool sfp_bus_attached;
struct sfp_bus *sfp_bus;
struct phylink *phylink;
struct net_device *attached_dev;
struct mii_timestamper *mii_ts;
struct pse_control *psec;
u8 mdix;
u8 mdix_ctrl;
int pma_extable;
unsigned int link_down_events;
void (*phy_link_change)(struct phy_device *, bool);
void (*adjust_link)(struct net_device *);
const struct macsec_ops *macsec_ops;
};
6.8: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
struct device_link *devlink;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int suspended_by_mdio_bus;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int downshifted_rate;
unsigned int is_on_sfp_module;
unsigned int mac_managed_pm;
unsigned int wol_enabled;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
unsigned int irq_suspended;
unsigned int irq_rerun;
int rate_matching;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
long unsigned int possible_interfaces[1];
int speed;
int duplex;
int port;
int pause;
int asym_pause;
u8 master_slave_get;
u8 master_slave_set;
u8 master_slave_state;
long unsigned int supported[2];
long unsigned int advertising[2];
long unsigned int lp_advertising[2];
long unsigned int adv_old[2];
long unsigned int supported_eee[2];
long unsigned int advertising_eee[2];
bool eee_enabled;
long unsigned int host_interfaces[1];
u32 eee_broken_modes;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
struct list_head leds;
int irq;
void *priv;
struct phy_package_shared *shared;
struct sk_buff *skb;
void *ehdr;
struct nlattr *nest;
struct delayed_work state_queue;
struct mutex lock;
bool sfp_bus_attached;
struct sfp_bus *sfp_bus;
struct phylink *phylink;
struct net_device *attached_dev;
struct mii_timestamper *mii_ts;
struct pse_control *psec;
u8 mdix;
u8 mdix_ctrl;
int pma_extable;
unsigned int link_down_events;
void (*phy_link_change)(struct phy_device *, bool);
void (*adjust_link)(struct net_device *);
const struct macsec_ops *macsec_ops;
};
arm64: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int suspended_by_mdio_bus;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int pause;
int asym_pause;
long unsigned int supported[2];
long unsigned int advertising[2];
long unsigned int lp_advertising[2];
long unsigned int adv_old[2];
u32 eee_broken_modes;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct delayed_work state_queue;
struct mutex lock;
struct phylink *phylink;
struct net_device *attached_dev;
u8 mdix;
u8 mdix_ctrl;
void (*phy_link_change)(struct phy_device *, bool, bool);
void (*adjust_link)(struct net_device *);
};
armhf: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int suspended_by_mdio_bus;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int pause;
int asym_pause;
long unsigned int supported[3];
long unsigned int advertising[3];
long unsigned int lp_advertising[3];
long unsigned int adv_old[3];
u32 eee_broken_modes;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct delayed_work state_queue;
struct mutex lock;
struct phylink *phylink;
struct net_device *attached_dev;
u8 mdix;
u8 mdix_ctrl;
void (*phy_link_change)(struct phy_device *, bool, bool);
void (*adjust_link)(struct net_device *);
};
ppc64el: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int suspended_by_mdio_bus;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int pause;
int asym_pause;
long unsigned int supported[2];
long unsigned int advertising[2];
long unsigned int lp_advertising[2];
long unsigned int adv_old[2];
u32 eee_broken_modes;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct delayed_work state_queue;
struct mutex lock;
struct phylink *phylink;
struct net_device *attached_dev;
u8 mdix;
u8 mdix_ctrl;
void (*phy_link_change)(struct phy_device *, bool, bool);
void (*adjust_link)(struct net_device *);
};
riscv64: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int suspended_by_mdio_bus;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int pause;
int asym_pause;
long unsigned int supported[2];
long unsigned int advertising[2];
long unsigned int lp_advertising[2];
long unsigned int adv_old[2];
u32 eee_broken_modes;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct delayed_work state_queue;
struct mutex lock;
struct phylink *phylink;
struct net_device *attached_dev;
u8 mdix;
u8 mdix_ctrl;
void (*phy_link_change)(struct phy_device *, bool, bool);
void (*adjust_link)(struct net_device *);
};
aws: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int suspended_by_mdio_bus;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int pause;
int asym_pause;
long unsigned int supported[2];
long unsigned int advertising[2];
long unsigned int lp_advertising[2];
long unsigned int adv_old[2];
u32 eee_broken_modes;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct delayed_work state_queue;
struct mutex lock;
struct phylink *phylink;
struct net_device *attached_dev;
u8 mdix;
u8 mdix_ctrl;
void (*phy_link_change)(struct phy_device *, bool, bool);
void (*adjust_link)(struct net_device *);
};
azure: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int suspended_by_mdio_bus;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int pause;
int asym_pause;
long unsigned int supported[2];
long unsigned int advertising[2];
long unsigned int lp_advertising[2];
long unsigned int adv_old[2];
u32 eee_broken_modes;
int irq;
void *priv;
struct delayed_work state_queue;
struct mutex lock;
struct phylink *phylink;
struct net_device *attached_dev;
u8 mdix;
u8 mdix_ctrl;
void (*phy_link_change)(struct phy_device *, bool, bool);
void (*adjust_link)(struct net_device *);
};
gcp: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int suspended_by_mdio_bus;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int pause;
int asym_pause;
long unsigned int supported[2];
long unsigned int advertising[2];
long unsigned int lp_advertising[2];
long unsigned int adv_old[2];
u32 eee_broken_modes;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct delayed_work state_queue;
struct mutex lock;
struct phylink *phylink;
struct net_device *attached_dev;
u8 mdix;
u8 mdix_ctrl;
void (*phy_link_change)(struct phy_device *, bool, bool);
void (*adjust_link)(struct net_device *);
};
lowlatency: ✅struct phy_device {
struct mdio_device mdio;
struct phy_driver *drv;
u32 phy_id;
struct phy_c45_device_ids c45_ids;
unsigned int is_c45;
unsigned int is_internal;
unsigned int is_pseudo_fixed_link;
unsigned int is_gigabit_capable;
unsigned int has_fixups;
unsigned int suspended;
unsigned int suspended_by_mdio_bus;
unsigned int sysfs_links;
unsigned int loopback_enabled;
unsigned int autoneg;
unsigned int link;
unsigned int autoneg_complete;
unsigned int interrupts;
enum phy_state state;
u32 dev_flags;
phy_interface_t interface;
int speed;
int duplex;
int pause;
int asym_pause;
long unsigned int supported[2];
long unsigned int advertising[2];
long unsigned int lp_advertising[2];
long unsigned int adv_old[2];
u32 eee_broken_modes;
struct phy_led_trigger *phy_led_triggers;
unsigned int phy_num_led_triggers;
struct phy_led_trigger *last_triggered;
struct phy_led_trigger *led_link_trigger;
int irq;
void *priv;
struct delayed_work state_queue;
struct mutex lock;
struct phylink *phylink;
struct net_device *attached_dev;
u8 mdix;
u8 mdix_ctrl;
void (*phy_link_change)(struct phy_device *, bool, bool);
void (*adjust_link)(struct net_device *);
};
Regular
4.4 and 4.8 ⚠️struct mdio_device mdio
struct mii_bus *bus
struct device dev
int addr
4.8 and 4.10 ⚠️u32 eee_broken_modes
struct phy_led_trigger *phy_led_triggers
unsigned int phy_num_led_triggers
struct phy_led_trigger *last_triggered
u8 mdix_ctrl
4.10 and 4.13 ⚠️bool sysfs_links
bool loopback_enabled
4.13 and 4.15 ⚠️struct phy_led_trigger *led_link_trigger
struct phylink *phylink
void (*phy_link_change)(struct phy_device *, bool, bool)
atomic_t irq_disable
4.15 and 4.18 ⚠️bool is_c45 ➡️ unsigned int is_c45
bool is_internal ➡️ unsigned int is_internal
bool is_pseudo_fixed_link ➡️ unsigned int is_pseudo_fixed_link
bool has_fixups ➡️ unsigned int has_fixups
bool suspended ➡️ unsigned int suspended
bool sysfs_links ➡️ unsigned int sysfs_links
bool loopback_enabled ➡️ unsigned int loopback_enabled
int link ➡️ unsigned int link
int autoneg ➡️ unsigned int autoneg
4.18 and 5.0 ⚠️struct work_struct phy_queue
u32 interrupts ➡️ unsigned int interrupts
u32 supported ➡️ long unsigned int supported[1]
u32 advertising ➡️ long unsigned int advertising[1]
u32 lp_advertising ➡️ long unsigned int lp_advertising[1]
5.0 and 5.3 ⚠️unsigned int is_gigabit_capable
unsigned int autoneg_complete
int link_timeout
long unsigned int supported[1] ➡️ long unsigned int supported[2]
long unsigned int advertising[1] ➡️ long unsigned int advertising[2]
long unsigned int lp_advertising[1] ➡️ long unsigned int lp_advertising[2]
5.3 and 5.4 ⚠️unsigned int suspended_by_mdio_bus
long unsigned int adv_old[2]
5.4 and 5.8 ⚠️unsigned int downshifted_rate
u8 master_slave_get
u8 master_slave_set
u8 master_slave_state
struct phy_package_shared *shared
struct sk_buff *skb
void *ehdr
struct nlattr *nest
bool sfp_bus_attached
struct sfp_bus *sfp_bus
struct mii_timestamper *mii_ts
const struct macsec_ops *macsec_ops
void (*phy_link_change)(struct phy_device *, bool, bool) ➡️ void (*phy_link_change)(struct phy_device *, bool)
5.8 and 5.11 ⚠️int port
5.11 and 5.13 ⚠️unsigned int is_on_sfp_module
unsigned int mac_managed_pm
5.13 and 5.15 ✅
5.15 and 5.19 ⚠️unsigned int irq_suspended
unsigned int irq_rerun
int pma_extable
5.19 and 6.2 ⚠️struct device_link *devlink
int rate_matching
long unsigned int host_interfaces[1]
struct pse_control *psec
unsigned int link_down_events
const struct macsec_ops *macsec_ops ➡️ const struct macsec_ops *macsec_ops
6.2 and 6.5 ⚠️unsigned int wol_enabled
long unsigned int supported_eee[2]
long unsigned int advertising_eee[2]
bool eee_enabled
struct list_head leds
6.5 and 6.8 ⚠️long unsigned int possible_interfaces[1]
amd64 and arm64 ✅
amd64 and armhf ⚠️long unsigned int supported[2] ➡️ long unsigned int supported[3]
long unsigned int advertising[2] ➡️ long unsigned int advertising[3]
long unsigned int lp_advertising[2] ➡️ long unsigned int lp_advertising[3]
long unsigned int adv_old[2] ➡️ long unsigned int adv_old[3]
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and azure ⚠️struct phy_led_trigger *phy_led_triggers
unsigned int phy_num_led_triggers
struct phy_led_trigger *last_triggered
struct phy_led_trigger *led_link_trigger
generic and gcp ✅
generic and lowlatency ✅