mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [GIT PULL] HID for 6.3
@ 2023-02-22 10:16 Benjamin Tissoires
  2023-02-22 19:23 ` Linus Torvalds
  2023-02-22 19:53 ` pr-tracker-bot
  0 siblings, 2 replies; 4+ messages in thread
From: Benjamin Tissoires @ 2023-02-22 10:16 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Jiri Kosina, linux-kernel

Linus,

please pull from

  git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git tags/for-linus-2023022201

to receive HID subsystem queue for 6.3.

Highlights:

=====
- HID-BPF infrastructure: this allows to start using HID-BPF. Note that
  the mechanism to ship HID-BPF program through the kernel tree is still
  not implemented yet (but is planned).
  This should be a no-op for 99% of users. Also we are gaining kselftests
  for the HID tree (Benjamin Tissoires)
- Some UAF fixes in workers when using uhid (Pietro Borrello & Benjamin
  Tissoires)
- Constify hid_ll_driver (Thomas Weißschuh)
- Allow more custom IIO sensors through HID (Philipp Jungkamp)
- Logitech HID++ fixes for scroll wheel, protocol and debug (Bastien Nocera)
- Some new device support: Steam Deck (Vicki Pfau), UClogic (José
  Expósito), Logitech G923 Xbox Edition steering wheel (Walt Holman),
  EVision keyboards (Philippe Valembois)
- other assorted code cleanups and fixes
=====

Thanks.

----------------------------------------------------------------
Allen Ballway (1):
      HID: multitouch: Add quirks for flipped axes

Andy Shevchenko (2):
      HID: i2c-hid: acpi: Drop unneded NULL check of adev
      HID: i2c-hid: acpi: Unify ACPI ID tables format

Arnd Bergmann (1):
      HID: stop drivers from selecting CONFIG_HID

Bastien Nocera (9):
      HID: logitech-hidpp: Hard-code HID++ 1.0 fast scroll support
      Revert "HID: logitech-hidpp: add a module parameter to keep firmware gestures"
      HID: logitech-hidpp: Add constants for HID++ 2.0 error codes
      HID: logitech-hidpp: Don't restart communication if not necessary
      HID: logitech-hidpp: Remove HIDPP_QUIRK_NO_HIDINPUT quirk
      HID: logitech-hidpp: Add Signature M650
      HID: logitech-hidpp: Add more debug statements
      HID: logitech-hidpp: Retry commands when device is busy
      HID: logitech-hidpp: Add myself to authors

Benjamin Tissoires (32):
      HID: Kconfig: split HID support and hid-core compilation
      HID: initial BPF implementation
      selftests: add tests for the HID-bpf initial implementation
      HID: bpf jmp table: simplify the logic of cleaning up programs
      HID: bpf: allocate data memory for device_event BPF programs
      selftests/hid: add test to change the report size
      HID: bpf: introduce hid_hw_request()
      selftests/hid: add tests for bpf_hid_hw_request
      HID: bpf: allow to change the report descriptor
      selftests/hid: add report descriptor fixup tests
      selftests/hid: Add a test for BPF_F_INSERT_HEAD
      samples/hid: add new hid BPF example
      samples/hid: add Surface Dial example
      Documentation: add HID-BPF docs
      HID: bpf: return non NULL data pointer when CONFIG_HID_BPF is not set
      HID: fix BT_HIDP Kconfig dependencies
      HID: force HID depending on INPUT
      Merge branch 'for-6.2/bpf' into for-6.2/hid-bpf
      HID: bpf: do not rely on ALLOW_ERROR_INJECTION
      HID: bpf: enforce HID_BPF dependencies
      selftests: hid: ensures we have the proper requirements in config
      kselftests: hid: fix missing headers_install step
      selftests: hid: add vmtest.sh
      selftests: hid: allow to compile hid_bpf with LLVM
      selftests: hid: attach/detach 2 bpf programs, not just one
      selftests: hid: ensure the program is correctly pinned
      selftests: hid: prepare tests for HID_BPF API change
      HID: bpf: rework how programs are attached and stored in the kernel
      selftests: hid: enforce new attach API
      HID: bpf: clean up entrypoint
      HID: bpf: reorder BPF registration
      HID: mcp-2221: prevent UAF in delayed work

