aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@openwrt.org>2013-02-16 16:24:15 +0000
committerHauke Mehrtens <hauke@openwrt.org>2013-02-16 16:24:15 +0000
commit0a8f960f87eb6567f3345d8cd9d234d3ef0e0493 (patch)
tree030b532fe09e4bde125554dbf600bf29a4baac38 /target
parent28fd5cda23f6ecdb16d21b776f0a3c9afb4bdc17 (diff)
downloadupstream-0a8f960f87eb6567f3345d8cd9d234d3ef0e0493.tar.gz
upstream-0a8f960f87eb6567f3345d8cd9d234d3ef0e0493.tar.bz2
upstream-0a8f960f87eb6567f3345d8cd9d234d3ef0e0493.zip
brcm47xx: improve cpuport detection for filesafe
Do not try to load bcm57xx.ko any more this is not needed for kernel 2.6 and 3.X Ask the switch driver where the CPU port is. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35624 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r--target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm22
1 files changed, 9 insertions, 13 deletions
diff --git a/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm b/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm
index 1275b03207..e85dd49f42 100644
--- a/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm
+++ b/target/linux/brcm47xx/base-files/lib/preinit/05_init_interfaces_brcm
@@ -14,7 +14,6 @@ set_preinit_iface() {
# hardware specific overrides
case "$(cat /proc/diag/model)" in
"Linksys WAP54G V1") ifname=eth1;;
- "Linksys E3000 V1"|"Linksys WRT610N V2") cpu_port="8u*";;
"ASUS WL-HDD") ifname=eth1;;
"ASUS WL-300g") ifname=eth1;;
"ASUS (unknown, BCM4702)") ifname=eth1;;
@@ -23,20 +22,17 @@ set_preinit_iface() {
ifconfig $ifname 0.0.0.0 up
}
-check_module () {
- module="$1"; shift; params="$*"
-
- insmod "$module" "$params"
- sleep 1
- grep -q ^"$module " /proc/modules
- return $?
-}
-
init_iface() {
insmod switch-core
- check_module switch-robo || check_module switch-adm || {
- check_module bcm57xx activate_gpio=0x4 && cpu_port="8u*"
- } || rmmod switch-core
+ insmod switch-robo
+ insmod switch-adm
+
+ [ -d /proc/switch/eth0 ] && [ "$ifname" = "eth0" ] && {
+ case "$(cat /proc/switch/eth0/cpuport)" in
+ "5") cpu_port="5u*";;
+ "8") cpu_port="8u*";;
+ esac
+ }
}
boot_hook_add preinit_main set_preinit_iface