mbox series

[v11,00/56] atmel_mxt_ts misc

Message ID 20200508055656.96389-1-jiada_wang@mentor.com
Headers show
Series atmel_mxt_ts misc | expand

Message

Wang, Jiada May 8, 2020, 5:56 a.m. UTC
This patch-set forward ports Nick Dyer's work in ndyer/linux github
repository as long as some other features and fixes

Balasubramani Vivekanandan (2):
  Input: atmel_mxt_ts: Limit the max bytes transferred in an i2c
    transaction
  Input: atmel_mxt_ts: use gpiod_set_value_cansleep for reset pin

Dean Jenkins (1):
  Input: atmel_mxt_ts: return error from
    mxt_process_messages_until_invalid()

Deepak Das (6):
  Input: Atmel: improve error handling in mxt_start()
  Input: Atmel: improve error handling in mxt_initialize()
  Input: Atmel: improve error handling in mxt_update_cfg()
  Input: Atmel: Improve error handling in mxt_initialize_input_device()
  Input: Atmel: handle ReportID "0x00" while processing T5 messages
  Input: Atmel: use T44 object to process T5 messages

George G. Davis (1):
  input: atmel_mxt_ts: export GPIO reset line via sysfs

Janus Cheng (1):
  Input: atmel_mxt_ts - check data->input_dev is not null in
    mxt_input_sync()

Jiada Wang (12):
  Input: introduce input_mt_report_slot_inactive
  dt-bindings: input: atmel: add suspend mode support
  Input: atmel_mxt_ts: Rename mxt_fw_version_show to fw_version_show
  Input: atmel_mxt_ts: Rename mxt_hw_version_show to hw_version_show
  Input: atmel_mxt_ts: rename mxt_update_fw_store to update_fw_store
  dt-bindings: input: atmel: provide name of configuration file
  dt-bindings: input: atmel: support to specify input name
  Input: atmel_mxt_ts - rename mxt_object_show to object_show
  Input: atmel_mxt_ts - delay enabling IRQ when not using regulators
  Input: atmel_mxt_ts - eliminate data->raw_info_block
  input: atmel_mxt_ts: don't disable IRQ before remove of
    mxt_fw_attr_group
  Input: atmel_mxt_ts - Fix compilation warning

Karl Tsou (1):
  Input: atmel_mxt_ts - add debug for T92 gesture and T93 touch seq msgs

Kautuk Consul (2):
  Input: atmel_mxt_ts - Change call-points of mxt_free_* functions
  Input: atmel_mxt_ts - rely on calculated_crc rather than file
    config_crc

Naveen Chakka (2):
  input: touchscreen: atmel_mxt_ts: Added sysfs entry for touchscreen
    status
  input: atmel_mxt_ts: added sysfs interface to update atmel T38 data

Nick Dyer (25):
  Input: atmel_mxt_ts - rework sysfs init/remove
  Input: atmel_mxt_ts - only read messages in mxt_acquire_irq() when
    necessary
  Input: atmel_mxt_ts - split large i2c transfers into blocks
  Input: atmel_mxt_ts - output status from T48 Noise Supression
  Input: atmel_mxt_ts - output status from T42 Touch Suppression
  Input: atmel_mxt_ts - implement T9 vector/orientation support
  Input: atmel_mxt_ts - implement T15 Key Array support
  Input: atmel_mxt_ts - handle reports from T47 Stylus object
  Input: atmel_mxt_ts - implement support for T107 active stylus
  Input: atmel_mxt_ts - release touch state during suspend
  Input: atmel_mxt_ts - add regulator control support
  Input: atmel_mxt_ts - report failures in suspend/resume
  Input: atmel_mxt_ts - allow specification of firmware file name
  Input: atmel_mxt_ts - handle cfg filename via pdata/sysfs
  Input: atmel_mxt_ts - allow input name to be specified in platform
    data
  Input: atmel_mxt_ts - refactor firmware flash to extract context into
    struct
  Input: atmel_mxt_ts - refactor code to enter bootloader into separate
    func
  Input: atmel_mxt_ts - combine bootloader version query with probe
  Input: atmel_mxt_ts - improve bootloader state machine handling
  Input: atmel_mxt_ts - rename bl_completion to chg_completion
  Input: atmel_mxt_ts - make bootloader interrupt driven
  Input: atmel_mxt_ts - implement I2C retries
  Input: atmel_mxt_ts - orientation is not present in hover
  Input: atmel_mxt_ts - implement debug output for messages
  Input: atmel_mxt_ts - implement improved debug message interface

Nikhil Ravindran (1):
  Input: atmel_mxt_ts: Add support for run self-test routine.

karl tsou (1):
  Input: atmel_mxt_ts - add config checksum attribute to sysfs

keerthikumarp (1):
  input: atmel_mxt_ts: Add Missing Delay for reset handling of Atmel
    touch panel controller in detachable displays.