Colin Ian King (1):
      samples/hid: Fix spelling mistake "wihout" -> "without"

Dmitry Torokhov (1):
      HID: retain initial quirks set up when creating HID devices

Douglas Anderson (3):
      HID: i2c-hid: goodix: Stop tying the reset line to the regulator
      dt-bindings: HID: i2c-hid: goodix: Add mainboard-vddio-supply
      HID: i2c-hid: goodix: Add mainboard-vddio-supply

Jingyuan Liang (1):
      HID: Add Mapping for System Microphone Mute

Jiri Kosina (1):
      HID: hid-sensor-custom: Fix big on-stack allocation in hid_sensor_custom_get_known()

José Expósito (8):
      HID: input: map battery system charging
      HID: uclogic: Add frame type quirk
      HID: uclogic: Add battery quirk
      HID: uclogic: Refactor UGEEv2 probe magic data
      HID: uclogic: Handle wireless device reconnection
      HID: uclogic: Add support for XP-PEN Deco Pro SW
      HID: uclogic: Add support for XP-PEN Deco Pro MW
      HID: uclogic: Use KUNIT_EXPECT_MEMEQ

Philipp Jungkamp (4):
      HID: hid-sensor-custom: Allow more custom iio sensors
      HID: hid-sensor-custom: Add LISS custom sensors
      IIO: hid-sensor-als: Use generic usage
      IIO: hid-sensor-prox: Use generic usage

Philippe Valembois (1):
      HID: evision: Add preliminary support for EVision keyboards

Pietro Borrello (6):
      HID: bigben: use spinlock to protect concurrent accesses
      HID: bigben_worker() remove unneeded check on report_field
      HID: bigben: use spinlock to safely schedule workers
      HID: asus: use spinlock to protect concurrent accesses
      HID: asus: use spinlock to safely schedule workers
      hid: bigben_probe(): validate report count

Randy Dunlap (1):
      Documentation: hid: correct spelling

Roderick Colenbrander (4):
      HID: sony: remove DualShock4 support.
      HID: playstation: fix DualShock4 unreachable calibration code.
      HID: playstation: correct DualShock4 gyro bias handling.
      HID: playstation: correct DualSense gyro bias handling.

Ronald Tschalär (1):
      HID: Recognize sensors with application collections

Thomas Weißschuh (20):
      HID: letsketch: Use hid_is_usb()
      HID: usbhid: Make hid_is_usb() non-inline
      HID: Remove unused function hid_is_using_ll_driver()
      HID: Unexport struct usb_hid_driver
      HID: Unexport struct uhid_hid_driver
      HID: Unexport struct hidp_hid_driver
      HID: Unexport struct i2c_hid_ll_driver
      HID: Make lowlevel driver structs const
      HID: i2c-hid: switch to standard debugging APIs
      HID: i2c-hid: use uniform debugging APIs
      HID: amd_sfh: Constify lowlevel HID driver
      HID: hyperv: Constify lowlevel HID driver
      HID: logitech-dj: Constify lowlevel HID driver
      HID: steam: Constify lowlevel HID driver
      HID: intel-ish-hid: Constify lowlevel HID driver
      HID: surface-hid: Constify lowlevel HID driver
      platform/x86: asus-tf103c-dock: Constify lowlevel HID driver
      platform/x86: asus-tf103c-dock: Constify toprow keymap
      staging: greybus: hid: Constify lowlevel HID driver
      HID: use standard debug APIs

Vicki Pfau (2):
      HID: hid-steam: Add Steam Deck support
      HID: hid-steam: Add rumble on Deck

