From 7ef38e3425f0f0b487ccad5118fc0346cb22696f Mon Sep 17 00:00:00 2001 From: Damir Didjusto Date: Mon, 6 Aug 2012 13:55:52 -0700 Subject: [PATCH] init: Add init.qcom.audio.sh script. Audio subsystem has to read the qcom.bluetooth.soc property to create the correct soft links in UCM files which will be read by HAL. Change-Id: Iaf5ac39578dae2ebd09b19733c1cc2768b4fd1e8 --- common.mk | 5 +++ rootdir/Android.mk | 6 ++++ rootdir/etc/init.qcom.audio.sh | 60 ++++++++++++++++++++++++++++++++ rootdir/etc/init.qcom.post_fs.sh | 3 ++ 4 files changed, 74 insertions(+) create mode 100644 rootdir/etc/init.qcom.audio.sh diff --git a/common.mk b/common.mk index 30fec639..babece00 100755 --- a/common.mk +++ b/common.mk @@ -33,6 +33,10 @@ ALSA_UCM := snd_soc_msm ALSA_UCM += snd_soc_msm_2x ALSA_UCM += snd_soc_msm_2x_Fusion3 ALSA_UCM += snd_soc_msm_Sitar +ALSA_UCM += snd_soc_msm_auxpcm +ALSA_UCM += snd_soc_msm_2x_auxpcm +ALSA_UCM += snd_soc_msm_2x_Fusion3_auxpcm +ALSA_UCM += snd_soc_msm_Sitar_auxpcm #ANGLE ANGLE := libangle @@ -138,6 +142,7 @@ INIT += usf_post_boot.sh INIT += init.qcom.efs.sync.sh INIT += ueventd.qcom.rc INIT += init.ath3k.bt.sh +INIT += init.qcom.audio.sh #IPROUTE2 IPROUTE2 := ip diff --git a/rootdir/Android.mk b/rootdir/Android.mk index 6d89218c..f55deed5 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -122,3 +122,9 @@ LOCAL_MODULE_CLASS := ETC LOCAL_SRC_FILES := etc/init.qcom.post_fs.sh include $(BUILD_PREBUILT) +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.audio.sh +LOCAL_MODULE_TAGS := optional eng +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.qcom.audio.sh +include $(BUILD_PREBUILT) diff --git a/rootdir/etc/init.qcom.audio.sh b/rootdir/etc/init.qcom.audio.sh new file mode 100644 index 00000000..46c1903b --- /dev/null +++ b/rootdir/etc/init.qcom.audio.sh @@ -0,0 +1,60 @@ +#!/system/bin/sh +# Copyright (c) 2012, Code Aurora Forum. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Code Aurora Forum, Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# This script will check the type of the bluetooth device and set the +# symbolic links to UCM files accordingly + +# Some previous scripts could have mounted system as read only. +# remount system as read-write. +mount -o rw,remount,barrier=1 /system + +btsoc=`getprop qcom.bluetooth.soc` +echo "The BTSOC ID is $btsoc" +case "$btsoc" in + "ath3k") + echo "Setting soft links for auxpcm files" + rm /etc/snd_soc_msm/snd_soc_msm 2>/dev/null + rm /etc/snd_soc_msm/snd_soc_msm_2x 2>/dev/null + rm /etc/snd_soc_msm/snd_soc_msm_2x_Fusion3 2>/dev/null + rm /etc/snd_soc_msm/snd_soc_msm_Sitar 2>/dev/null + ln -s /etc/snd_soc_msm/snd_soc_msm_auxpcm /etc/snd_soc_msm/snd_soc_msm 2>/dev/null + ln -s /etc/snd_soc_msm/snd_soc_msm_2x_auxpcm /etc/snd_soc_msm/snd_soc_msm_2x 2>/dev/null + ln -s /etc/snd_soc_msm/snd_soc_msm_2x_Fusion3_auxpcm /etc/snd_soc_msm/snd_soc_msm_2x_Fusion3 2>/dev/null + ln -s /etc/snd_soc_msm/snd_soc_msm_Sitar_auxpcm /etc/snd_soc_msm/snd_soc_msm_Sitar 2>/dev/null + ;; + *) + echo "Not setting soft links, remove Auxpcm UCM files" + rm /etc/snd_soc_msm/snd_soc_msm_auxpcm 2>/dev/null + rm /etc/snd_soc_msm/snd_soc_msm_2x_auxpcm 2>/dev/null + rm /etc/snd_soc_msm/snd_soc_msm_2x_Fusion3_auxpcm 2>/dev/null + rm /etc/snd_soc_msm/snd_soc_msm_Sitar_auxpcm 2>/dev/null + ;; +esac +setprop qcom.audio.init complete +exit 0 + diff --git a/rootdir/etc/init.qcom.post_fs.sh b/rootdir/etc/init.qcom.post_fs.sh index 8e194ac7..aed5eae3 100644 --- a/rootdir/etc/init.qcom.post_fs.sh +++ b/rootdir/etc/init.qcom.post_fs.sh @@ -42,6 +42,9 @@ mount -o rw,remount,barrier=1 /system # Run wifi script /system/bin/sh /system/etc/init.qcom.wifi.sh +# Run audio script +/system/bin/sh /system/etc/init.qcom.audio.sh + # This should be the last command # remount system as read-only. mount -o ro,remount,barrier=1 /system