To avoid uncessary register driver, a dynamic check device status
interface can be used to judge before register driver.
Change-Id: I07d61a80ca46b955110c37588a1a466b0b4f2922
Reviewed-on: https://gerrit.mot.com/2074097
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: litong <litong20@motorola.com>
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Submit-Approved: Jira Key
1. Add DRM_PANEL_EVENT nofification for Andorid S.
2. support touchscreen_mmi and related modules build in kernel-5.10.
3. Use timespec64 instead of timespec function.
Change-Id: If0252015e10bff24c10d54b13df2e0f6aa156a6e
Reviewed-on: https://gerrit.mot.com/1965128
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jun Weng <wengjun1@motorola.com>
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
ps_notify_callback warnning for block function usb_psy_get_prop()
mv ps_get_state to work callback
Change-Id: I856879ccd0d727660bc92c945445a64b4a03fddb
Signed-off-by: cuijy1 <cuijy2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1977442
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Hong Zhang <zhangh12@motorola.com>
Reviewed-by: Tao Sun <suntao2@motorola.com>
Submit-Approved: Jira Key
The kernel does not have permission to access the /data/vendor
partition, so send the update firmware notify to touchUpg service
on resume for zero-flash touch IC.
avc: denied { search } for name="param" dev="dm-6" ino=275
scontext=u:r:kernel:s0 tcontext=u:object_r:param_data_file:s0
tclass=dir permissive=0
Change-Id: I5d5c9f39bab25a8d3377e0475e79a0411d93b56b
Reviewed-on: https://gerrit.mot.com/1979786
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Reviewed-by: Jun Weng <wengjun1@motorola.com>
Submit-Approved: Jira Key
1. Provide debugfs interface to collect battery manager ADSP log in AP side.
2. Provide debugfs interfaces to configure log level and category for log mask.
3. Provide exported APIs for other Moto battery charger DLKM to get battery
charger ADSP log and output to Kernel log or IPC logging.
Change-Id: I93cb18542414b21084a09218366d6d675beeb807
Signed-off-by: yanyh2 <yanyh2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1971297
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
The module encapsule a group of notification,
used for decoupling between modules, for example,
the touchscreen driver are coupling fingerprint
and display driver in the bring-up phase,
the dependencies between modules need to fixed
to avoid proceeding blocked,
This module is middle layer, it change a direct
dependece into an indirect dependence.
Change-Id: I4469dd70300fce2dc5d9af48e96d65755974ef9f
Reviewed-on: https://gerrit.mot.com/1802936
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Reviewed-by: Sergio Vilela <sv008@motorola.com>
Submit-Approved: Sergio Vilela <sv008@motorola.com>
Tested-by: Sergio Vilela <sv008@motorola.com>
The module encapsule a group of notification,
used for decoupling between modules, for example,
the touchscreen driver are coupling fingerprint
and display driver in the bring-up phase,
the dependencies between modules need to fixed
to avoid proceeding blocked,
This module is middle layer, it change a direct
dependece into an indirect dependence.
Change-Id: I905ab2e3e4de32be9a2d2a9346d3153bb3690241
Reviewed-on: https://gerrit.mot.com/1756389
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
1 NFC driver will mmi.nfc to decide if need to probe
2 Add NXP SN1xx driver to DLKM
3 Fix ST driver building error on v(CR)
Change-Id: If7f6b1439c7214c4eaaef4ed1368a89988802c67
Signed-off-by: Ningkai Zhuang <zhuangnk1@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1788053
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Zishang Zhou <zhouzs1@motorola.com>
Reviewed-by: Tao Sun <suntao2@motorola.com>
Submit-Approved: Jira Key
TP:
1.Continue to probe touchscreen driver even if no matching panel is found
to ensure the basic functions of the touchscreen.
2.There is no member "id" in drm_panel_notifier at present, so set id to 0
to ensure touch driver can receive notifications from panel.
Change-Id: I2f8c946304be4511bc7ef3422937bfe8ea927a98
Reviewed-on: https://gerrit.mot.com/1745970
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Submit-Approved: Jira Key
After flashing GKI, https://gerrit.mot.com/#/c/1439246/ is not available.
Export API to match "mmi,status" rules, the other modules can use this
API to check if driver is available at the begining of probe() function.
Change-Id: I58413e071e32b82037c72c688a7bbbadce28007c
Reviewed-on: https://gerrit.mot.com/1772580
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
Because the input_get_new_minor function is not in the whitelist, and
Google thinks that a normal input driver should not use those functions,
so use the alloc_chrdev_region function to obtain the device number,
which is used to create node under the path /sys/class/touchscreen/.
Change-Id: Iedd2abdc6b772b62ea95c1edcd9eabc4b1256eec
Reviewed-on: https://gerrit.mot.com/1758757
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
TP:
1. Modify synaptics compile error on V(CR).
2. get_pid_task is more safer than pid_task, and get_pis_task
in the whitelist of google Andorid 11.
Change-Id: I7e6836db375bb8e80b6753afd400bb7db179cc18
Reviewed-on: https://gerrit.mot.com/1718097
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Submit-Approved: Jira Key
Because there is no contains function on kernel 5.4, and we have no way
to modify the kernel code. So "mmi,panel_name" is used to determine
whether to probe this driver.
Change-Id: I956b6ce1d463cbe472b80599c954dd06bd633082
Reviewed-on: https://gerrit.mot.com/1728590
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
Use common mmi_wake_lock macros instead directly using kernel API,
which is version specific. kmalloc parameter missed.
Change-Id: Ieb49c659e8612cd81ca1333e6a6a8c57bf7b7476
Signed-off-by: Kanagarathina Kalathi <kalath(CR)@motorola.com>
Reviewed-on: https://gerrit.mot.com/1729315
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Vijayakumar Gn <vijaygn@motorola.com>
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Submit-Approved: Jira Key
Its required to choose the wakeup source API depends
on Linux kernel version.
Added new mmi_wake_lock.h file to select the API, depends
on kernel version.
Change-Id: I066e679e2f923f47b51b288ca0196e2c8dbd86d2
Signed-off-by: Kanagarathina Kalathi <kalath(CR)@motorola.com>
Reviewed-on: https://gerrit.mot.com/1727382
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
CONFIG_DRM_PANEL -> CONFIG_DRM_PANEL_NOTIFICATIONS
Because CONFIG_PANEL_NOTIFICATIONS is already defined in other project,,
the <drm/drm_panel.h> file is not included, but because DRM_PANEL is
defined by default, the code compilation fails. so Modify the
configuration CONFIG_DRM_PANEL to CONFIG_DRM_PANEL_NOTIFICATIONS.
Change-Id: I2c341a0db33501158d602888c86bdb60127d62d9
Reviewed-on: https://gerrit.mot.com/1728347
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Submit-Approved: Jira Key
TP:
do_gettimeofday function is not in google whitelist. And all interfaces
returning a 'struct timeval' or 'struct timespec' have been replaced
because the tv_sec member overflows in year 2038 on 32-bit architectures.
Change-Id: I9659d84485f29b47d722bca8c0b3a2fe8d4974d2
Reviewed-on: https://gerrit.mot.com/1718149
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
In order to reduce the dependence on other modules, mmi_bl_bootmode is
added for touchscreen.
Change-Id: Ic77772fd155baf3b0af234141257e3062597b02e
Reviewed-on: https://gerrit.mot.com/1725851
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
It's used to save power.
It's only used on Borneo NA
Change-Id: I2aa60149f0a362dc29fc0eded5c509a9fd4ddc7c
Signed-off-by: chenlj2 <chenlj2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1718145
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jiacheng Ou <oujc1@motorola.com>
Reviewed-by: Guoyue Liu <liugy11@motorola.com>
Reviewed-by: Wang Wang <wangwang1@lenovo.com>
Submit-Approved: Jira Key
Re-initialize via a watchdog failure instead of a general
i2c failure. This will allow us to recover from failures that
happen during init, and re-init. The current solution does not
account of the fact that init could fail, and if init fails
there l(CR) won't be an interrupt that will drive the i2c
read/write failure to cause a recovery.
This should also reduce false postives, such as if we failed
to read i2c while suspending/resuming.
Change-Id: If7579a90c6490d5f9c4fec4c0d3e7b74cb8bdcaa
Signed-off-by: Ryan Lattrel <ryanl@motorola.com>
Reviewed-on: https://gerrit.mot.com/1690483
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Ling Jin <lingjin@motorola.com>
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
If we get an unexpected i2c failure, toggle the ldo
and re-init the registers after it is back online.
Change-Id: Ie17a208fb612264a6ddc8cb5fff16e3123b5719e
Signed-off-by: Ryan Lattrel <ryanl@motorola.com>
Reviewed-on: https://gerrit.mot.com/1672836
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Ling Jin <lingjin@motorola.com>
Submit-Approved: Jira Key
When the display and touch IC share power, we need to send the TP status
in the gesture mode to notify the display to keep on powering.
NO_PROP_NEEDED: <only for kiev in bo branch>
Change-Id: I87b56d3d3712c956de88e09b2751f5c355fb7a9b
Reviewed-on: https://gerrit.mot.com/1666974
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Submit-Approved: Jira Key
TP:
Fix the error definition of unregister_panel_notifier in (CR).
NO_PROP_NEEDED: <Touch driver code is is unified in bo branch>
Change-Id: Ibb5e0be256e78a31efd59b4f7a2e4329797c3e9c
Reviewed-on: https://gerrit.mot.com/1651390
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jichao Zou <zoujc@motorola.com>
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
- Trigger touch firmware download by display driver
for quick touch response.
- Only use panel notify, avoid trigger drm and panel
notification at the same time.
NO_PROP_NEEDED: New IC driver.
Change-Id: I01313efff3713d45362af18c277aa759e67dda23
Signed-off-by: wangyq13 <wangyq13@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1649595
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jun Weng <wengjun1@motorola.com>
Reviewed-by: Huosheng Liao <liaohs@motorola.com>
Submit-Approved: Jira Key
compatible with 3 and 2 channels
support 4 channels only in borneo
the sar chip default support 3 or 2 channels
Change-Id: I0a594fe18ebff2679b0ada26646f44b50afce67f
Signed-off-by: chenlj2 <chenlj2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1640530
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Wen Xie <xiewen3@motorola.com>
Reviewed-by: Tao Sun <suntao2@motorola.com>
Submit-Approved: Jira Key
Reviewed-by: Jiacheng Ou <oujc1@motorola.com>
Import a new gesture, poison slot.
When the report point is in this supression area, and the Y-axis
coordinate changes in little range over a period of time.
This is considered to be a point caused by the user's grip at edge.
Temporarily close all events report function for this slot from driver,
until this slot receives a release event or touch screen suspend.
Change-Id: Id7541aab8314e611d6943ed081f07776e5939f1b
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1584617
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
FOD sensor will depend on touch event to trigger fingerprint
authentication.
When device is waken up, and user put finger on FOD area just when touch
IC is resuming, IC will update baseline and set current finger on screen
as touch baseline. In this situation, no touch event will report.
To fix this issue, touchscreen class will disable touch IC baseline
update function by FPS working status.
If FPS is working, delay baseline update to FPS stop working or get
touch up event.
Change-Id: I16b964c71bf1adc71832a8d25c74b7734dd88d20
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1551682
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
Add fingerprint notifier chain in kernel module.
When fingerprint sensor is in working mode, HAL will set dev enable
status, and driver will broadcast this info to FPS notifier chain.
Change-Id: I075cf59aaf031d491f6e7edbe11ed509786e73aa
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1551681
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Qiuliang Cheng <chengql2@motorola.com>
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
If ts_mmi_on_state or ts_mmi_off_state pinctrl states is defined, and
vendor method not defined it's pinctrl callback function.
Add default pinctrl function for this situation.
Change-Id: I5873980ee6425b22af1af416228481af1abe360d
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1553615
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: <litong20@motorola.com>
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key