wl1251-modules: update the rc script to set driver params
[openpandora.oe.git] / recipes / pandora-system / wl1251-modules / rc.wl1251
index bb352b2..ab0f43f 100755 (executable)
@@ -2,6 +2,14 @@
 DESC="WL1251 MAC80211 Wireless LAN driver"
 NAME="wl1251"
 
+sysfs_path="/sys/bus/mmc/devices/mmc2:0001/mmc2:0001:1"
+ps_rate_threshold=30000
+use_fw_ps=Y
+
+if [ -f /etc/pandora/conf/wl1251 ]; then
+       . /etc/pandora/conf/wl1251
+fi
+
 d_stop() {
        if `grep -q wl1251 /proc/modules` ; then
                ifconfig wlan0 down
@@ -10,7 +18,11 @@ d_stop() {
 }
 
 d_start() {
-       modprobe wl1251
+       wl1251_args=""
+       if modinfo wl1251 2> /dev/null | grep -q '\<use_fw_ps\>'; then
+               wl1251_args="use_fw_ps=$use_fw_ps"
+       fi
+       modprobe wl1251 $wl1251_args
        modprobe wl1251_sdio
        # this does not exist on newer kernels
        modprobe board-omap3pandora-wifi 2> /dev/null
@@ -37,6 +49,12 @@ d_start() {
                        fi
                done
        fi
+
+       # some driver configuration
+       if [ -d "$sysfs_path" ]; then
+               test -n "$ps_rate_threshold" && echo "$ps_rate_threshold" > $sysfs_path/ps_rate_threshold
+               test -n "$long_doze_mode" && echo "$long_doze_mode" > $sysfs_path/long_doze_mode
+       fi
 }
 
 case "$1" in