pstar: sepolicy: Rework policies for moto services
* Avoid direct access to kmsg for logging purpose. * Load touchscreen driver on early-init for labelling its sysfs nodes. Change-Id: I7bb86c270d81dbd6f4bdc66e78ac77e44b61e708
This commit is contained in:
parent
d67e4dc224
commit
b76c7be1db
@ -14,8 +14,8 @@
|
|||||||
|
|
||||||
script_name=${0##*/}
|
script_name=${0##*/}
|
||||||
script_name=${script_name%.*}
|
script_name=${script_name%.*}
|
||||||
function log {
|
function notice {
|
||||||
echo "$script_name: $*" > /dev/kmsg
|
log -t "$scriptname" -i "$*"
|
||||||
}
|
}
|
||||||
|
|
||||||
persist_fps_id=/mnt/vendor/persist/fps/vendor_id
|
persist_fps_id=/mnt/vendor/persist/fps/vendor_id
|
||||||
@ -31,27 +31,27 @@ function ident_fps {
|
|||||||
log "- install FPC driver"
|
log "- install FPC driver"
|
||||||
insmod /vendor/lib/modules/fpc1020_mmi.ko
|
insmod /vendor/lib/modules/fpc1020_mmi.ko
|
||||||
sleep 1
|
sleep 1
|
||||||
log "- identify FPC sensor"
|
notice "- identify FPC sensor"
|
||||||
setprop $PROP_FPS_IDENT ""
|
setprop $PROP_FPS_IDENT ""
|
||||||
start fpc_ident
|
start fpc_ident
|
||||||
for i in $(seq 1 $MAX_TIMES)
|
for i in $(seq 1 $MAX_TIMES)
|
||||||
do
|
do
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
ident_status=$(getprop $PROP_FPS_IDENT)
|
ident_status=$(getprop $PROP_FPS_IDENT)
|
||||||
log "-result : $ident_status"
|
notice "-result : $ident_status"
|
||||||
if [ $ident_status == $FPS_VENDOR_FPC ]; then
|
if [ $ident_status == $FPS_VENDOR_FPC ]; then
|
||||||
log "ok"
|
log "ok"
|
||||||
echo $FPS_VENDOR_FPC > $persist_fps_id
|
echo $FPS_VENDOR_FPC > $persist_fps_id
|
||||||
return 0
|
return 0
|
||||||
elif [ $ident_status == $FPS_VENDOR_NONE ]; then
|
elif [ $ident_status == $FPS_VENDOR_NONE ]; then
|
||||||
log "fail"
|
notice "fail"
|
||||||
log "- unload FPC driver"
|
notice "- unload FPC driver"
|
||||||
rmmod fpc1020_mmi
|
rmmod fpc1020_mmi
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
log "- install Goodix driver"
|
notice "- install Goodix driver"
|
||||||
insmod /vendor/lib/modules/goodix_fod_mmi.ko
|
insmod /vendor/lib/modules/goodix_fod_mmi.ko
|
||||||
echo $FPS_VENDOR_GOODIX > $persist_fps_id
|
echo $FPS_VENDOR_GOODIX > $persist_fps_id
|
||||||
return 0
|
return 0
|
||||||
@ -66,16 +66,16 @@ fps_vendor=$(cat $persist_fps_id)
|
|||||||
if [ -z $fps_vendor ]; then
|
if [ -z $fps_vendor ]; then
|
||||||
fps_vendor=$FPS_VENDOR_NONE
|
fps_vendor=$FPS_VENDOR_NONE
|
||||||
fi
|
fi
|
||||||
log "FPS vendor: $fps_vendor"
|
notice "FPS vendor: $fps_vendor"
|
||||||
|
|
||||||
if [ $fps_vendor == $FPS_VENDOR_GOODIX ]; then
|
if [ $fps_vendor == $FPS_VENDOR_GOODIX ]; then
|
||||||
log "- install Goodix driver"
|
notice "- install Goodix driver"
|
||||||
insmod /vendor/lib/modules/goodix_fod_mmi.ko
|
insmod /vendor/lib/modules/goodix_fod_mmi.ko
|
||||||
return $?
|
return $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $fps_vendor == $FPS_VENDOR_FPC ]; then
|
if [ $fps_vendor == $FPS_VENDOR_FPC ]; then
|
||||||
log "- install FPC driver"
|
notice "- install FPC driver"
|
||||||
insmod /vendor/lib/modules/fpc1020_mmi.ko
|
insmod /vendor/lib/modules/fpc1020_mmi.ko
|
||||||
return $?
|
return $?
|
||||||
fi
|
fi
|
||||||
|
@ -10,8 +10,8 @@
|
|||||||
|
|
||||||
script_name=${0##*/}
|
script_name=${0##*/}
|
||||||
script_name=${script_name%.*}
|
script_name=${script_name%.*}
|
||||||
function log {
|
function notice {
|
||||||
echo "$script_name: $*" > /dev/kmsg
|
log -t "$scriptname" -i "$*"
|
||||||
}
|
}
|
||||||
|
|
||||||
persist_fps_id=/mnt/vendor/persist/fps/vendor_id
|
persist_fps_id=/mnt/vendor/persist/fps/vendor_id
|
||||||
@ -19,7 +19,7 @@ persist_fps_id2=/mnt/vendor/persist/fps/last_vendor_id
|
|||||||
MAX_TIMES=100
|
MAX_TIMES=100
|
||||||
|
|
||||||
if [ ! -f $persist_fps_id ]; then
|
if [ ! -f $persist_fps_id ]; then
|
||||||
log "warn: no associated persist file found"
|
notice "warn: no associated persist file found"
|
||||||
return -1
|
return -1
|
||||||
fi
|
fi
|
||||||
FPS_VENDOR_NONE=none
|
FPS_VENDOR_NONE=none
|
||||||
@ -36,15 +36,15 @@ fps_vendor2=$(cat $persist_fps_id2)
|
|||||||
if [ -z $fps_vendor2 ]; then
|
if [ -z $fps_vendor2 ]; then
|
||||||
fps_vendor2=$FPS_VENDOR_NONE
|
fps_vendor2=$FPS_VENDOR_NONE
|
||||||
fi
|
fi
|
||||||
log "FPS vendor (last): $fps_vendor2"
|
notice "FPS vendor (last): $fps_vendor2"
|
||||||
fps_vendor=$(cat $persist_fps_id)
|
fps_vendor=$(cat $persist_fps_id)
|
||||||
if [ -z $fps_vendor ]; then
|
if [ -z $fps_vendor ]; then
|
||||||
fps_vendor=$FPS_VENDOR_NONE
|
fps_vendor=$FPS_VENDOR_NONE
|
||||||
fi
|
fi
|
||||||
log "FPS vendor: $fps_vendor"
|
notice "FPS vendor: $fps_vendor"
|
||||||
|
|
||||||
if [ $fps_vendor == $FPS_STATUS_NONE ]; then
|
if [ $fps_vendor == $FPS_STATUS_NONE ]; then
|
||||||
log "warn: boot as the last FPS"
|
notice "warn: boot as the last FPS"
|
||||||
fps=$fps_vendor2
|
fps=$fps_vendor2
|
||||||
else
|
else
|
||||||
fps=$fps_vendor
|
fps=$fps_vendor
|
||||||
@ -55,35 +55,35 @@ do
|
|||||||
|
|
||||||
setprop $prop_fps_status $FPS_STATUS_NONE
|
setprop $prop_fps_status $FPS_STATUS_NONE
|
||||||
if [ $fps == $FPS_VENDOR_FPC ]; then
|
if [ $fps == $FPS_VENDOR_FPC ]; then
|
||||||
log "start fps_hal"
|
notice "start fps_hal"
|
||||||
start fps_hal
|
start fps_hal
|
||||||
else
|
else
|
||||||
log "start goodix_hal"
|
notice "start goodix_hal"
|
||||||
start goodix_hal
|
start goodix_hal
|
||||||
fi
|
fi
|
||||||
|
|
||||||
log "wait for HAL finish ..."
|
notice "wait for HAL finish ..."
|
||||||
fps_status=$(getprop $prop_fps_status)
|
fps_status=$(getprop $prop_fps_status)
|
||||||
for ii in $(seq 1 $MAX_TIMES)
|
for ii in $(seq 1 $MAX_TIMES)
|
||||||
do
|
do
|
||||||
# log "check fps vendor status: $fps_status"
|
# notice "check fps vendor status: $fps_status"
|
||||||
if [ $fps_status != $FPS_STATUS_NONE ]; then
|
if [ $fps_status != $FPS_STATUS_NONE ]; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
fps_status=$(getprop $prop_fps_status)
|
fps_status=$(getprop $prop_fps_status)
|
||||||
done
|
done
|
||||||
log "fingerprint HAL status: $fps_status"
|
notice "fingerprint HAL status: $fps_status"
|
||||||
|
|
||||||
if [ $fps_status == $FPS_STATUS_OK ]; then
|
if [ $fps_status == $FPS_STATUS_OK ]; then
|
||||||
log "HAL success"
|
notice "HAL success"
|
||||||
setprop $prop_persist_fps $fps
|
setprop $prop_persist_fps $fps
|
||||||
if [ $fps_vendor2 == $fps ]; then
|
if [ $fps_vendor2 == $fps ]; then
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
log "- update FPS vendor (last)"
|
notice "- update FPS vendor (last)"
|
||||||
echo $fps > $persist_fps_id2
|
echo $fps > $persist_fps_id2
|
||||||
log "- done"
|
notice "- done"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -103,11 +103,11 @@ if [ $fps == $fps_vendor2 ]; then
|
|||||||
insmod /vendor/lib/modules/fpc1020_mmi.ko
|
insmod /vendor/lib/modules/fpc1020_mmi.ko
|
||||||
fps=$FPS_VENDOR_FPC
|
fps=$FPS_VENDOR_FPC
|
||||||
fi
|
fi
|
||||||
log "- update FPS vendor"
|
notice "- update FPS vendor"
|
||||||
echo $fps > $persist_fps_id
|
echo $fps > $persist_fps_id
|
||||||
sleep 1
|
sleep 1
|
||||||
else
|
else
|
||||||
log "error: HAL fail unload ko"
|
notice "error: HAL fail unload ko"
|
||||||
if [ $fps == $FPS_VENDOR_FPC ]; then
|
if [ $fps == $FPS_VENDOR_FPC ]; then
|
||||||
rmmod fpc1020_mmi
|
rmmod fpc1020_mmi
|
||||||
else
|
else
|
||||||
@ -116,7 +116,7 @@ else
|
|||||||
setprop $prop_persist_fps $FPS_VENDOR_NONE
|
setprop $prop_persist_fps $FPS_VENDOR_NONE
|
||||||
echo $FPS_VENDOR_NONE > $persist_fps_id
|
echo $FPS_VENDOR_NONE > $persist_fps_id
|
||||||
|
|
||||||
log "- done"
|
notice "- done"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@ import /vendor/etc/init/hw/init.vendor.st21nfc.rc
|
|||||||
on early-init
|
on early-init
|
||||||
setprop ro.vendor.device_edition ${ro.boot.edition}
|
setprop ro.vendor.device_edition ${ro.boot.edition}
|
||||||
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules qpnp-smbcharger-mmi qpnp_adaptive_charge
|
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules qpnp-smbcharger-mmi qpnp_adaptive_charge
|
||||||
|
exec u:r:vendor_modprove:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules touchscreen_mmi.ko stmicro_mmi.ko
|
||||||
|
|
||||||
on mmi-priority
|
on mmi-priority
|
||||||
# Only high priority MMI DLKMs loaded here
|
# Only high priority MMI DLKMs loaded here
|
||||||
@ -30,8 +31,6 @@ on fs
|
|||||||
insmod /vendor/lib/modules/tzlog_dump.ko
|
insmod /vendor/lib/modules/tzlog_dump.ko
|
||||||
insmod /vendor/lib/modules/watchdog_cpu_ctx.ko
|
insmod /vendor/lib/modules/watchdog_cpu_ctx.ko
|
||||||
insmod /vendor/lib/modules/mmi_relay.ko
|
insmod /vendor/lib/modules/mmi_relay.ko
|
||||||
insmod /vendor/lib/modules/touchscreen_mmi.ko
|
|
||||||
insmod /vendor/lib/modules/stmicro_mmi.ko
|
|
||||||
insmod /vendor/lib/modules/sx937x_sar.ko
|
insmod /vendor/lib/modules/sx937x_sar.ko
|
||||||
insmod /vendor/lib/modules/st21nfc.ko
|
insmod /vendor/lib/modules/st21nfc.ko
|
||||||
insmod /vendor/lib/modules/stmvl53l1.ko
|
insmod /vendor/lib/modules/stmvl53l1.ko
|
||||||
|
Loading…
x
Reference in New Issue
Block a user