Walt Holman (1):
      HID: Add support for Logitech G923 Xbox Edition steering wheel

 Documentation/devicetree/bindings/input/goodix,gt7375p.yaml |    7 ++
 Documentation/hid/hid-alps.rst                              |    2 +-
 Documentation/hid/hid-bpf.rst                               |  522 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Documentation/hid/hiddev.rst                                |    2 +-
 Documentation/hid/hidraw.rst                                |    2 +-
 Documentation/hid/index.rst                                 |    1 +
 Documentation/hid/intel-ish-hid.rst                         |    2 +-
 MAINTAINERS                                                 |   10 ++
 drivers/Makefile                                            |    2 +-
 drivers/hid/.kunitconfig                                    |    1 +
 drivers/hid/Kconfig                                         |   39 +++++--
 drivers/hid/Makefile                                        |    3 +
 drivers/hid/amd-sfh-hid/Kconfig                             |    2 +-
 drivers/hid/amd-sfh-hid/amd_sfh_hid.c                       |    2 +-
 drivers/hid/bpf/Kconfig                                     |   18 ++++
 drivers/hid/bpf/Makefile                                    |   11 ++
 drivers/hid/bpf/entrypoints/Makefile                        |   93 +++++++++++++++++
 drivers/hid/bpf/entrypoints/README                          |    4 +
 drivers/hid/bpf/entrypoints/entrypoints.bpf.c               |   25 +++++
 drivers/hid/bpf/entrypoints/entrypoints.lskel.h             |  248 +++++++++++++++++++++++++++++++++++++++++++
 drivers/hid/bpf/hid_bpf_dispatch.c                          |  551 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/hid/bpf/hid_bpf_dispatch.h                          |   25 +++++
 drivers/hid/bpf/hid_bpf_jmp_table.c                         |  565 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/hid/hid-asus.c                                      |   37 ++++++-
 drivers/hid/hid-bigbenff.c                                  |   75 ++++++++++---
 drivers/hid/hid-core.c                                      |   46 ++++++--
 drivers/hid/hid-debug.c                                     |    1 +
 drivers/hid/hid-evision.c                                   |   53 ++++++++++
 drivers/hid/hid-hyperv.c                                    |    2 +-
 drivers/hid/hid-ids.h                                       |    7 ++
 drivers/hid/hid-input-test.c                                |   80 ++++++++++++++
 drivers/hid/hid-input.c                                     |   48 ++++++++-
 drivers/hid/hid-letsketch.c                                 |    2 +-
 drivers/hid/hid-logitech-dj.c                               |    4 +-
 drivers/hid/hid-logitech-hidpp.c                            |  152 ++++++++++++++++-----------
 drivers/hid/hid-mcp2221.c                                   |    3 +
 drivers/hid/hid-multitouch.c                                |   39 ++++++-
 drivers/hid/hid-playstation.c                               |   41 ++++----
 drivers/hid/hid-quirks.c                                    |    2 +-
 drivers/hid/hid-sensor-custom.c                             |  242 +++++++++++++++++++++++++++++-------------
 drivers/hid/hid-sensor-hub.c                                |    6 +-
 drivers/hid/hid-sony.c                                      | 1021 +++++++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 drivers/hid/hid-steam.c                                     |  385 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 drivers/hid/hid-uclogic-core-test.c                         |  105 +++++++++++++++++++
 drivers/hid/hid-uclogic-core.c                              |   61 +++++++----
 drivers/hid/hid-uclogic-params-test.c                       |   16 +++
 drivers/hid/hid-uclogic-params.c                            |  124 ++++++++++++++++++++--
 drivers/hid/hid-uclogic-params.h                            |   40 +++++++
 drivers/hid/hid-uclogic-rdesc-test.c                        |    3 +-
 drivers/hid/hid-uclogic-rdesc.c                             |    6 ++
 drivers/hid/hid-uclogic-rdesc.h                             |    5 +
 drivers/hid/i2c-hid/Kconfig                                 |   31 +++---
 drivers/hid/i2c-hid/i2c-hid-acpi.c                          |   26 ++---
 drivers/hid/i2c-hid/i2c-hid-core.c                          |   24 ++---
 drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c                    |   42 ++++++++
 drivers/hid/i2c-hid/i2c-hid-of-goodix.c                     |   98 ++++-------------
 drivers/hid/i2c-hid/i2c-hid.h                               |    3 +
 drivers/hid/intel-ish-hid/Kconfig                           |    2 +-
 drivers/hid/intel-ish-hid/ishtp-hid.c                       |    2 +-
 drivers/hid/surface-hid/surface_hid_core.c                  |    2 +-
 drivers/hid/uhid.c                                          |    3 +-
 drivers/hid/usbhid/hid-core.c                               |    9 +-
 drivers/iio/light/hid-sensor-als.c                          |   27 ++---
 drivers/iio/light/hid-sensor-prox.c                         |   37 ++++---
 drivers/platform/x86/asus-tf103c-dock.c                     |    4 +-
 drivers/staging/greybus/hid.c                               |    2 +-
 include/linux/hid-sensor-ids.h                              |    1 +
 include/linux/hid.h                                         |   34 ++----
 include/linux/hid_bpf.h                                     |  170 ++++++++++++++++++++++++++++++
 net/bluetooth/hidp/Kconfig                                  |    2 +-
 net/bluetooth/hidp/core.c                                   |    3 +-
 samples/hid/.gitignore                                      |    8 ++
 samples/hid/Makefile                                        |  250 ++++++++++++++++++++++++++++++++++++++++++++
 samples/hid/Makefile.target                                 |   75 +++++++++++++
 samples/hid/hid_bpf_attach.bpf.c                            |   18 ++++
 samples/hid/hid_bpf_attach.h                                |   14 +++
 samples/hid/hid_bpf_helpers.h                               |   21 ++++
 samples/hid/hid_mouse.bpf.c                                 |  112 ++++++++++++++++++++
 samples/hid/hid_mouse.c                                     |  155 +++++++++++++++++++++++++++
 samples/hid/hid_surface_dial.bpf.c                          |  134 ++++++++++++++++++++++++
 samples/hid/hid_surface_dial.c                              |  226 +++++++++++++++++++++++++++++++++++++++
 tools/testing/selftests/Makefile                            |    1 +
 tools/testing/selftests/hid/.gitignore                      |    5 +
 tools/testing/selftests/hid/Makefile                        |  231 ++++++++++++++++++++++++++++++++++++++++
 tools/testing/selftests/hid/config                          |   21 ++++
 tools/testing/selftests/hid/config.common                   |  241 ++++++++++++++++++++++++++++++++++++++++++
 tools/testing/selftests/hid/config.x86_64                   |    4 +
 tools/testing/selftests/hid/hid_bpf.c                       |  869 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 tools/testing/selftests/hid/progs/hid.c                     |  209 +++++++++++++++++++++++++++++++++++++
 tools/testing/selftests/hid/progs/hid_bpf_helpers.h         |   21 ++++
 tools/testing/selftests/hid/vmtest.sh                       |  284 +++++++++++++++++++++++++++++++++++++++++++++++++
 91 files changed, 6736 insertions(+), 1428 deletions(-)
 create mode 100644 Documentation/hid/hid-bpf.rst
 create mode 100644 drivers/hid/bpf/Kconfig
 create mode 100644 drivers/hid/bpf/Makefile
 create mode 100644 drivers/hid/bpf/entrypoints/Makefile
 create mode 100644 drivers/hid/bpf/entrypoints/README
 create mode 100644 drivers/hid/bpf/entrypoints/entrypoints.bpf.c
 create mode 100644 drivers/hid/bpf/entrypoints/entrypoints.lskel.h
 create mode 100644 drivers/hid/bpf/hid_bpf_dispatch.c
 create mode 100644 drivers/hid/bpf/hid_bpf_dispatch.h
 create mode 100644 drivers/hid/bpf/hid_bpf_jmp_table.c
 create mode 100644 drivers/hid/hid-evision.c
 create mode 100644 drivers/hid/hid-input-test.c
 create mode 100644 drivers/hid/hid-uclogic-core-test.c
 create mode 100644 include/linux/hid_bpf.h
 create mode 100644 samples/hid/.gitignore
 create mode 100644 samples/hid/Makefile
 create mode 100644 samples/hid/Makefile.target
 create mode 100644 samples/hid/hid_bpf_attach.bpf.c
 create mode 100644 samples/hid/hid_bpf_attach.h
 create mode 100644 samples/hid/hid_bpf_helpers.h
 create mode 100644 samples/hid/hid_mouse.bpf.c
 create mode 100644 samples/hid/hid_mouse.c
 create mode 100644 samples/hid/hid_surface_dial.bpf.c
 create mode 100644 samples/hid/hid_surface_dial.c
 create mode 100644 tools/testing/selftests/hid/.gitignore
 create mode 100644 tools/testing/selftests/hid/Makefile
 create mode 100644 tools/testing/selftests/hid/config
 create mode 100644 tools/testing/selftests/hid/config.common
 create mode 100644 tools/testing/selftests/hid/config.x86_64
 create mode 100644 tools/testing/selftests/hid/hid_bpf.c
 create mode 100644 tools/testing/selftests/hid/progs/hid.c
 create mode 100644 tools/testing/selftests/hid/progs/hid_bpf_helpers.h
 create mode 100755 tools/testing/selftests/hid/vmtest.sh


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [GIT PULL] HID for 6.3
  2023-02-22 10:16 [GIT PULL] HID for 6.3 Benjamin Tissoires
