device/generic/common
Revisión | 67c1b4ff3c55498e1252147419f64faa8253c57d (tree) |
---|---|
Tiempo | 2019-06-13 18:09:26 |
Autor | Chih-Wei Huang <cwhuang@linu...> |
Commiter | Chih-Wei Huang |
Merge remote-tracking branch 'x86/nougat-x86' into oreo-x86
@@ -15,6 +15,13 @@ function set_prop_if_empty() | ||
15 | 15 | [ -z "$(getprop $1)" ] && set_property "$1" "$2" |
16 | 16 | } |
17 | 17 | |
18 | +function rmmod_if_exist() | |
19 | +{ | |
20 | + for m in $*; do | |
21 | + [ -d /sys/module/$m ] && rmmod $m | |
22 | + done | |
23 | +} | |
24 | + | |
18 | 25 | function init_misc() |
19 | 26 | { |
20 | 27 | # device information |
@@ -30,6 +37,27 @@ function init_misc() | ||
30 | 37 | # enable sdcardfs if /data is not mounted on tmpfs or 9p |
31 | 38 | mount | grep /data\ | grep -qE 'tmpfs|9p' |
32 | 39 | [ $? -ne 0 ] && modprobe sdcardfs |
40 | + | |
41 | + # remove wl if it's not used | |
42 | + local wifi | |
43 | + if [ -d /sys/class/net/wlan0 ]; then | |
44 | + wifi=$(basename `readlink /sys/class/net/wlan0/device/driver`) | |
45 | + [ "$wifi" != "wl" ] && rmmod_if_exist wl | |
46 | + fi | |
47 | + | |
48 | + # enable virt_wifi if needed | |
49 | + local eth=`getprop net.virt_wifi eth0` | |
50 | + if [ -d /sys/class/net/$eth -a "$VIRT_WIFI" != "0" ]; then | |
51 | + if [ -n "$wifi" -a "$VIRT_WIFI" = "1" ]; then | |
52 | + rmmod_if_exist iwlmvm $wifi | |
53 | + fi | |
54 | + if [ ! -d /sys/class/net/wlan0 ]; then | |
55 | + ifconfig $eth down | |
56 | + ip link set $eth name wifi_eth | |
57 | + ifconfig wifi_eth up | |
58 | + ip link add link wifi_eth name wlan0 type virt_wifi | |
59 | + fi | |
60 | + fi | |
33 | 61 | } |
34 | 62 | |
35 | 63 | function init_hal_audio() |