aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Bestas <mikeioannina@cyanogenmod.org>2016-10-06 17:51:00 +0530
committerMichael Bestas <mikeioannina@cyanogenmod.org>2016-12-04 10:42:05 -0800
commite8e03e896b709550d1181e5cb95e244a911b5012 (patch)
tree2c66e2b8dacd91a38a42e6a2f287de9d369e6d4c
parentc773d7fd26d2628a0306c006d33f67cc2843744b (diff)
msm8916: Cleanup init.qcom.bt.sh
* Remove bluez support * Set properties in qcom-bluetooth.mk * Bring closer to AOSP devices' script Change-Id: I6eeb69487b02070a84bc2958fb8a939a684ab915
-rw-r--r--product/qcom-bluetooth.mk10
-rw-r--r--rootdir/etc/init.qcom.bt.sh253
-rw-r--r--rootdir/etc/init.qcom.rc7
3 files changed, 15 insertions, 255 deletions
diff --git a/product/qcom-bluetooth.mk b/product/qcom-bluetooth.mk
index bc8dbdd..20a7cae 100644
--- a/product/qcom-bluetooth.mk
+++ b/product/qcom-bluetooth.mk
@@ -10,4 +10,14 @@ PRODUCT_COPY_FILES += \
# Properties
PRODUCT_PROPERTY_OVERRIDES += \
qcom.bluetooth.soc=smd \
+ ro.bluetooth.dun=true \
+ ro.bluetooth.hfp.ver=1.7 \
+ ro.bluetooth.sap=true \
+ ro.qualcomm.bluetooth.ftp=true \
+ ro.qualcomm.bluetooth.hfp=true \
+ ro.qualcomm.bluetooth.hsp=true \
+ ro.qualcomm.bluetooth.map=true \
+ ro.qualcomm.bluetooth.nap=true \
+ ro.qualcomm.bluetooth.opp=true \
+ ro.qualcomm.bluetooth.pbap=true \
ro.qualcomm.bt.hci_transport=smd
diff --git a/rootdir/etc/init.qcom.bt.sh b/rootdir/etc/init.qcom.bt.sh
index 384e9c0..11db8c7 100644
--- a/rootdir/etc/init.qcom.bt.sh
+++ b/rootdir/etc/init.qcom.bt.sh
@@ -1,5 +1,5 @@
#!/system/bin/sh
-# Copyright (c) 2009-2013, The Linux Foundation. All rights reserved.
+# Copyright (c) 2009-2016, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
@@ -26,15 +26,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
-#Read the arguments passed to the script
-config="$1"
-
-BLUETOOTH_SLEEP_PATH=/proc/bluetooth/sleep/proto
LOG_TAG="qcom-bluetooth"
LOG_NAME="${0}:"
-hciattach_pid=""
-
loge ()
{
/system/bin/log -t $LOG_TAG -p e "$LOG_NAME $@"
@@ -51,209 +45,11 @@ failed ()
exit $2
}
-#
-# enable bluetooth profiles dynamically
-#
-config_bt ()
-{
- baseband=`getprop ro.baseband`
- target=`getprop ro.board.platform`
- if [ -f /sys/devices/soc0/soc_id ]; then
- soc_hwid=`cat /sys/devices/soc0/soc_id`
- else
- soc_hwid=`cat /sys/devices/system/soc/soc0/id`
- fi
- btsoc=`getprop qcom.bluetooth.soc`
-
- case $baseband in
- "apq")
- setprop ro.qualcomm.bluetooth.opp true
- setprop ro.qualcomm.bluetooth.ftp true
- setprop ro.qualcomm.bluetooth.nap false
- setprop ro.bluetooth.sap false
- setprop ro.bluetooth.dun false
- # For MPQ as baseband is same for both
- case $soc_hwid in
- "130")
- setprop ro.qualcomm.bluetooth.hsp true
- setprop ro.qualcomm.bluetooth.hfp true
- setprop ro.qualcomm.bluetooth.pbap false
- setprop ro.qualcomm.bluetooth.map false
- ;;
- *)
- setprop ro.qualcomm.bluetooth.hsp false
- setprop ro.qualcomm.bluetooth.hfp false
- setprop ro.qualcomm.bluetooth.pbap true
- setprop ro.qualcomm.bluetooth.map true
- ;;
- esac
- ;;
- "mdm" | "svlte2a" | "svlte1" | "csfb")
- setprop ro.qualcomm.bluetooth.opp true
- setprop ro.qualcomm.bluetooth.hfp true
- setprop ro.qualcomm.bluetooth.hsp true
- setprop ro.qualcomm.bluetooth.pbap true
- setprop ro.qualcomm.bluetooth.ftp true
- setprop ro.qualcomm.bluetooth.map true
- setprop ro.qualcomm.bluetooth.nap true
- setprop ro.bluetooth.sap true
- case $target in
- "apq8084")
- setprop ro.bluetooth.dun true
- logi "Enabling BT-DUN for APQ8084"
- ;;
- *)
- setprop ro.bluetooth.dun false
- ;;
- esac
- ;;
- "msm")
- setprop ro.qualcomm.bluetooth.opp true
- setprop ro.qualcomm.bluetooth.hfp true
- setprop ro.qualcomm.bluetooth.hsp true
- setprop ro.qualcomm.bluetooth.pbap true
- setprop ro.qualcomm.bluetooth.ftp true
- setprop ro.qualcomm.bluetooth.nap true
- setprop ro.bluetooth.sap true
- setprop ro.bluetooth.dun true
- case $btsoc in
- "ath3k")
- setprop ro.qualcomm.bluetooth.map false
- ;;
- *)
- setprop ro.qualcomm.bluetooth.map true
- ;;
- esac
- ;;
- *)
- setprop ro.qualcomm.bluetooth.opp true
- setprop ro.qualcomm.bluetooth.hfp true
- setprop ro.qualcomm.bluetooth.hsp true
- setprop ro.qualcomm.bluetooth.pbap true
- setprop ro.qualcomm.bluetooth.ftp true
- setprop ro.qualcomm.bluetooth.map true
- setprop ro.qualcomm.bluetooth.nap true
- setprop ro.bluetooth.sap true
- setprop ro.bluetooth.dun true
- ;;
- esac
-
- #Enable Bluetooth Profiles specific to target Dynamically
- case $target in
- "msm8960")
- if [ "$btsoc" != "ath3k" ] && [ "$soc_hwid" != "130" ]
- then
- setprop ro.bluetooth.hfp.ver 1.6
- setprop ro.qualcomm.bt.hci_transport smd
- fi
- ;;
- "msm8974" | "msm8226" | "msm8610" | "msm8916" )
- if [ "$btsoc" != "ath3k" ]
- then
- setprop ro.bluetooth.hfp.ver 1.7
- setprop ro.qualcomm.bt.hci_transport smd
- fi
- ;;
- "apq8084" | "mpq8092" )
- if [ "$btsoc" != "rome" ]
- then
- setprop ro.qualcomm.bt.hci_transport smd
- elif [ "$btsoc" = "rome" ]
- then
- setprop ro.bluetooth.hfp.ver 1.6
- fi
- ;;
- *)
- ;;
- esac
-
-if [ -f /system/etc/bluetooth/stack.conf ]; then
-stack=`cat /system/etc/bluetooth/stack.conf`
-fi
-
-case "$stack" in
- "bluez")
- logi "Bluetooth stack is $stack"
- setprop ro.qc.bluetooth.stack $stack
- reason=`getprop vold.decrypt`
- case "$reason" in
- "trigger_restart_framework")
- start dbus
- ;;
- esac
- ;;
- *)
- logi "Bluetooth stack is Bluedroid"
- ;;
-esac
-
-}
-
-start_hciattach ()
-{
- /system/bin/hciattach -n $BTS_DEVICE $BTS_TYPE $BTS_BAUD &
- hciattach_pid=$!
- logi "start_hciattach: pid = $hciattach_pid"
- echo 1 > $BLUETOOTH_SLEEP_PATH
-}
-
-kill_hciattach ()
-{
- echo 0 > $BLUETOOTH_SLEEP_PATH
- logi "kill_hciattach: pid = $hciattach_pid"
- ## careful not to kill zero or null!
- kill -TERM $hciattach_pid
- # this shell doesn't exit now -- wait returns for normal exit
-}
-
-logi "init.qcom.bt.sh config = $config"
-case "$config" in
- "onboot")
- config_bt
- exit 0
- ;;
- *)
- ;;
-esac
-
-# mimic hciattach options parsing -- maybe a waste of effort
-USAGE="hciattach [-n] [-p] [-b] [-t timeout] [-s initial_speed] <tty> <type | id> [speed] [flow|noflow] [bdaddr]"
-
-while getopts "blnpt:s:" f
-do
- case $f in
- b | l | n | p) opt_flags="$opt_flags -$f" ;;
- t) timeout=$OPTARG;;
- s) initial_speed=$OPTARG;;
- \?) echo $USAGE; exit 1;;
- esac
-done
-shift $(($OPTIND-1))
-
-# Note that "hci_qcomm_init -e" prints expressions to set the shell variables
-# BTS_DEVICE, BTS_TYPE, BTS_BAUD, and BTS_ADDRESS.
-
-#Selectively Disable sleep
-BOARD=`getprop ro.board.platform`
-STACK=`getprop ro.qc.bluetooth.stack`
-
# BR/EDR & LE power class configurations
POWER_CLASS=`getprop qcom.bt.dev_power_class`
LE_POWER_CLASS=`getprop qcom.bt.le_dev_pwr_class`
-#find the transport type
-TRANSPORT=`getprop ro.qualcomm.bt.hci_transport`
-logi "Transport : $TRANSPORT"
-case $STACK in
- "bluez")
- logi "** Bluez stack **"
- ;;
- *)
- logi "** Bluedroid stack **"
- setprop bluetooth.status off
- ;;
-esac
-
+setprop bluetooth.status off
case $POWER_CLASS in
1) PWR_CLASS="-p 0" ;
@@ -284,51 +80,12 @@ eval $(/system/bin/hci_qcomm_init -e $PWR_CLASS $LE_PWR_CLASS && echo "exit_code
case $exit_code_hci_qcomm_init in
0) logi "Bluetooth QSoC firmware download succeeded, $BTS_DEVICE $BTS_TYPE $BTS_BAUD $BTS_ADDRESS";;
*) failed "Bluetooth QSoC firmware download failed" $exit_code_hci_qcomm_init;
- case $STACK in
- "bluez")
- logi "** Bluez stack **"
- ;;
- *)
- logi "** Bluedroid stack **"
- setprop bluetooth.status off
- ;;
- esac
+
+ setprop bluetooth.status off
exit $exit_code_hci_qcomm_init;;
esac
-# init does SIGTERM on ctl.stop for service
-trap "kill_hciattach" TERM INT
-
-case $TRANSPORT in
- "smd")
- case $STACK in
- "bluez")
- logi "** Bluez stack **"
- echo 1 > /sys/module/hci_smd/parameters/hcismd_set
- ;;
- *)
- logi "** Bluedroid stack **"
- setprop bluetooth.status on
- ;;
- esac
- ;;
- *)
- logi "start hciattach"
- start_hciattach
- case $STACK in
- "bluez")
- logi "Bluetooth is turning On with Bluez stack "
- ;;
- *)
- logi "** Bluedroid stack **"
- setprop bluetooth.status on
- ;;
- esac
-
- wait $hciattach_pid
- logi "Bluetooth stopped"
- ;;
-esac
+setprop bluetooth.status on
exit 0
diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc
index 48bfda8..f846b0f 100644
--- a/rootdir/etc/init.qcom.rc
+++ b/rootdir/etc/init.qcom.rc
@@ -273,7 +273,6 @@ on property:bluetooth.isEnabled=true
on property:vold.decrypt=trigger_restart_framework
start config_bt_addr
- start config_bluetooth
on property:persist.env.fastdorm.enabled=true
setprop persist.radio.data_no_toggle 1
@@ -298,12 +297,6 @@ service config_bt_addr /system/bin/btnvtool -O
group bluetooth radio
oneshot
-service config_bluetooth /system/bin/sh /system/etc/init.qcom.bt.sh "onboot"
- class core
- user root
- seclabel u:r:bluetooth_loader:s0
- oneshot
-
service cnd /system/bin/cnd
class late_start
socket cnd stream 660 root inet