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
1. Exports touch events handler in order to obtain the touch events
reported by vendor.
2. Add debug options to control whether to print log.
Change-Id: I3bb89cfe5c7a5a55ca01b3a93488558db4358445
Reviewed-on: https://gerrit.mot.com/1550603
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Tested-by: Jira Key
Reviewed-by: Jialei Hao <haojl2@motorola.com>
Submit-Approved: Jira Key
Kernel 4.9 is still using MSM DRM notification mechanism to report
blank/unblank events. To support programs that still on kernel 4.9
adding MSM DRM notifications to touchscreen MMI class
suspend/resume.
Change-Id: I128b216c25ba3a70c2abbb37049cf4102135893c
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/1549390
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Ryan Lattrel <ryanl@motorola.com>
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
This include file is required by panel on/off notification mechanism
used in MMI products. It makes more sense to keep it locally to avoid
adding it to various kernels
Change-Id: Ib0bc5a7dfe08c3dbae5f7960d3298b0f65811396
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/1549392
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
when headset insert
use special reg config
NO_PROP_NEEDED: only racer need this change
Change-Id: Iaea4faf18b5fce845a05f7262b2e683e1e37c16b
Signed-off-by: cuijy2 <cuijy1@motorola.com>
Reviewed-on: https://gerrit.mot.com/1539481
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Guoyue Liu <liugy11@motorola.com>
Reviewed-by: Tao Sun <suntao2@motorola.com>
Reviewed-by: Wen Xie <xiewen3@motorola.com>
Submit-Approved: Jira Key
To call touchscreen methods may cause concurrent competition.
So use uniform macro TRY_TO_CALL and TRY_TO_GET to call and get from
touch IC.
Add a mutex to lock all method invoke.
Change-Id: Ifca60891582e76c5d31fbdb31a386618665d7258
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1544138
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
For touchscreen class sys entries which support read and write.
Those entry value is set by user space and will be read by user space.
When IC is not active, read and write to touch IC may fail (power off or
interrupt closed). So, when write to those entries, just save value to
cache and restore when IC resume. Read those entries just return cached
value.
Change-Id: Ieee193597b68b2d87c6234116f2f085e5ab6aeac
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1544046
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
When touch start enter suspend, touch_stop will set to 1.
When touch resumed totally, pm_mode will be TS_MMI_PM_ACTIVE
Add two macro to get touch state.
Change-Id: I20ddb852f277ec6c0ffd38d33851416af4d2d06e
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1543989
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: <litong20@motorola.com>
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
Update configured registers on open and close events
if set in the device tree.
Change-Id: I004f519e1dd5851a93affab81598969509f27712
Signed-off-by: Ryan Lattrel <ryanl@motorola.com>
Reviewed-on: https://gerrit.mot.com/1543714
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
When driver exports sysfs entries to the class, they are created
under class' kobject. If driver needs to notify HAL about some
changes that happen asynchronously, it needs pointer to kobject
to call sysfs_notify. For that purpose pointer to kobject added
to class imports structure.
Change-Id: I05e72ee3a30cccce089ec571837b25df2fd07346
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/1517618
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
1. Process of panel off and on
Panel OFF:
(pre_suspend)->IRQ_OFF->INTO_MODE ->(post_suspend)->PINCTRL_OFF->POWER_OFF
Panel ON:
POWER_ON->RESET->PINCTRL_ON->(pre resume)->MODE->IRQ_ON->(post resume)
2. Only when both the sensor and the gesture are enabled can the
gesture mode be entered.
3. Interrupt will be turned on only in gesture mode.
4. Turn off the power only when Power_off_suspend is set
and not in gesture mode
Change-Id: I962cde8711333a4f213b01dccc99a3268e3ca519
Reviewed-on: https://gerrit.mot.com/1479065
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
Support new ioctl command and compatibale with old one
Add interrupt control to solve int can not wake up system issue
Change-Id: I3229f343c359ec6075739ea3e2d30554b07052a4
Signed-off-by: Ningkai Zhuang <zhuangnk1@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1481162
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Tao Sun <suntao2@motorola.com>
Submit-Approved: Jira Key
TP:
Add get_class_fname methods to get class name
the name is provided to vendor.
Change-Id: I1984af824bb1d59b8d736c59b327619b89bb010b
Reviewed-on: https://gerrit.mot.com/1471685
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jialei Hao <haojl2@motorola.com>
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
Added USB detection to the class code to handle charging source
bit setting.
Change-Id: Ic947504509b454150b7067ceb31786c5d29296b2
Signed-off-by: Konstantin Makariev <hcv867@motorola.com>
Reviewed-on: https://gerrit.mot.com/1471999
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jialei Hao <haojl2@motorola.com>
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
TP:
If touch vendor driver need create extra sys entries for some vendor
special reason. Create a method to get this attr group.
Change-Id: I39482b504428ab915c8e2eda5db9f29495dbc5b8
Signed-off-by: haojl2 <haojl2@motorola.com>
Reviewed-on: https://gerrit.mot.com/1470200
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key
TP:
The touch driver code is updated to second version
of synaptics.
Change-Id: Id460de3197aaee25cefeab918923212a484c8346
Reviewed-on: https://gerrit.mot.com/1468558
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jialei Hao <haojl2@motorola.com>
Reviewed-by: Jianqi Yang <yangj@motorola.com>
Submit-Approved: Jira Key