forked from mirrors/linux
		
	 c942398f95
			
		
	
	
		c942398f95
		
	
	
	
	
		
			
			In MLO, we have a per-link debugfs directory which contains the per-link files. In case of non-MLO we would like to put the per-link files in the netdev directory to keep it how it was before MLO. - Upon interface creation the netdev will be created with the per-link files in it. - Upon switching to MLO: delete the entire netdev directory and then recreate it without the per-link files. Then the per-link directories with the per-link files in it will be created in ieee80211_link_init() - Upon switching to non-MLO: delete the entire netdev directory (including the per-link directories) and recreate it with the per-link files in it. Note that this also aligns to always call the vif link debugfs method for the deflink as promised in the documentation, which wasn't done before. Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Link: https://lore.kernel.org/r/20230928172905.082e698caca9.I5bef7b2026e0f58b4a958b3d1f459ac5baeccfc9@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| /*
 | |
|  * Portions:
 | |
|  * Copyright (C) 2023 Intel Corporation
 | |
|  */
 | |
| /* routines exported for debugfs handling */
 | |
| 
 | |
| #ifndef __IEEE80211_DEBUGFS_NETDEV_H
 | |
| #define __IEEE80211_DEBUGFS_NETDEV_H
 | |
| 
 | |
| #include "ieee80211_i.h"
 | |
| 
 | |
| #ifdef CONFIG_MAC80211_DEBUGFS
 | |
| void ieee80211_debugfs_add_netdev(struct ieee80211_sub_if_data *sdata,
 | |
| 				  bool mld_vif);
 | |
| void ieee80211_debugfs_remove_netdev(struct ieee80211_sub_if_data *sdata);
 | |
| void ieee80211_debugfs_rename_netdev(struct ieee80211_sub_if_data *sdata);
 | |
| void ieee80211_debugfs_recreate_netdev(struct ieee80211_sub_if_data *sdata,
 | |
| 				       bool mld_vif);
 | |
| 
 | |
| void ieee80211_link_debugfs_add(struct ieee80211_link_data *link);
 | |
| void ieee80211_link_debugfs_remove(struct ieee80211_link_data *link);
 | |
| 
 | |
| void ieee80211_link_debugfs_drv_add(struct ieee80211_link_data *link);
 | |
| void ieee80211_link_debugfs_drv_remove(struct ieee80211_link_data *link);
 | |
| #else
 | |
| static inline void ieee80211_debugfs_add_netdev(
 | |
| 	struct ieee80211_sub_if_data *sdata, bool mld_vif)
 | |
| {}
 | |
| static inline void ieee80211_debugfs_remove_netdev(
 | |
| 	struct ieee80211_sub_if_data *sdata)
 | |
| {}
 | |
| static inline void ieee80211_debugfs_rename_netdev(
 | |
| 	struct ieee80211_sub_if_data *sdata)
 | |
| {}
 | |
| static inline void ieee80211_debugfs_recreate_netdev(
 | |
| 	struct ieee80211_sub_if_data *sdata, bool mld_vif)
 | |
| {}
 | |
| static inline void ieee80211_link_debugfs_add(struct ieee80211_link_data *link)
 | |
| {}
 | |
| static inline void ieee80211_link_debugfs_remove(struct ieee80211_link_data *link)
 | |
| {}
 | |
| 
 | |
| static inline void ieee80211_link_debugfs_drv_add(struct ieee80211_link_data *link)
 | |
| {}
 | |
| static inline void ieee80211_link_debugfs_drv_remove(struct ieee80211_link_data *link)
 | |
| {}
 | |
| #endif
 | |
| 
 | |
| #endif /* __IEEE80211_DEBUGFS_NETDEV_H */
 |