-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
-}