@ 2023-02-22 19:23 ` Linus Torvalds
  2023-02-23  9:28   ` Benjamin Tissoires
  2023-02-22 19:53 ` pr-tracker-bot
  1 sibling, 1 reply; 4+ messages in thread
From: Linus Torvalds @ 2023-02-22 19:23 UTC (permalink / raw)
  To: Benjamin Tissoires; +Cc: Jiri Kosina, linux-kernel

On Wed, Feb 22, 2023 at 2:16 AM Benjamin Tissoires
<benjamin.tissoires@redhat.com> wrote:
>
> - HID-BPF infrastructure: this allows to start using HID-BPF.

I really don't think this should default to being enabled when there
doesn't seem to be any actual useful use-cases for it.

So why does it have that

        default HID_SUPPORT

that turns it on if HID is on, and

        If unsure, say Y.

in the help message?

I check for these things, because developers always think that THEIR
code is so magically important and everybody should care. And that's
simply not true. If we have been able to do without HID_BPF before,
then it certainly didn't magically become important for everybody just
by virtue of existing.

The *only* things that should be "default y" are basically new gating
questions (like the new gating question of "do you want HID at all",
when we didn't use to even ask), or things that cure cancer or solve
world hunger.

                Linus

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [GIT PULL] HID for 6.3
  2023-02-22 10:16 [GIT PULL] HID for 6.3 Benjamin Tissoires
  2023-02-22 19:23 ` Linus Torvalds