---
v11:
Following commits in v10 have been dropped
dt-bindings: input: atmel: support to set max bytes transferred
Input: atmel_mxt_ts: Implement synchronization during various operation

Following commits have been added
Input: atmel_mxt_ts - check data->input_dev is not null in
mxt_input_sync()
Input: atmel_mxt_ts - rename mxt_object_show to object_show
input: atmel_mxt_ts: don't disable IRQ before remove of
mxt_fw_attr_group

Following commits have been updated to address review findings
dt-bindings: input: atmel: add suspend mode support
input: touchscreen: atmel_mxt_ts: Added sysfs entry for touchscreen
status
Input: atmel_mxt_ts - handle cfg filename via pdata/sysfs
Input: atmel_mxt_ts - delay enabling IRQ when not using regulators

v10:
Following commits have been updated
input: touchscreen: atmel_mxt_ts: Added sysfs entry for touchscreen
status
dt-bindings: input: atmel: add suspend mode support
Input: atmel_mxt_ts: Implement synchronization during various operation

Re-order commits to avoid compilation error

v9:
Following commits have been added
Input: atmel_mxt_ts: rename mxt_update_fw_store to update_fw_store
Input: atmel_mxt_ts: Rename mxt_hw_version_show to hw_version_show
Input: atmel_mxt_ts: Rename mxt_fw_version_show to fw_version_show

Addressed dev_attrs related checkpatch warnings

v8:
Fix checkpatch errors and warnings

