msm8976-common: Cleanup init.qcom.bt.sh

* Remove bluez support
* Bring closer to AOSP devices' script

Change-Id: I6eeb69487b02070a84bc2958fb8a939a684ab915
This commit is contained in:
Michael Bestas 2016-10-06 17:51:00 +05:30 committed by Luca Stefani
parent af675f8719
commit c77c730833
2 changed files with 5 additions and 255 deletions

View File

@ -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" | "msm8909" | "msm8952" )
if [ "$btsoc" != "ath3k" ]
then
setprop ro.bluetooth.hfp.ver 1.7
setprop ro.qualcomm.bt.hci_transport smd
fi
;;
"apq8084" | "mpq8092" | "msm8994" )
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

View File

@ -1473,7 +1473,6 @@ on property:sys.boot_completed=1
chown media audio /sys/kernel/wcd_cpe0/fw_name
on property:vold.decrypt=trigger_restart_framework
start config_bluetooth
start config_bt_addr
on property:persist.env.fastdorm.enabled=true
@ -1534,12 +1533,6 @@ service hci_filter_root /system/bin/wcnss_filter
group bluetooth qcom_diag system
disabled
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 hciattach /system/bin/sh /system/etc/init.qcom.bt.sh
class late_start
user bluetooth