ltq-adsl-app: use notification based ATM/PTM driver load
[openwrt/staging/jogo.git] / package / network / config / ltq-adsl-app / files / 10_atm.sh
diff --git a/package/network/config/ltq-adsl-app/files/10_atm.sh b/package/network/config/ltq-adsl-app/files/10_atm.sh
new file mode 100755 (executable)
index 0000000..898d8ec
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+[ "$DSL_NOTIFICATION_TYPE" = "DSL_STATUS" ] && \
+[ "$DSL_TC_LAYER_STATUS" = "ATM" ] && \
+! grep -q "ltq_atm_ar9\|ltq_atm_ase\|ltq_atm_danube" /proc/modules || exit 0
+
+logger -p daemon.notice -t "dsl-notify" "Switching to TC-Layer ATM"
+
+if grep -q "ltq_ptm_ar9\|ltq_ptm_ase\|ltq_ptm_danube" /proc/modules ; then
+       logger -p daemon.notice -t "dsl-notify" "Loading ATM driver while EFM/PTM driver is loaded is not possible. Reboot is needed."
+       exit
+fi
+
+case "$(strings /proc/device-tree/compatible)" in
+*lantiq,ar9*)
+       soc="ar9"
+       ;;
+*lantiq,ase*)
+       soc="ase"
+       ;;
+*lantiq,danube*)
+       soc="danube"
+       ;;
+*)
+       logger -p daemon.notice -t "dsl-notify" "Unsupported SoC"
+       exit
+esac
+
+modprobe ltq_atm_${soc}
+
+/etc/init.d/br2684ctl reload