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