mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	mac80211: reduce the size of the debugfs code
SVN-Revision: 21657
This commit is contained in:
		
							parent
							
								
									48c357ec01
								
							
						
					
					
						commit
						c890f0d4df
					
				
							
								
								
									
										262
									
								
								package/mac80211/patches/300-mac80211_debugfs_debloat.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										262
									
								
								package/mac80211/patches/300-mac80211_debugfs_debloat.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,262 @@
 | 
			
		||||
--- a/net/mac80211/debugfs.c
 | 
			
		||||
+++ b/net/mac80211/debugfs.c
 | 
			
		||||
@@ -307,9 +307,6 @@ static const struct file_operations queu
 | 
			
		||||
 
 | 
			
		||||
 /* statistics stuff */
 | 
			
		||||
 
 | 
			
		||||
-#define DEBUGFS_STATS_FILE(name, buflen, fmt, value...)			\
 | 
			
		||||
-	DEBUGFS_READONLY_FILE(stats_ ##name, buflen, fmt, ##value)
 | 
			
		||||
-
 | 
			
		||||
 static ssize_t format_devstat_counter(struct ieee80211_local *local,
 | 
			
		||||
 	char __user *userbuf,
 | 
			
		||||
 	size_t count, loff_t *ppos,
 | 
			
		||||
@@ -351,75 +348,16 @@ static const struct file_operations stat
 | 
			
		||||
 	.open = mac80211_open_file_generic,				\
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
-#define DEBUGFS_STATS_ADD(name)						\
 | 
			
		||||
+#define DEBUGFS_STATS_ADD(name, field)					\
 | 
			
		||||
+	debugfs_create_u32(#name, 0400, statsd, (u32 *) &field);
 | 
			
		||||
+#define DEBUGFS_DEVSTATS_ADD(name)					\
 | 
			
		||||
 	debugfs_create_file(#name, 0400, statsd, local, &stats_ ##name## _ops);
 | 
			
		||||
 
 | 
			
		||||
-DEBUGFS_STATS_FILE(transmitted_fragment_count, 20, "%u",
 | 
			
		||||
-		   local->dot11TransmittedFragmentCount);
 | 
			
		||||
-DEBUGFS_STATS_FILE(multicast_transmitted_frame_count, 20, "%u",
 | 
			
		||||
-		   local->dot11MulticastTransmittedFrameCount);
 | 
			
		||||
-DEBUGFS_STATS_FILE(failed_count, 20, "%u",
 | 
			
		||||
-		   local->dot11FailedCount);
 | 
			
		||||
-DEBUGFS_STATS_FILE(retry_count, 20, "%u",
 | 
			
		||||
-		   local->dot11RetryCount);
 | 
			
		||||
-DEBUGFS_STATS_FILE(multiple_retry_count, 20, "%u",
 | 
			
		||||
-		   local->dot11MultipleRetryCount);
 | 
			
		||||
-DEBUGFS_STATS_FILE(frame_duplicate_count, 20, "%u",
 | 
			
		||||
-		   local->dot11FrameDuplicateCount);
 | 
			
		||||
-DEBUGFS_STATS_FILE(received_fragment_count, 20, "%u",
 | 
			
		||||
-		   local->dot11ReceivedFragmentCount);
 | 
			
		||||
-DEBUGFS_STATS_FILE(multicast_received_frame_count, 20, "%u",
 | 
			
		||||
-		   local->dot11MulticastReceivedFrameCount);
 | 
			
		||||
-DEBUGFS_STATS_FILE(transmitted_frame_count, 20, "%u",
 | 
			
		||||
-		   local->dot11TransmittedFrameCount);
 | 
			
		||||
-#ifdef CONFIG_MAC80211_DEBUG_COUNTERS
 | 
			
		||||
-DEBUGFS_STATS_FILE(tx_handlers_drop, 20, "%u",
 | 
			
		||||
-		   local->tx_handlers_drop);
 | 
			
		||||
-DEBUGFS_STATS_FILE(tx_handlers_queued, 20, "%u",
 | 
			
		||||
-		   local->tx_handlers_queued);
 | 
			
		||||
-DEBUGFS_STATS_FILE(tx_handlers_drop_unencrypted, 20, "%u",
 | 
			
		||||
-		   local->tx_handlers_drop_unencrypted);
 | 
			
		||||
-DEBUGFS_STATS_FILE(tx_handlers_drop_fragment, 20, "%u",
 | 
			
		||||
-		   local->tx_handlers_drop_fragment);
 | 
			
		||||
-DEBUGFS_STATS_FILE(tx_handlers_drop_wep, 20, "%u",
 | 
			
		||||
-		   local->tx_handlers_drop_wep);
 | 
			
		||||
-DEBUGFS_STATS_FILE(tx_handlers_drop_not_assoc, 20, "%u",
 | 
			
		||||
-		   local->tx_handlers_drop_not_assoc);
 | 
			
		||||
-DEBUGFS_STATS_FILE(tx_handlers_drop_unauth_port, 20, "%u",
 | 
			
		||||
-		   local->tx_handlers_drop_unauth_port);
 | 
			
		||||
-DEBUGFS_STATS_FILE(rx_handlers_drop, 20, "%u",
 | 
			
		||||
-		   local->rx_handlers_drop);
 | 
			
		||||
-DEBUGFS_STATS_FILE(rx_handlers_queued, 20, "%u",
 | 
			
		||||
-		   local->rx_handlers_queued);
 | 
			
		||||
-DEBUGFS_STATS_FILE(rx_handlers_drop_nullfunc, 20, "%u",
 | 
			
		||||
-		   local->rx_handlers_drop_nullfunc);
 | 
			
		||||
-DEBUGFS_STATS_FILE(rx_handlers_drop_defrag, 20, "%u",
 | 
			
		||||
-		   local->rx_handlers_drop_defrag);
 | 
			
		||||
-DEBUGFS_STATS_FILE(rx_handlers_drop_short, 20, "%u",
 | 
			
		||||
-		   local->rx_handlers_drop_short);
 | 
			
		||||
-DEBUGFS_STATS_FILE(rx_handlers_drop_passive_scan, 20, "%u",
 | 
			
		||||
-		   local->rx_handlers_drop_passive_scan);
 | 
			
		||||
-DEBUGFS_STATS_FILE(tx_expand_skb_head, 20, "%u",
 | 
			
		||||
-		   local->tx_expand_skb_head);
 | 
			
		||||
-DEBUGFS_STATS_FILE(tx_expand_skb_head_cloned, 20, "%u",
 | 
			
		||||
-		   local->tx_expand_skb_head_cloned);
 | 
			
		||||
-DEBUGFS_STATS_FILE(rx_expand_skb_head, 20, "%u",
 | 
			
		||||
-		   local->rx_expand_skb_head);
 | 
			
		||||
-DEBUGFS_STATS_FILE(rx_expand_skb_head2, 20, "%u",
 | 
			
		||||
-		   local->rx_expand_skb_head2);
 | 
			
		||||
-DEBUGFS_STATS_FILE(rx_handlers_fragments, 20, "%u",
 | 
			
		||||
-		   local->rx_handlers_fragments);
 | 
			
		||||
-DEBUGFS_STATS_FILE(tx_status_drop, 20, "%u",
 | 
			
		||||
-		   local->tx_status_drop);
 | 
			
		||||
-
 | 
			
		||||
-#endif
 | 
			
		||||
-
 | 
			
		||||
 DEBUGFS_DEVSTATS_FILE(dot11ACKFailureCount);
 | 
			
		||||
 DEBUGFS_DEVSTATS_FILE(dot11RTSFailureCount);
 | 
			
		||||
 DEBUGFS_DEVSTATS_FILE(dot11FCSErrorCount);
 | 
			
		||||
 DEBUGFS_DEVSTATS_FILE(dot11RTSSuccessCount);
 | 
			
		||||
 
 | 
			
		||||
-
 | 
			
		||||
 void debugfs_hw_add(struct ieee80211_local *local)
 | 
			
		||||
 {
 | 
			
		||||
 	struct dentry *phyd = local->hw.wiphy->debugfsdir;
 | 
			
		||||
@@ -448,38 +386,60 @@ void debugfs_hw_add(struct ieee80211_loc
 | 
			
		||||
 	if (!statsd)
 | 
			
		||||
 		return;
 | 
			
		||||
 
 | 
			
		||||
-	DEBUGFS_STATS_ADD(transmitted_fragment_count);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(multicast_transmitted_frame_count);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(failed_count);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(retry_count);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(multiple_retry_count);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(frame_duplicate_count);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(received_fragment_count);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(multicast_received_frame_count);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(transmitted_frame_count);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(transmitted_fragment_count,
 | 
			
		||||
+		local->dot11TransmittedFragmentCount);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(multicast_transmitted_frame_count,
 | 
			
		||||
+		local->dot11MulticastTransmittedFrameCount);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(failed_count, local->dot11FailedCount);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(retry_count, local->dot11RetryCount);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(multiple_retry_count,
 | 
			
		||||
+		local->dot11MultipleRetryCount);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(frame_duplicate_count,
 | 
			
		||||
+		local->dot11FrameDuplicateCount);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(received_fragment_count,
 | 
			
		||||
+		local->dot11ReceivedFragmentCount);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(multicast_received_frame_count,
 | 
			
		||||
+		local->dot11MulticastReceivedFrameCount);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(transmitted_frame_count,
 | 
			
		||||
+		local->dot11TransmittedFrameCount);
 | 
			
		||||
 #ifdef CONFIG_MAC80211_DEBUG_COUNTERS
 | 
			
		||||
-	DEBUGFS_STATS_ADD(tx_handlers_drop);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(tx_handlers_queued);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(tx_handlers_drop_unencrypted);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(tx_handlers_drop_fragment);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(tx_handlers_drop_wep);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(tx_handlers_drop_not_assoc);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(tx_handlers_drop_unauth_port);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(rx_handlers_drop);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(rx_handlers_queued);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(rx_handlers_drop_nullfunc);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(rx_handlers_drop_defrag);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(rx_handlers_drop_short);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(rx_handlers_drop_passive_scan);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(tx_expand_skb_head);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(tx_expand_skb_head_cloned);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(rx_expand_skb_head);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(rx_expand_skb_head2);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(rx_handlers_fragments);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(tx_status_drop);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(tx_handlers_drop, local->tx_handlers_drop);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(tx_handlers_queued, local->tx_handlers_queued);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(tx_handlers_drop_unencrypted,
 | 
			
		||||
+		local->tx_handlers_drop_unencrypted);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(tx_handlers_drop_fragment,
 | 
			
		||||
+		local->tx_handlers_drop_fragment);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(tx_handlers_drop_wep,
 | 
			
		||||
+		local->tx_handlers_drop_wep);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(tx_handlers_drop_not_assoc,
 | 
			
		||||
+		local->tx_handlers_drop_not_assoc);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(tx_handlers_drop_unauth_port,
 | 
			
		||||
+		local->tx_handlers_drop_unauth_port);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(rx_handlers_drop, local->rx_handlers_drop);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(rx_handlers_queued, local->rx_handlers_queued);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(rx_handlers_drop_nullfunc,
 | 
			
		||||
+		local->rx_handlers_drop_nullfunc);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(rx_handlers_drop_defrag,
 | 
			
		||||
+		local->rx_handlers_drop_defrag);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(rx_handlers_drop_short,
 | 
			
		||||
+		local->rx_handlers_drop_short);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(rx_handlers_drop_passive_scan,
 | 
			
		||||
+		local->rx_handlers_drop_passive_scan);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(tx_expand_skb_head,
 | 
			
		||||
+		local->tx_expand_skb_head);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(tx_expand_skb_head_cloned,
 | 
			
		||||
+		local->tx_expand_skb_head_cloned);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(rx_expand_skb_head,
 | 
			
		||||
+		local->rx_expand_skb_head);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(rx_expand_skb_head2,
 | 
			
		||||
+		local->rx_expand_skb_head2);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(rx_handlers_fragments,
 | 
			
		||||
+		local->rx_handlers_fragments);
 | 
			
		||||
+	DEBUGFS_STATS_ADD(tx_status_drop,
 | 
			
		||||
+		local->tx_status_drop);
 | 
			
		||||
 #endif
 | 
			
		||||
-	DEBUGFS_STATS_ADD(dot11ACKFailureCount);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(dot11RTSFailureCount);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(dot11FCSErrorCount);
 | 
			
		||||
-	DEBUGFS_STATS_ADD(dot11RTSSuccessCount);
 | 
			
		||||
+	DEBUGFS_DEVSTATS_ADD(dot11ACKFailureCount);
 | 
			
		||||
+	DEBUGFS_DEVSTATS_ADD(dot11RTSFailureCount);
 | 
			
		||||
+	DEBUGFS_DEVSTATS_ADD(dot11FCSErrorCount);
 | 
			
		||||
+	DEBUGFS_DEVSTATS_ADD(dot11RTSSuccessCount);
 | 
			
		||||
 }
 | 
			
		||||
--- a/net/mac80211/debugfs_sta.c
 | 
			
		||||
+++ b/net/mac80211/debugfs_sta.c
 | 
			
		||||
@@ -30,7 +30,6 @@ static ssize_t sta_ ##name## _read(struc
 | 
			
		||||
 }
 | 
			
		||||
 #define STA_READ_D(name, field) STA_READ(name, 20, field, "%d\n")
 | 
			
		||||
 #define STA_READ_U(name, field) STA_READ(name, 20, field, "%u\n")
 | 
			
		||||
-#define STA_READ_LU(name, field) STA_READ(name, 20, field, "%lu\n")
 | 
			
		||||
 #define STA_READ_S(name, field) STA_READ(name, 20, field, "%s\n")
 | 
			
		||||
 
 | 
			
		||||
 #define STA_OPS(name)							\
 | 
			
		||||
@@ -52,19 +51,7 @@ static const struct file_operations sta_
 | 
			
		||||
 
 | 
			
		||||
 STA_FILE(aid, sta.aid, D);
 | 
			
		||||
 STA_FILE(dev, sdata->name, S);
 | 
			
		||||
-STA_FILE(rx_packets, rx_packets, LU);
 | 
			
		||||
-STA_FILE(tx_packets, tx_packets, LU);
 | 
			
		||||
-STA_FILE(rx_bytes, rx_bytes, LU);
 | 
			
		||||
-STA_FILE(tx_bytes, tx_bytes, LU);
 | 
			
		||||
-STA_FILE(rx_duplicates, num_duplicates, LU);
 | 
			
		||||
-STA_FILE(rx_fragments, rx_fragments, LU);
 | 
			
		||||
-STA_FILE(rx_dropped, rx_dropped, LU);
 | 
			
		||||
-STA_FILE(tx_fragments, tx_fragments, LU);
 | 
			
		||||
-STA_FILE(tx_filtered, tx_filtered_count, LU);
 | 
			
		||||
-STA_FILE(tx_retry_failed, tx_retry_failed, LU);
 | 
			
		||||
-STA_FILE(tx_retry_count, tx_retry_count, LU);
 | 
			
		||||
 STA_FILE(last_signal, last_signal, D);
 | 
			
		||||
-STA_FILE(wep_weak_iv_count, wep_weak_iv_count, LU);
 | 
			
		||||
 
 | 
			
		||||
 static ssize_t sta_flags_read(struct file *file, char __user *userbuf,
 | 
			
		||||
 			      size_t count, loff_t *ppos)
 | 
			
		||||
@@ -307,6 +294,13 @@ STA_OPS(ht_capa);
 | 
			
		||||
 	debugfs_create_file(#name, 0400, \
 | 
			
		||||
 		sta->debugfs.dir, sta, &sta_ ##name## _ops);
 | 
			
		||||
 
 | 
			
		||||
+#define DEBUGFS_ADD_COUNTER(name, field)				\
 | 
			
		||||
+	if (sizeof(sta->field) == sizeof(u32))				\
 | 
			
		||||
+		debugfs_create_u32(#name, 0400, sta->debugfs.dir,	\
 | 
			
		||||
+			(u32 *) &sta->field);				\
 | 
			
		||||
+	else								\
 | 
			
		||||
+		debugfs_create_u64(#name, 0400, sta->debugfs.dir,	\
 | 
			
		||||
+			(u64 *) &sta->field);
 | 
			
		||||
 
 | 
			
		||||
 void ieee80211_sta_debugfs_add(struct sta_info *sta)
 | 
			
		||||
 {
 | 
			
		||||
@@ -339,20 +333,21 @@ void ieee80211_sta_debugfs_add(struct st
 | 
			
		||||
 	DEBUGFS_ADD(last_seq_ctrl);
 | 
			
		||||
 	DEBUGFS_ADD(agg_status);
 | 
			
		||||
 	DEBUGFS_ADD(dev);
 | 
			
		||||
-	DEBUGFS_ADD(rx_packets);
 | 
			
		||||
-	DEBUGFS_ADD(tx_packets);
 | 
			
		||||
-	DEBUGFS_ADD(rx_bytes);
 | 
			
		||||
-	DEBUGFS_ADD(tx_bytes);
 | 
			
		||||
-	DEBUGFS_ADD(rx_duplicates);
 | 
			
		||||
-	DEBUGFS_ADD(rx_fragments);
 | 
			
		||||
-	DEBUGFS_ADD(rx_dropped);
 | 
			
		||||
-	DEBUGFS_ADD(tx_fragments);
 | 
			
		||||
-	DEBUGFS_ADD(tx_filtered);
 | 
			
		||||
-	DEBUGFS_ADD(tx_retry_failed);
 | 
			
		||||
-	DEBUGFS_ADD(tx_retry_count);
 | 
			
		||||
 	DEBUGFS_ADD(last_signal);
 | 
			
		||||
-	DEBUGFS_ADD(wep_weak_iv_count);
 | 
			
		||||
 	DEBUGFS_ADD(ht_capa);
 | 
			
		||||
+
 | 
			
		||||
+	DEBUGFS_ADD_COUNTER(rx_packets, rx_packets);
 | 
			
		||||
+	DEBUGFS_ADD_COUNTER(tx_packets, tx_packets);
 | 
			
		||||
+	DEBUGFS_ADD_COUNTER(rx_bytes, rx_bytes);
 | 
			
		||||
+	DEBUGFS_ADD_COUNTER(tx_bytes, tx_bytes);
 | 
			
		||||
+	DEBUGFS_ADD_COUNTER(rx_duplicates, num_duplicates);
 | 
			
		||||
+	DEBUGFS_ADD_COUNTER(rx_fragments, rx_fragments);
 | 
			
		||||
+	DEBUGFS_ADD_COUNTER(rx_dropped, rx_dropped);
 | 
			
		||||
+	DEBUGFS_ADD_COUNTER(tx_fragments, tx_fragments);
 | 
			
		||||
+	DEBUGFS_ADD_COUNTER(tx_filtered, tx_filtered_count);
 | 
			
		||||
+	DEBUGFS_ADD_COUNTER(tx_retry_failed, tx_retry_failed);
 | 
			
		||||
+	DEBUGFS_ADD_COUNTER(tx_retry_count, tx_retry_count);
 | 
			
		||||
+	DEBUGFS_ADD_COUNTER(wep_weak_iv_count, wep_weak_iv_count);
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 void ieee80211_sta_debugfs_remove(struct sta_info *sta)
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user