[PATCH 0/5] Improvements for drv260x driver and add to Huawei Watch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Clean up some issues with the driver I've noticed while working on it,
then fix the magnitude handling which previously resulted the driver
discarding the upper 8 bits of the magnitude value, and finally we can
add the drv260x to the APQ8026 Huawei Watch.

While the "fix magnitude handling" commit technically changes behavior
and could change behavior of existing user space applications that deal
with this quirky behavior, it's definitely not correct and results in
very unexpected behavior if the user space doesn't look out for it
(meaning only use 0x00-0xFF magnitude, and also know that the magnitude
was interpreted as signed value, see more details in the commit message
there).

There's currently only one other upstream user of the driver,
qcom/msm8996-xiaomi-gemini where I've added the dts authors to this
patch series (Raffaele & Yassine) and some tests on that device would be
nice since it's operating in LRA mode, mine does in ERM mode.

Signed-off-by: Luca Weiss <luca@xxxxxxxxx>
---
Luca Weiss (5):
      Input: drv260x - fix typo in register value define
      Input: drv260x - sleep between polling GO bit
      Input: drv260x - remove unused .reg_defaults
      Input: drv260x - fix magnitude handling
      ARM: dts: qcom: apq8026-huawei-sturgeon: Add vibrator

 arch/arm/boot/dts/qcom-apq8026-huawei-sturgeon.dts | 28 +++++++++++
 drivers/input/misc/drv260x.c                       | 56 ++++------------------
 2 files changed, 37 insertions(+), 47 deletions(-)
---
base-commit: fa55d47c433364df7361fd4f9b169b5845b06914
change-id: 20230430-drv260x-improvements-e218894a0c5c

Best regards,
-- 
Luca Weiss <luca@xxxxxxxxx>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux