X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=init.sh;h=086f2f96cafc1920539820666302490752816b9f;hb=814774b3b38ffbbc23c09bf40f14df960ab4eb3a;hp=11ac8127926daa4f418b48533a7ece44ba949451;hpb=6c12d357b0a14cc4b34aec75e146f0f204c0f7b7;p=android-x86%2Fdevice-generic-common.git diff --git a/init.sh b/init.sh index 11ac812..086f2f9 100644 --- a/init.sh +++ b/init.sh @@ -15,6 +15,13 @@ function set_prop_if_empty() [ -z "$(getprop $1)" ] && set_property "$1" "$2" } +function rmmod_if_exist() +{ + for m in $*; do + [ -d /sys/module/$m ] && rmmod $m + done +} + function init_misc() { # device information @@ -30,6 +37,27 @@ function init_misc() # enable sdcardfs if /data is not mounted on tmpfs or 9p mount | grep /data\ | grep -qE 'tmpfs|9p' [ $? -ne 0 ] && modprobe sdcardfs + + # remove wl if it's not used + local wifi + if [ -d /sys/class/net/wlan0 ]; then + wifi=$(basename `readlink /sys/class/net/wlan0/device/driver`) + [ "$wifi" != "wl" ] && rmmod_if_exist wl + fi + + # enable virt_wifi if needed + local eth=`getprop net.virt_wifi eth0` + if [ -d /sys/class/net/$eth -a "$VIRT_WIFI" != "0" ]; then + if [ -n "$wifi" -a "$VIRT_WIFI" = "1" ]; then + rmmod_if_exist iwlmvm $wifi + fi + if [ ! -d /sys/class/net/wlan0 ]; then + ifconfig $eth down + ip link set $eth name wifi_eth + ifconfig wifi_eth up + ip link add link wifi_eth name wlan0 type virt_wifi + fi + fi } function init_hal_audio() @@ -271,23 +299,30 @@ function init_hal_sensors() hal_sensors=hdaps ;; *LINX1010B*) + set_property ro.iio.accel.x.opt_scale -1 set_property ro.iio.accel.z.opt_scale -1 + ;; + *i7-WN*) + set_property ro.iio.accel.quirks no-trig ;& - *i7Stylus*|*M80TA*) + *i7Stylus*) set_property ro.iio.accel.x.opt_scale -1 ;; - *ONDATablet*) + *LenovoMIIX320*|*ONDATablet*) set_property ro.iio.accel.order 102 set_property ro.iio.accel.x.opt_scale -1 set_property ro.iio.accel.y.opt_scale -1 ;; + *SP111-33*) + set_property ro.iio.accel.quirks no-trig + ;& *ST70416-6*) set_property ro.iio.accel.order 102 ;; *e-tabPro*|*pnEZpad*) set_property ro.iio.accel.quirks no-trig ;& - *T*0*TA*) + *T*0*TA*|*M80TA*) set_property ro.iio.accel.y.opt_scale -1 ;; *) @@ -440,6 +475,9 @@ function do_bootcomplete() Surface*Go) echo on > /sys/devices/pci0000:00/0000:00:15.1/i2c_designware.1/power/control ;; + X80*Power) + set_property power.nonboot-cpu-off 1 + ;; *) ;; esac