@ 2023-02-22 19:53 ` pr-tracker-bot
  1 sibling, 0 replies; 4+ messages in thread
From: pr-tracker-bot @ 2023-02-22 19:53 UTC (permalink / raw)
  To: Benjamin Tissoires; +Cc: Linus Torvalds, Jiri Kosina, linux-kernel

The pull request you sent on Wed, 22 Feb 2023 11:16:00 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git tags/for-linus-2023022201

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/6c71297eaf713ece684a367ce9aff06069d715b9

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [GIT PULL] HID for 6.3
  2023-02-22 19:23 ` Linus Torvalds
@ 2023-02-23  9:28   ` Benjamin Tissoires
  0 siblings, 0 replies; 4+ messages in thread
From: Benjamin Tissoires @ 2023-02-23  9:28 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Jiri Kosina, linux-kernel

On Wed, Feb 22, 2023 at 8:24 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> On Wed, Feb 22, 2023 at 2:16 AM Benjamin Tissoires
> <benjamin.tissoires@redhat.com> wrote:
> >
> > - HID-BPF infrastructure: this allows to start using HID-BPF.
>
> I really don't think this should default to being enabled when there
> doesn't seem to be any actual useful use-cases for it.
>
> So why does it have that
>
>         default HID_SUPPORT
>
> that turns it on if HID is on, and
>
>         If unsure, say Y.
>
> in the help message?
>
> I check for these things, because developers always think that THEIR
> code is so magically important and everybody should care. And that's
> simply not true. If we have been able to do without HID_BPF before,
> then it certainly didn't magically become important for everybody just
> by virtue of existing.
>
> The *only* things that should be "default y" are basically new gating
> questions (like the new gating question of "do you want HID at all",
> when we didn't use to even ask), or things that cure cancer or solve
> world hunger.

I was about to send an apology email with a patch to remove that line
but then I realized that you already got rid of the default Y.

So apologies for that. I mainly wanted this to be enabled in general
distribution where users encounter issues with HID devices, but it's
clear that it wasn't a good choice as servers will probably never have
a need for it.

And thanks for fixing it while applying the series.

Cheers,
Benjamin

>
>                 Linus
>


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-02-23  9:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-22 10:16 [GIT PULL] HID for 6.3 Benjamin Tissoires
2023-02-22 19:23 ` Linus Torvalds
2023-02-23  9:28   ` Benjamin Tissoires
2023-02-22 19:53 ` pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®