mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-30 21:44:27 -04:00 
			
		
		
		
	The device path will be the same for the first phy. For all subsequent phys, the path gets an extra +1, +2, ... Move the code for converting path to phy and vice versa to a separate library script shared by config detection code and the netifd wireless handler script Signed-off-by: Felix Fietkau <nbd@nbd.name>
		
			
				
	
	
		
			37 lines
		
	
	
		
			692 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			692 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| mac80211_phy_to_path() {
 | |
| 	local phy="$1"
 | |
| 
 | |
| 	[ -x /usr/bin/readlink -a -h /sys/class/ieee80211/${phy} ] || return
 | |
| 
 | |
| 	local path="$(readlink -f /sys/class/ieee80211/${phy}/device)"
 | |
| 	[ -n "$path" ] || return
 | |
| 
 | |
| 	path="${path##/sys/devices/}"
 | |
| 	case "$path" in
 | |
| 		platform*/pci*) path="${path##platform/}";;
 | |
| 	esac
 | |
| 
 | |
| 	local p
 | |
| 	local seq=""
 | |
| 	for p in $(ls /sys/class/ieee80211/$phy/device/ieee80211); do
 | |
| 		[ "$p" = "$phy" ] && {
 | |
| 			echo "$path${seq:++$seq}"
 | |
| 			break
 | |
| 		}
 | |
| 
 | |
| 		seq=$((${seq:-0} + 1))
 | |
| 	done
 | |
| }
 | |
| 
 | |
| mac80211_path_to_phy() {
 | |
| 	local path="$1"
 | |
| 
 | |
| 	local p
 | |
| 	for p in $(ls /sys/class/ieee80211); do
 | |
| 		local cur="$(mac80211_phy_to_path "$p")"
 | |
| 		case "$cur" in
 | |
| 			*$path) echo "$p"; return;;
 | |
| 		esac
 | |
| 	done
 | |
| }
 |