xref: /linux/include/linux/if_hsr.h (revision dcf0cd1c)
1*dcf0cd1cSGeorge McCollister /* SPDX-License-Identifier: GPL-2.0 */
2*dcf0cd1cSGeorge McCollister #ifndef _LINUX_IF_HSR_H_
3*dcf0cd1cSGeorge McCollister #define _LINUX_IF_HSR_H_
4*dcf0cd1cSGeorge McCollister 
5*dcf0cd1cSGeorge McCollister /* used to differentiate various protocols */
6*dcf0cd1cSGeorge McCollister enum hsr_version {
7*dcf0cd1cSGeorge McCollister 	HSR_V0 = 0,
8*dcf0cd1cSGeorge McCollister 	HSR_V1,
9*dcf0cd1cSGeorge McCollister 	PRP_V1,
10*dcf0cd1cSGeorge McCollister };
11*dcf0cd1cSGeorge McCollister 
12*dcf0cd1cSGeorge McCollister #if IS_ENABLED(CONFIG_HSR)
13*dcf0cd1cSGeorge McCollister extern bool is_hsr_master(struct net_device *dev);
14*dcf0cd1cSGeorge McCollister extern int hsr_get_version(struct net_device *dev, enum hsr_version *ver);
15*dcf0cd1cSGeorge McCollister #else
16*dcf0cd1cSGeorge McCollister static inline bool is_hsr_master(struct net_device *dev)
17*dcf0cd1cSGeorge McCollister {
18*dcf0cd1cSGeorge McCollister 	return false;
19*dcf0cd1cSGeorge McCollister }
20*dcf0cd1cSGeorge McCollister static inline int hsr_get_version(struct net_device *dev,
21*dcf0cd1cSGeorge McCollister 				  enum hsr_version *ver)
22*dcf0cd1cSGeorge McCollister {
23*dcf0cd1cSGeorge McCollister 	return -EINVAL;
24*dcf0cd1cSGeorge McCollister }
25*dcf0cd1cSGeorge McCollister #endif /* CONFIG_HSR */
26*dcf0cd1cSGeorge McCollister 
27*dcf0cd1cSGeorge McCollister #endif /*_LINUX_IF_HSR_H_*/
28