mbox series

[v11,00/56] atmel_mxt_ts misc

Message ID 20200508055656.96389-1-jiada_wang@mentor.com (mailing list archive)
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

Pavel Machek May 24, 2020, 9:28 p.m. UTC | #1
Hi!

> This patch-set forward ports Nick Dyer's work in ndyer/linux github
> repository as long as some other features and fixes

This is quite large series, retransmitted quite often. I believe I have
hardware I could test this on (Motorola Droid 4)... but the cover letter
does not really tesll me what to expect....

Best regards,
								Pavel

> 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
> 
> -- 
> 2.17.1
Dmitry Torokhov May 27, 2020, 6:43 a.m. UTC | #2
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.

Thanks.
Wang, Jiada June 25, 2020, 1:50 p.m. UTC | #3
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 8, 2020, 1:05 p.m. UTC | #4
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 | #5
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.
>>>