Fix issue in commit (" Input: atmel_mxt_ts - only read messages in
mxt_acquire_irq() when necessary")
reported by Dmitry Osipenko

Cleanup coding style for commits
Input: atmel_mxt_ts - add regulator control support
Input: atmel_mxt_ts - improve bootloader state machine handling

v7:
Fix regression found when updating firmware
Following commits have been updated to fix regression found when
updating firmware
Input: atmel_mxt_ts - improve bootloader state machine handling
Input: atmel_mxt_ts - make bootloader interrupt driven
input: touchscreen: atmel_mxt_ts: Added sysfs entry for touchscreen
status
Input: atmel_mxt_ts: Implement synchronization during various operation

v6:
Fix issue in commit ("Input: introduce input_mt_report_slot_inactive")
reported by kernel test robot

v5:
Following commits have been updated to address warnings & errors
reported by kbuild test robot
Input: atmel_mxt_ts - make bootloader interrupt driven
Input: atmel_mxt_ts - add debug for T92 gesture and T93 touch seq msgs

Following commit has been updated
Input: introduce input_mt_report_slot_inactive

v4:
Following commit in v3 patch-set has been removed
Input: switch to use return value of input_mt_report_slot_state

Following commit has been updated to address checkpatch warning
Input: atmel_mxt_ts: Implement synchronization during various operation

v3:
Following commits have been updated compared to v2 patchset
Input: atmel_mxt_ts - implement debug output for messages
- added inline comment
Input: atmel_mxt_ts - add debug for T92 gesture and T93 touch seq msg
- changed dev_info() to dev_dbg()

v2:
Following commit in v1 patchset has been split into two commits
Input: introduce input_mt_report_slot_inactive

Following commits have been updated compared to v1 patchset
Input: atmel_mxt_ts - split large i2c transfers into blocks
Input: atmel_mxt_ts - output status from T42 Touch Suppression

Following commits in v1 patchset have been squashed
Input: touchscreen: Atmel: Add device tree support for T15 key array
objects
Input: atmel_mxt_ts - check data->input_dev is not null in
mxt_input_sync()
Input: atmel_mxt_ts - check firmware format before entering bootloader
Input: atmel_mxt_ts: update stale use_retrigen_workaround flag
input: atmel_mxt_ts: move bootloader probe from mxt_initialize()
input: Atmel: limit the max bytes transferred while reading T5 messages
Input: atmel_mxt_ts: Use msecs_to_jiffies() instead of HZ
Input: atmel_mxt_ts: Use complete when in_bootloader true
Input: atmel_mxt_ts: Prevent crash due to freeing of input device
input: atmel_mxt_ts: Add NULL check for sysfs attribute debug_msg_attr

Following commits in v1 patchset have been dropped:
Input: atmel_mxt_ts - configure and use gpios as real gpios
Input: touchscreen: Atmel: Enable IRQ_DISABLE_UNLAZY flag for interrupt
Input: atmel_mxt_ts - add memory access interface via sysfs
Input: atmel_mxt_ts: Remove sysfs attributes during driver detach
Input: atmel_mxt_ts: Avoid race condition in freeing of input device

v1: initial version
---

 .../bindings/input/atmel,maxtouch.txt         |   14 +
 MAINTAINERS                                   |    1 +
 drivers/hid/hid-alps.c                        |    3 +-
 drivers/hid/hid-multitouch.c                  |    6 +-
 drivers/input/misc/xen-kbdfront.c             |    2 +-
 drivers/input/mouse/elan_i2c_core.c           |    2 +-
 drivers/input/touchscreen/atmel_mxt_ts.c      | 2072 ++++++++++++++---
 drivers/input/touchscreen/cyttsp4_core.c      |    5 +-
 drivers/input/touchscreen/cyttsp_core.c       |    2 +-
 drivers/input/touchscreen/melfas_mip4.c       |    4 +-
 drivers/input/touchscreen/mms114.c            |    2 +-
 drivers/input/touchscreen/raspberrypi-ts.c    |    2 +-
 drivers/input/touchscreen/stmfts.c            |    2 +-
 include/dt-bindings/input/atmel_mxt_ts.h      |   23 +
 include/linux/input/mt.h                      |    5 +
 15 files changed, 1790 insertions(+), 355 deletions(-)
 create mode 100644 include/dt-bindings/input/atmel_mxt_ts.h

Comments

Wang, Jiada July 8, 2020, 1:05 p.m. UTC | #1
Hello Dmitry

I am working on refining this series,
regarding your comment about drop changes related to
upload firmware and config during boot.

I found currently only config is uploaded during every boot.
but firmware is only uploaded when userspace asks to do so via
sysfs interface.

Could you help to confirm if this is the case?

Thanks,
Jiada

On 2020/06/25 22:50, Wang, Jiada wrote:
> Hello Dmitry

> 

> sorry for the delay,

> 

> On 2020/05/27 15:43, Dmitry Torokhov wrote:

>> Hi Jiada,

>>

>> On Thu, May 07, 2020 at 10:56:00PM -0700, Jiada Wang wrote:

>>> This patch-set forward ports Nick Dyer's work in ndyer/linux github

>>> repository as long as some other features and fixes

>>

>> Sorry for ignoring the series for quite a while. I guess my biggest

>> issue with the series is that quite a bit of patches are trying to

>> handle the fallout from a very unfortunate design decision in the

>> driver: the fact that it attempts to automatically upload firmware and

>> config on every boot/probe. This design was done at my urging because I

>> did not have access to the technical documentation and did not realize

>> that the controller has non-volatile memory for both firmware and

>> configuration. We should only attempt to automatically load firmware

>> where device does not have non-volatile memory and is unable function

>> otherwise, in all other cases we better leave it to userspace to decide

>> whether to execute firmware update and when. The kernel should only

>> provide facilities so that userspace can initiate firmware update. This

>> design has worked well for Chrome OS for many years (it used Atmel

>> controllers in several products), and I would like to bring it to the

>> mainline.

> 

> I agree with you, I will review the patch-set,

> and only pick these not related to firmware/cfg upload

> 

> Thanks,

> jiada

>>

>> Thanks.

>>
Wang, Jiada July 17, 2020, 7:21 a.m. UTC | #2
Hello All

I am thinking it doesn't make sense to keep the series
with such a big chunk of patches,
I will divide the series into several small series

Thanks,
Jiada

On 2020/07/08 22:05, Wang, Jiada wrote:
> Hello Dmitry

> 

> I am working on refining this series,

> regarding your comment about drop changes related to

> upload firmware and config during boot.

> 

> I found currently only config is uploaded during every boot.

> but firmware is only uploaded when userspace asks to do so via

> sysfs interface.

> 

> Could you help to confirm if this is the case?

> 

> Thanks,

> Jiada

> 

> On 2020/06/25 22:50, Wang, Jiada wrote:

>> Hello Dmitry

>>

>> sorry for the delay,

>>

>> On 2020/05/27 15:43, Dmitry Torokhov wrote:

>>> Hi Jiada,

>>>

>>> On Thu, May 07, 2020 at 10:56:00PM -0700, Jiada Wang wrote:

>>>> This patch-set forward ports Nick Dyer's work in ndyer/linux github

>>>> repository as long as some other features and fixes

>>>

>>> Sorry for ignoring the series for quite a while. I guess my biggest

>>> issue with the series is that quite a bit of patches are trying to

>>> handle the fallout from a very unfortunate design decision in the

>>> driver: the fact that it attempts to automatically upload firmware and

>>> config on every boot/probe. This design was done at my urging because I

>>> did not have access to the technical documentation and did not realize

>>> that the controller has non-volatile memory for both firmware and

>>> configuration. We should only attempt to automatically load firmware

>>> where device does not have non-volatile memory and is unable function

>>> otherwise, in all other cases we better leave it to userspace to decide

>>> whether to execute firmware update and when. The kernel should only

>>> provide facilities so that userspace can initiate firmware update. This

>>> design has worked well for Chrome OS for many years (it used Atmel

>>> controllers in several products), and I would like to bring it to the

>>> mainline.

>>

>> I agree with you, I will review the patch-set,

>> and only pick these not related to firmware/cfg upload

>>

>> Thanks,

>> jiada

>>>

>>> Thanks.

>>>