diff options
Diffstat (limited to 'include/linux/dsa/sja1105.h')
| -rw-r--r-- | include/linux/dsa/sja1105.h | 22 | 
1 files changed, 20 insertions, 2 deletions
diff --git a/include/linux/dsa/sja1105.h b/include/linux/dsa/sja1105.h index b6089b88314c..171106202fe5 100644 --- a/include/linux/dsa/sja1105.h +++ b/include/linux/dsa/sja1105.h @@ -16,6 +16,8 @@  #define ETH_P_SJA1105_META			0x0008  #define ETH_P_SJA1110				0xdadc +#define SJA1105_DEFAULT_VLAN			(VLAN_N_VID - 1) +  /* IEEE 802.3 Annex 57A: Slow Protocols PDUs (01:80:C2:xx:xx:xx) */  #define SJA1105_LINKLOCAL_FILTER_A		0x0180C2000000ull  #define SJA1105_LINKLOCAL_FILTER_A_MASK		0xFFFFFF000000ull @@ -59,14 +61,12 @@ struct sja1105_skb_cb {  	((struct sja1105_skb_cb *)((skb)->cb))  struct sja1105_port { -	u16 subvlan_map[DSA_8021Q_N_SUBVLAN];  	struct kthread_worker *xmit_worker;  	struct kthread_work xmit_work;  	struct sk_buff_head xmit_queue;  	struct sja1105_tagger_data *data;  	struct dsa_port *dp;  	bool hwts_tx_en; -	u16 xmit_tpid;  };  enum sja1110_meta_tstamp { @@ -89,4 +89,22 @@ static inline void sja1110_process_meta_tstamp(struct dsa_switch *ds, int port,  #endif /* IS_ENABLED(CONFIG_NET_DSA_SJA1105_PTP) */ +#if IS_ENABLED(CONFIG_NET_DSA_SJA1105) + +extern const struct dsa_switch_ops sja1105_switch_ops; + +static inline bool dsa_port_is_sja1105(struct dsa_port *dp) +{ +	return dp->ds->ops == &sja1105_switch_ops; +} + +#else + +static inline bool dsa_port_is_sja1105(struct dsa_port *dp) +{ +	return false; +} + +#endif +  #endif /* _NET_DSA_SJA1105_H */  |