FreeCalypso > hg > fc-tourmaline
view scripts/config-headers.sh @ 78:c632896652ba
mfw/ti1_key.c: properly initialize notified_keys array
The code in this ti1_key.c layer needs to call kpd_subscribe() and
kpd_define_key_notification() functions in order to register with the
KPD driver. The original code passed KPD_NB_PHYSICAL_KEYS in
nb_notified_keys - this constant is defined to 24 in kpd_cfg.h on all
platforms of interest to us - but it only filled the first 23 slots
in the notified_keys array, resulting in stack garbage being passed
to KPD API functions. The fix consists of initializing the last
missed array slot to KPD_KEY_RECORD, the key ID for the right side
button on the D-Sample handset.
On our current hw targets this "Record" button exists as the EXTRA
button on our Luna keypad board and as the camera button on the
Pirelli DP-L10. There is no support whatsoever for this button
in current BMI+MFW, we have no plans of doing anything with Pirelli's
camera button even if we do get our UI fw running on that phone,
and the Mother's dream of building our own FreeCalypso handset with
the same button arrangement as D-Sample (including the right side
button) is currently very nebulous - but let us nonetheless handle
the full set of buttons on the KPD to MFW interface, and let upper
layers weed out unsupported buttons.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 25 Oct 2020 23:41:01 +0000 |
parents | 99ae5bf8cab5 |
children | ee04ca45053d |
line wrap: on
line source
#!/bin/sh if [ -z "$TARGET" ] then echo "Error: TARGET= must be passed via environment" 1>&2 exit 1 fi if [ -z "$BUILD_DIR" ] then echo "Error: BUILD_DIR= must be passed via environment" 1>&2 exit 1 fi # The following vars will already be set when this script is invoked # from configure.sh in a production build, but the following defaulting logic # helps with manual invokation during development. if [ -z "$CHIPSET" ] then CHIPSET=10 fi export CHIPSET if [ -z "$DSP" ] then DSP=36 fi export DSP if [ -z "$RF" ] then RF=12 fi export RF if [ -z "$AMR" ] then AMR=1 fi export AMR if [ -z "$L1_DYN_DSP_DWNLD" ] then L1_DYN_DSP_DWNLD=1 fi export L1_DYN_DSP_DWNLD if [ -z "$L1_VOICE_MEMO_AMR" ] then L1_VOICE_MEMO_AMR=1 fi export L1_VOICE_MEMO_AMR if [ -z "$MELODY_E2" ] then MELODY_E2=1 fi export MELODY_E2 if [ -z "$SPEECH_RECO" ] then SPEECH_RECO=1 fi export SPEECH_RECO if [ -z "$GPRS" ] then GPRS=1 fi export GPRS if [ -z "$SRVC" ] then SRVC=1 fi export SRVC if [ -z "$ATP_STATE" ] then ATP_STATE=0 fi export ATP_STATE if [ -z "$FCHG_STATE" ] then FCHG_STATE=1 fi export FCHG_STATE if [ -z "$LCC_STATE" ] then LCC_STATE=0 fi export LCC_STATE if [ -z "$MKS_STATE" ] then MKS_STATE=0 fi export MKS_STATE if [ -z "$PWR_STATE" ] then PWR_STATE=0 fi export PWR_STATE if [ -z "$R2D_STATE" ] then R2D_STATE=1 fi export R2D_STATE if [ -z "$R2D_EMBEDDED_LCD" ] then R2D_EMBEDDED_LCD=7 fi export R2D_EMBEDDED_LCD if [ -z "$TI_PROFILER" ] then TI_PROFILER=0 fi export TI_PROFILER if [ -z "$TR_BAUD_CONFIG" ] then TR_BAUD_CONFIG=TR_BAUD_115200 fi export TR_BAUD_CONFIG # Derived settings only for the generation of *.cfg headers case "$RF" in 10) RF_FAM=10 RF_PA=0 RF_PG=0 ;; 12) RF_FAM=12 RF_PA=2 RF_PG=2 ;; *) echo "Error: RF=$RF setting not understood" 1>&2 exit 1 esac export RF_FAM RF_PA RF_PG case "$GPRS" in 0) L1_GPRS=0 PMODE=1 ;; 1) L1_GPRS=1 PMODE=2 ;; *) echo "Error: GPRS=$GPRS setting not understood" 1>&2 exit 1 esac export L1_GPRS PMODE if [ "$SRVC" != 0 ] then IDS=1 else IDS=0 fi export IDS # do it! set -e rm -rf $BUILD_DIR/config mkdir $BUILD_DIR/config helpers/cfg-hdr-gen scripts/cfg-template $BUILD_DIR/config scripts/make-rv-swe-hdr.sh > $BUILD_DIR/config/rv_swe.h cp targets/$TARGET.h $BUILD_DIR/config/fc-target.h