int i;
mutex_lock(&priv->reg_mutex);
- memset(&priv->vlan, 0, sizeof(struct ar8xxx_priv) -
- offsetof(struct ar8xxx_priv, vlan));
+ memset(&priv->ar8xxx_priv_volatile, 0, sizeof(priv->ar8xxx_priv_volatile));
for (i = 0; i < dev->vlans; i++)
priv->vlan_id[i] = i;
dev->phy_ptr = priv;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0)
dev->priv_flags |= IFF_NO_IP_ALIGN;
-#else LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0)
+#else
dev->extra_priv_flags |= IFF_NO_IP_ALIGN;
#endif
dev->eth_mangle_rx = ar8216_mangle_rx;
dev->phy_ptr = NULL;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0)
dev->priv_flags &= ~IFF_NO_IP_ALIGN;
-#else LINUX_VERSION_CODE >= KERNEL_VERSION(5,15,0)
+#else
dev->extra_priv_flags &= ~IFF_NO_IP_ALIGN;
#endif
dev->eth_mangle_rx = NULL;
unsigned int use_count;
/* all fields below are cleared on reset */
- bool vlan;
-
- u16 vlan_id[AR8XXX_MAX_VLANS];
- u8 vlan_table[AR8XXX_MAX_VLANS];
- u8 vlan_tagged;
- u16 pvid[AR8X16_MAX_PORTS];
- int arl_age_time;
-
- /* mirroring */
- bool mirror_rx;
- bool mirror_tx;
- int source_port;
- int monitor_port;
- u8 port_vlan_prio[AR8X16_MAX_PORTS];
+ struct_group(ar8xxx_priv_volatile,
+ bool vlan;
+
+ u16 vlan_id[AR8XXX_MAX_VLANS];
+ u8 vlan_table[AR8XXX_MAX_VLANS];
+ u8 vlan_tagged;
+ u16 pvid[AR8X16_MAX_PORTS];
+ int arl_age_time;
+
+ /* mirroring */
+ bool mirror_rx;
+ bool mirror_tx;
+ int source_port;
+ int monitor_port;
+ u8 port_vlan_prio[AR8X16_MAX_PORTS];
+ );
};
u32