Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) /* Copyright (C) 2010-2020  B.A.T.M.A.N. contributors:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4)  * Marek Lindner
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) #ifndef _NET_BATMAN_ADV_SYSFS_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) #define _NET_BATMAN_ADV_SYSFS_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #include "main.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #include <linux/kobject.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #include <linux/netdevice.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #include <linux/sysfs.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #include <linux/types.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #define BATADV_SYSFS_IF_MESH_SUBDIR "mesh"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) #define BATADV_SYSFS_IF_BAT_SUBDIR "batman_adv"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) /**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)  * BATADV_SYSFS_VLAN_SUBDIR_PREFIX - prefix of the subfolder that will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)  *  created in the sysfs hierarchy for each VLAN interface. The subfolder will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)  *  be named "BATADV_SYSFS_VLAN_SUBDIR_PREFIX%vid".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #define BATADV_SYSFS_VLAN_SUBDIR_PREFIX "vlan"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) /**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)  * struct batadv_attribute - sysfs export helper for batman-adv attributes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) struct batadv_attribute {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 	/** @attr: sysfs attribute file */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 	struct attribute attr;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 	/**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 	 * @show: function to export the current attribute's content to sysfs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 	 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 	ssize_t (*show)(struct kobject *kobj, struct attribute *attr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 			char *buf);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 	/**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 	 * @store: function to load new value from character buffer and save it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 	 * in batman-adv attribute
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 	 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 	ssize_t (*store)(struct kobject *kobj, struct attribute *attr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 			 char *buf, size_t count);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) #ifdef CONFIG_BATMAN_ADV_SYSFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) int batadv_sysfs_add_meshif(struct net_device *dev);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) void batadv_sysfs_del_meshif(struct net_device *dev);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) int batadv_sysfs_add_hardif(struct kobject **hardif_obj,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 			    struct net_device *dev);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) void batadv_sysfs_del_hardif(struct kobject **hardif_obj);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) int batadv_sysfs_add_vlan(struct net_device *dev,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) 			  struct batadv_softif_vlan *vlan);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) void batadv_sysfs_del_vlan(struct batadv_priv *bat_priv,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 			   struct batadv_softif_vlan *vlan);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) static inline int batadv_sysfs_add_meshif(struct net_device *dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) 	return 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) static inline void batadv_sysfs_del_meshif(struct net_device *dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) static inline int batadv_sysfs_add_hardif(struct kobject **hardif_obj,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) 					  struct net_device *dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) 	return 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) static inline void batadv_sysfs_del_hardif(struct kobject **hardif_obj)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) static inline int batadv_sysfs_add_vlan(struct net_device *dev,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) 					struct batadv_softif_vlan *vlan)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) 	return 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) static inline void batadv_sysfs_del_vlan(struct batadv_priv *bat_priv,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) 					 struct batadv_softif_vlan *vlan)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) #endif /* _NET_BATMAN_ADV_SYSFS_H_ */