Commit Graph

1341094 Commits

Author SHA1 Message Date
Jiri Kosina
17678759ef Merge branch 'for-6.16/hid-gpio-setter-callbacks' into for-linus
- adapt HID drivers to use new gpio_chip's line setter callbacks
  (Bartosz Golaszewski)
2025-06-03 09:25:26 +02:00
Jiri Kosina
5b53c0e7df Merge branch 'for-6.16/corsair' into for-linus 2025-06-03 09:24:39 +02:00
Jiri Kosina
6f96598984 Merge branch 'for-6.16/core' into for-linus
- make it possible to set hid_mouse_ignore_list dynamically (the same way we
  handle other quirks) (Aditya Garg)
- fix potential OOB in usbhid_parse() (Terry Junge)
2025-06-03 09:23:09 +02:00
Jiri Kosina
ad78d7e364 Merge branch 'for-6.16/apple' into for-linus
- Kconfig dependency fixes (Geert Uytterhoeven)
- time scaling fix for appletb_tb_idle_timeout and appletb_tb_dim_timeout
  parameters (Thorsten Blum)
2025-06-03 09:21:55 +02:00
Rong Zhang
578e1b96fa HID: bpf: abort dispatch if device destroyed
The current HID bpf implementation assumes no output report/request will
go through it after hid_bpf_destroy_device() has been called. This leads
to a bug that unplugging certain types of HID devices causes a cleaned-
up SRCU to be accessed. The bug was previously a hidden failure until a
recent x86 percpu change [1] made it access not-present pages.

The bug will be triggered if the conditions below are met:

A) a device under the driver has some LEDs on
B) hid_ll_driver->request() is uninplemented (e.g., logitech-djreceiver)

If condition A is met, hidinput_led_worker() is always scheduled *after*
hid_bpf_destroy_device().

hid_destroy_device
` hid_bpf_destroy_device
  ` cleanup_srcu_struct(&hdev->bpf.srcu)
` hid_remove_device
  ` ...
    ` led_classdev_unregister
      ` led_trigger_set(led_cdev, NULL)
        ` led_set_brightness(led_cdev, LED_OFF)
          ` ...
            ` input_inject_event
              ` input_event_dispose
                ` hidinput_input_event
                  ` schedule_work(&hid->led_work) [hidinput_led_worker]

This is fine when condition B is not met, where hidinput_led_worker()
calls hid_ll_driver->request(). This is the case for most HID drivers,
which implement it or use the generic one from usbhid. The driver itself
or an underlying driver will then abort processing the request.

Otherwise, hidinput_led_worker() tries hid_hw_output_report() and leads
to the bug.

hidinput_led_worker
` hid_hw_output_report
  ` dispatch_hid_bpf_output_report
    ` srcu_read_lock(&hdev->bpf.srcu)
    ` srcu_read_unlock(&hdev->bpf.srcu, idx)

The bug has existed since the introduction [2] of
dispatch_hid_bpf_output_report(). However, the same bug also exists in
dispatch_hid_bpf_raw_requests(), and I've reproduced (no visible effect
because of the lack of [1], but confirmed bpf.destroyed == 1) the bug
against the commit (i.e., the Fixes:) introducing the function. This is
because hidinput_led_worker() falls back to hid_hw_raw_request() when
hid_ll_driver->output_report() is uninplemented (e.g., logitech-
djreceiver).

hidinput_led_worker
` hid_hw_output_report: -ENOSYS
` hid_hw_raw_request
  ` dispatch_hid_bpf_raw_requests
    ` srcu_read_lock(&hdev->bpf.srcu)
    ` srcu_read_unlock(&hdev->bpf.srcu, idx)

Fix the issue by returning early in the two mentioned functions if
hid_bpf has been marked as destroyed. Though
dispatch_hid_bpf_device_event() handles input events, and there is no
evidence that it may be called after the destruction, the same check, as
a safety net, is also added to it to maintain the consistency among all
dispatch functions.

The impact of the bug on other architectures is unclear. Even if it acts
as a hidden failure, this is still dangerous because it corrupts
whatever is on the address calculated by SRCU. Thus, CC'ing the stable
list.

[1]: commit 9d7de2aa8b ("x86/percpu/64: Use relative percpu offsets")
[2]: commit 9286675a2a ("HID: bpf: add HID-BPF hooks for
hid_hw_output_report")

Closes: https://lore.kernel.org/all/20250506145548.GGaBoi9Jzp3aeJizTR@fat_crate.local/
Fixes: 8bd0488b5e ("HID: bpf: add HID-BPF hooks for hid_hw_raw_requests")
Cc: stable@vger.kernel.org
Signed-off-by: Rong Zhang <i@rong.moe>
Tested-by: Petr Tesarik <petr@tesarici.cz>
Link: https://patch.msgid.link/20250512152420.87441-1-i@rong.moe
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
2025-05-13 15:53:50 +02:00
Milton Barrera
fa9fdeea1b HID: quirks: Add ADATA XPG alpha wireless mouse support
This patch adds HID_QUIRK_ALWAYS_POLL for the ADATA XPG wireless gaming mouse (USB ID 125f:7505) and its USB dongle (USB ID 125f:7506). Without this quirk, the device does not generate input events properly.

Signed-off-by: Milton Barrera <miltonjosue2001@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 13:01:57 +02:00
Jiapeng Chong
acae9d5b51 HID: hid-steam: Remove the unused variable connected
Variable connected is not effectively used, so delete it.

drivers/hid/hid-steam.c:1153:7: warning: variable ‘connected’ set but not used.

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=20462
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 12:52:11 +02:00
Geert Uytterhoeven
de7ad66b16 HID: HID_APPLETB_BL should depend on X86
The Apple Touch Bar is only present on x86 MacBook Pros.  Hence add a
dependency on X86, to prevent asking the user about this driver when
configuring a kernel for a different architecture.

Fixes: 1fd41e5e3d ("HID: hid-appletb-bl: add driver for the backlight of Apple Touch Bars")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Aditya Garg <gargaditya08@live.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 12:32:02 +02:00
Geert Uytterhoeven
2a647d400a HID: HID_APPLETB_KBD should depend on X86
The Apple Touch Bar is only present on x86 MacBook Pros.  Hence add a
dependency on X86, to prevent asking the user about this driver when
configuring a kernel for a different architecture.

Fixes: 8e9b9152cf ("HID: hid-appletb-kbd: add driver for the keyboard mode of Apple Touch Bars")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Aditya Garg <gargaditya08@live.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 12:32:02 +02:00
Thorsten Blum
663704db95 HID: appletb-kbd: Use secs_to_jiffies() instead of msecs_to_jiffies()
Use secs_to_jiffies() instead of msecs_to_jiffies() and avoid scaling
the module params 'appletb_tb_idle_timeout' and 'appletb_tb_dim_timeout'
to milliseconds. secs_to_jiffies() expands to simpler code and reduces
the size of 'hid-appletb-kbd.ko'.

Reformat the code to silence multiple checkpatch warnings.

No functional changes intended.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Reviewed-by: Aditya Garg <gargaditya08@live.com>
Tested-by: Aditya Garg <gargaditya08@live.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 12:20:10 +02:00
Mario Limonciello
f32e8c8095 HID: amd_sfh: Avoid clearing reports for SRA sensor
SRA sensor doesn't allocate any memory for reports.  Skip
trying to clear memory for that sensor in cleanup path.

Suggested-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Acked-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 12:17:55 +02:00
Mario Limonciello
0cc2effbc8 HID: amd_sfh: Fix SRA sensor when it's the only sensor
On systems that only have an SRA sensor connected to SFH the sensor
doesn't get enabled due to a bad optimization condition of breaking
the sensor walk loop.

This optimization is unnecessary in the first place because if there
is only one device then the loop only runs once. Drop the condition
and explicitly mark sensor as enabled.

Reported-by: Yijun Shen <Yijun.Shen@dell.com>
Tested-By: Yijun Shen <Yijun_Shen@Dell.com>
Fixes: d1c444b471 ("HID: amd_sfh: Add support to export device operating states")
Cc: stable@vger.kernel.org
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Acked-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 12:17:55 +02:00
Qasim Ijaz
6bf8ab7774 HID: wacom: fix shift OOB in kfifo allocation for zero pktlen
During wacom_parse_and_register() the code calls wacom_devm_kfifo_alloc
to allocate a fifo. During this operation it passes kfifo_alloc a
fifo_size of 0. Kfifo attempts to round the size passed to it to the
next power of 2 via roundup_pow_of_two (queue-type data structures
do this to maintain efficiency of operations).

However during this phase a problem arises when the roundup_pow_of_two()
function utilises a shift exponent of fls_long(n-1), where n is the
fifo_size. Since n is 0 in this case and n is also an unsigned long,
doing n-1 causes unsigned integer wrap-around to occur making the
fifo_size 4294967295. So the code effectively does fls_long(4294967295)
which results in 64. Returning back to roundup_pow_of_two(), the code
utilises a shift exponent of 64. When a shift exponent of 64 is used
on a 64-bit type such as 1UL it results in a shift-out-of-bounds.

The root cause of the issue seems to stem from insufficient validation
of wacom_compute_pktlen(), since in this case the fifo_size comes
from wacom_wac->features.pktlen. During wacom_parse_and_register()
the wacom_compute_pktlen() function sets the pktlen as 0.

To fix this, we should handle cases where wacom_compute_pktlen()
results in 0.

Reported-by: syzbot <syzbot+d5204cbbdd921f1f7cad@syzkaller.appspotmail.com>
Closes: https://syzkaller.appspot.com/bug?extid=d5204cbbdd921f1f7cad
Fixes: 5e013ad206 ("HID: wacom: Remove static WACOM_PKGLEN_MAX limit")
Tested-by: Qasim Ijaz <qasdev00@gmail.com>
Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
Cc: stable@vger.kernel.org
Signed-off-by: Qasim Ijaz <qasdev00@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 12:13:32 +02:00
Henry Martin
bd07f75120 HID: uclogic: Add NULL check in uclogic_input_configured()
devm_kasprintf() returns NULL when memory allocation fails. Currently,
uclogic_input_configured() does not check for this case, which results
in a NULL pointer dereference.

Add NULL check after devm_kasprintf() to prevent this issue.

Fixes: dd613a4e45 ("HID: uclogic: Correct devm device reference for hidinput input_dev name")
Signed-off-by: Henry Martin <bsdhenrymartin@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 12:12:16 +02:00
Bartosz Golaszewski
31a78afda1 HID: mcp2221: use new line value setter callbacks
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 12:07:55 +02:00
Bartosz Golaszewski
9815a42361 HID: mcp2200: use new line value setter callbacks
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 12:07:55 +02:00
Bartosz Golaszewski
6485543488 HID: cp2112: use new line value setter callbacks
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 12:07:55 +02:00
Bartosz Golaszewski
4c49d905ca HID: cp2112: use lock guards
Simplify the code by using the lock guards from linux/cleanup.h
throughout the driver.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 12:07:55 +02:00
Bartosz Golaszewski
837b05fea0 HID: cp2112: hold the lock for the entire direction_output() call
We currently take the lock, set direction to output, release it,
reacquire it and set the desired value. That doesn't look correct.
Introduce a helper function that sets the value without taking the lock
and use it where applicable in order to combine the critical sections.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 12:07:55 +02:00
Bartosz Golaszewski
a99548b834 HID: cp2112: destroy mutex on driver detach
Use the devres variant of mutex_init() in order to free resources
allocated with mutex debugging enabled.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 12:07:55 +02:00
Chen Ni
cc2c611f29 HID: corsair-void: Use to_delayed_work()
Use to_delayed_work() instead of open-coding it.

Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 11:56:38 +02:00
Qasim Ijaz
fd34bf79a6 HID: wacom: fix memory leak on size mismatch in wacom_wac_queue_flush()
In wacom_wac_queue_flush() the code allocates zero initialised
buffer which it uses as a storage buffer for copying data from
a fifo via kfifo_out(). The kfifo_out() function returns the
number of elements it has copied. The code checks if the number
of copied elements does not equal the size of the fifo record,
if it does not it simply skips the entry and continues to the
next iteration. However it does not release the storage buffer
leading to a memory leak.

Fix the memory leak by freeing the buffer on size mismatch.

Fixes: 5e013ad206 ("HID: wacom: Remove static WACOM_PKGLEN_MAX limit")
Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Qasim Ijaz <qasdev00@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 11:54:34 +02:00
Qasim Ijaz
e1ca5f39c2 HID: wacom: handle kzalloc() allocation failure in wacom_wac_queue_flush()
During wacom_wac_queue_flush() the code calls
kzalloc() to allocate a zero initialised buffer
which it uses as a storage buffer to get data
from the fifo via kfifo_out(). However it does not
check kzalloc() for allocation failure which returns
NULL and could potentially lead to a NULL deref.

Fix this by checking for kzalloc() failure and skipping
the current entry if allocation failure occurs.

Fixes: 5e013ad206 ("HID: wacom: Remove static WACOM_PKGLEN_MAX limit")
Signed-off-by: Qasim Ijaz <qasdev00@gmail.com>
Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 11:53:35 +02:00
Qasim Ijaz
09d546303b HID: thrustmaster: fix memory leak in thrustmaster_interrupts()
In thrustmaster_interrupts(), the allocated send_buf is not
freed if the usb_check_int_endpoints() check fails, leading
to a memory leak.

Fix this by ensuring send_buf is freed before returning in
the error path.

Fixes: 50420d7c79 ("HID: hid-thrustmaster: Fix warning in thrustmaster_probe by adding endpoint check")
Signed-off-by: Qasim Ijaz <qasdev00@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 11:48:13 +02:00
Aditya Garg
c14e02e68b HID: hid-appletb-kbd: Fix wrong date and kernel version in sysfs interface docs
The driver hid-appletb-kbd was upstreamed in kernel 6.15. But, due to an
oversight on my part, I didn't change the kernel version and expected
date while upstreaming the driver, thus it remained as 6.5, the original
kernel version when the driver was developed for downstream. This commit
should fix this.

Signed-off-by: Aditya Garg <gargaditya08@live.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 11:46:06 +02:00
Peter Hutterer
55cd617566 HID: bpf: fix BTN_STYLUS for the XP Pen ACK05 remote
Usage_Dig_BarrelSwitch was applied in the UsagePage_Button
which incorrectly mapped to BTN_TOOL_PENCIL

Link: https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/193
Fixes: 834da375 ("bpf: add a v6.11+ compatible BPF fixup for the XPPen ACK05 remote")
Link: https://patchwork.kernel.org/project/linux-input/patch/20250207-bpf-import-2025-02-07-v1-7-6048fdd5a206@kernel.org/

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 11:36:53 +02:00
Aditya Garg
a058002358 HID: quirks: Add HID_QUIRK_IGNORE_MOUSE quirk
Some USB HID mice have drivers both in HID as well as a separate USB
driver. The already existing hid_mouse_ignore_list in hid-quirks manages
this, but is not yet configurable by usbhid.quirks, unlike all others like
hid_ignore_list. Thus in some HID devices, where the vendor provides USB
drivers only for the mouse and lets keyboard handled by the generic hid
drivers, presence of such a quirk prevents the user from compiling hid core
again to add the device to the table.

Signed-off-by: Aditya Garg <gargaditya08@live.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 11:32:51 +02:00
Terry Junge
fe7f7ac8e0 HID: usbhid: Eliminate recurrent out-of-bounds bug in usbhid_parse()
Update struct hid_descriptor to better reflect the mandatory and
optional parts of the HID Descriptor as per USB HID 1.11 specification.
Note: the kernel currently does not parse any optional HID class
descriptors, only the mandatory report descriptor.

Update all references to member element desc[0] to rpt_desc.

Add test to verify bLength and bNumDescriptors values are valid.

Replace the for loop with direct access to the mandatory HID class
descriptor member for the report descriptor. This eliminates the
possibility of getting an out-of-bounds fault.

Add a warning message if the HID descriptor contains any unsupported
optional HID class descriptors.

Reported-by: syzbot+c52569baf0c843f35495@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=c52569baf0c843f35495
Fixes: f043bfc98c ("HID: usbhid: fix out-of-bounds bug")
Cc: stable@vger.kernel.org
Signed-off-by: Terry Junge <linuxhid@cosmicgizmosystems.com>
Reviewed-by: Michael Kelley <mhklinux@outlook.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-04-24 11:31:25 +02:00
Linus Torvalds
5e06802b42 hid-for-linus-2025032601
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEL65usyKPHcrRDEicpmLzj2vtYEkFAmfj+cIACgkQpmLzj2vt
 YEke2A//a9qWGV2K8oeC2uKxoL7o66LmiMcoAhmKwfVeDHq29IWRE0oVdIJmqK9F
 bCMRzq6aiNG5F6kBt03L5kDrJ34GDSphfmNJezVuVVST7TDDba/qLqmJQxGmFpyR
 DZu+8QhD3r1NAI+vd+Ay+7TD21u1DKGLM4tcsDTyebWvZj2sDFLOcXphrFlvV/2K
 zM/GAk7kFt2rbeAqBLL5CzQZNEdy4r9xZNJQxSOYSYw11C/ke5j2MmXbna4Dybnp
 mpdeHd+LF2BEytfLQDWaD6ZFTLgyOV/PCSSpM5WPGun6j58cTRH2gLu1g6E38SRa
 uDpZBdurPKX1UQpozVqbVpUoaedQ9fpVVlsUCulyKNJHZP9ovMywrghmzSGAIF4u
 9R78hsO4eBwHXYz6aC/+giKtwtvRW3DrxKhYBiHlntQSmH/cAtZHkhoY1k4LWo5/
 Fj9zi0QADk4Z92P2dbMkMwtSgqM5wkQ13/pHBVtcsOqHLi35lD/DTthtFj3t/KbQ
 bxue7HE9m/BqitQ34yRMsm1Sx9ztjwQ2UWA/NReJysGwxf4USgAdeBRcxfCPGdjh
 knqVskMhWTDUFlWpB4B91Wx8zZP/N7dxRjExVqo3nvVGTR196nhB63KRsE+omkPc
 NTKq1a0ROlbEu4NtzGFTB0T/R8H9mPrRfORgCaTrW7ZtpqPox2A=
 =GXpz
 -----END PGP SIGNATURE-----

Merge tag 'hid-for-linus-2025032601' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid

Pull HID updates from Jiri Kosina:

 - PlayStation 5 controllers support (Alex Henrie)

 - big revamp and modernization of the aged hid-pidff force feedback
   driver (Tomasz Pakuła)

 - conversion of hid-lg-g15 to standard multicolor LED API (Kate Hsuan)

 - improvement of behavior of Human Presence Sensor (HPD) in amd_sfh
   driver (Mario Limonciello)

 - other assorted fixes, code cleanups and device ID additions

* tag 'hid-for-linus-2025032601' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (70 commits)
  HID: remove superfluous (and wrong) Makefile entry for CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER
  HID: Intel-thc-hid: Intel-quickspi: Correct device state names gramatically
  HID: wacom: Remove static WACOM_PKGLEN_MAX limit
  HID: amd_sfh: Don't show wrong status for amd_sfh_hpd_info()
  HID: amd_sfh: Default to HPD disabled
  HID: amd_sfh: Allow configuring whether HPD is enabled or disabled
  HID: pidff: Fix set_device_control()
  HID: pidff: Fix 90 degrees direction name North -> East
  HID: pidff: Compute INFINITE value instead of using hardcoded 0xffff
  HID: pidff: Clamp effect playback LOOP_COUNT value
  HID: pidff: Rename two functions to align them with naming convention
  HID: lenovo: silence unreachable code warning
  HID: lenovo: Fix to ensure the data as __le32 instead of u32
  HID: bpf: add a v6.11+ compatible BPF fixup for the XPPen ACK05 remote
  HID: bpf: new hid_bpf_async.h common header
  HID: bpf: import new kfunc from v6.10 & v6.11
  HID: bpf: add support for the XP-Pen Artist Pro 19 (gen2)
  HID: bpf: Added updated Kamvas Pro 19 descriptor
  HID: bpf: Suppress bogus F13 trigger on Sirius keyboard full fan shortcut
  HID: bpf: Add support for the default firmware mode of the Huion K20
  ...
2025-03-26 10:05:43 -07:00
Linus Torvalds
fb1ceb29b2 platform-drivers-x86 for v6.15-1
Highlights:
 
  - alienware-wmi: Refactor and split WMAX/legacy drivers
 
  - dell-ddv:
 
     - Correct +0.1 offset in temperature
 
     - Use the power supply extension mechanism for battery temperatures
 
  - intel/pmc:
 
     - Refactor init to mostly use a common init function
 
     - Add support for Arrow Lake U/H
 
     - Add support for Panther Lake
 
  - intel/sst:
 
     - Improve multi die handling
 
     - Prefix header search path with sysroot (fixes cross-compiling)
 
  - lenovo-wmi-hotkey-utilities: Support for mic & audio mute LEDs
 
  - samsung-galaxybook: Add driver for Samsung Galaxy Book series
 
  - wmi:
 
     - Rework WCxx/WExx ACPI method handling
 
     - Enable data block collection when the data block is set
 
  - platform/arm:
 
     - Add Huawei Matebook E Go EC driver
 
  - platform/mellanox:
 
     - Relocate to drivers/platform/mellanox/
 
     - mlxbf-bootctl: RTC battery status sysfs support
 
  - Miscellaneous cleanups / refactoring / improvements
 
 The following is an automated shortlog grouped by driver:
 
 alienware-wmi:
  -  Add a state container for LED control feature
  -  Add a state container for thermal control methods
  -  Add alienware-wmi.h
  -  Add WMI Drivers
  -  Refactor hdmi, amplifier, deepslp methods
  -  Refactor LED control methods
  -  Refactor thermal control methods
  -  Rename alienware-wmi.c
  -  Split DMI table
  -  Split the alienware-wmi driver
  -  Update alienware-wmi config entries
  -  Update header and module information
 
 amd/pmc:
  -  fix leak in probe()
  -  Move macros and structures to the PMC header file
  -  Notify user when platform does not support s0ix transition
  -  Remove unnecessary line breaks
  -  Use managed APIs for mutex
 
 amd/pmf:
  -  convert timeouts to secs_to_jiffies()
 
 amd:
  -  Use *-y instead of *-objs in Makefiles
 
 arm64:
  -  add Huawei Matebook E Go EC driver
 
 arm64: dts: qcom: gaokun3:
  -  Add Embedded Controller node
 
 compal-laptop:
  -  Do not include <linux/fb.h>
 
 dell-ddv:
  -  Fix temperature calculation
  -  Use devm_battery_hook_register
  -  Use the power supply extension mechanism
 
 dell: dell-wmi-sysman:
  -  Use *-y instead of *-objs in Makefile
 
 dell:
  -  Modify Makefile alignment
  -  Use *-y instead of *-objs in Makefile
 
 dell-uart-backlight:
  -  Make dell_uart_bl_serdev_driver static
 
 dt-bindings: platform:
  -  Add Huawei Matebook E Go EC
 
 hp-bioscfg:
  -  Replace deprecated strncpy() with strscpy()
  -  Use wmi_instance_count()
 
 hp:
  -  Use *-y instead of *-objs in Makefile
 
 hwmon:
  -  (hp-wmi-sensors) Use the WMI bus API when accessing sensors
 
 ideapad-laptop:
  -  use dev_groups to register attribute groups
 
 int3472:
  -  Call "func" "con_id" instead
 
 intel/pmc:
  -  Add Arrow Lake U/H support to intel_pmc_core driver
  -  Add Panther Lake support to intel_pmc_core
  -  Create generic_core_init() for all platforms
  -  Make tgl_core_generic_init() static
  -  Move arch specific action to init function
  -  Remove duplicate enum
  -  Remove simple init functions
  -  Remove unnecessary declarations in header
  -  Remove unneeded extern keyword in header
 
 intel:
  -  Use *-y instead of *-objs in Makefile
 
 irqdomain: platform/x86:
  -  Switch to irq_domain_create_linear()
 
 lenovo-wmi-hotkey-utilities.c:
  -  Support for mic and audio mute LEDs
 
 lenovo-yoga-tab2-pro-1380-fastcharger:
  -  Make symbol static
 
 MAINTAINERS:
  -  Add documentation reference for Mellanox platform
  -  Update ALIENWARE WMI DRIVER entry
 
 mellanox:
  -  Relocate mlx-platform driver
 
 mlxbf-bootctl:
  -  Support sysfs entries for RTC battery status
 
 mlx-platform:
  -  Change register name
  -  Cosmetic changes
 
 samsung-galaxybook:
  -  Add samsung-galaxybook driver
  -  Fix block_recording not supported logic
 
 sonypi:
  -  Use str_on_off() helper in sonypi_display_info()
 
 think-lmi:
  -  Use ACPI object when extracting strings
  -  Use WMI bus API when accessing BIOS settings
 
 thinkpad_acpi:
  -  check the return value of devm_mutex_init()
  -  convert timeouts to secs_to_jiffies()
  -  Do not include <linux/fb.h>
  -  Move HWMON initialization to tpacpi_hwmon_pdriver's probe
  -  Move subdriver initialization to tpacpi_pdriver's probe.
 
 tools/power/x86/intel-speed-select:
  -  Die ID for IO dies
  -  Fix the condition to check multi die system
  -  Prefix header search path with sysroot
  -  Prevent increasing MAX_DIE_PER_PACKAGE
  -  v1.22 release
 
 wmi:
  -  Call WCxx methods when setting data blocks
  -  Rework WCxx/WExx ACPI method handling
  -  Update documentation regarding the GUID-based API
  -  Use devres to disable the WMI device
 
 x86-android-tablets:
  -  Add select POWER_SUPPLY to Kconfig
 
 Merges:
  -  Merge branch 'fixes' into for-next
  -  Merge branch 'intel-sst' of https://github.com/spandruvada/linux-kernel into review-ilpo-next
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSCSUwRdwTNL2MhaBlZrE9hU+XOMQUCZ+QJyQAKCRBZrE9hU+XO
 MUPYAP4sjtB8DKTIHgiQqado7PJZmdgpeJfAplitwKGe4BOcEQEA1mhuqMA5n6S+
 jvbTtRF+jiKxis/5zAtAdChScM/pIgo=
 =W+gy
 -----END PGP SIGNATURE-----

Merge tag 'platform-drivers-x86-v6.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86

Pull x86 platform drivers updates from Ilpo Järvinen:

 - alienware-wmi:
     - Refactor and split WMAX/legacy drivers

 - dell-ddv:
     - Correct +0.1 offset in temperature
     - Use the power supply extension mechanism for battery temperatures

 - intel/pmc:
     - Refactor init to mostly use a common init function
     - Add support for Arrow Lake U/H
     - Add support for Panther Lake

 - intel/sst:
     - Improve multi die handling
     - Prefix header search path with sysroot (fixes cross-compiling)

 - lenovo-wmi-hotkey-utilities:
     - Support for mic & audio mute LEDs

 - samsung-galaxybook:
     - Add driver for Samsung Galaxy Book series

 - wmi:
     - Rework WCxx/WExx ACPI method handling
     - Enable data block collection when the data block is set

 - platform/arm:
     - Add Huawei Matebook E Go EC driver

 - platform/mellanox:
     - Relocate to drivers/platform/mellanox/
     - mlxbf-bootctl:
     - RTC battery status sysfs support

 - Miscellaneous cleanups / refactoring / improvements

* tag 'platform-drivers-x86-v6.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (75 commits)
  platform/x86: x86-android-tablets: Add select POWER_SUPPLY to Kconfig
  platform/x86/amd/pmf: convert timeouts to secs_to_jiffies()
  platform/x86: thinkpad_acpi: convert timeouts to secs_to_jiffies()
  irqdomain: platform/x86: Switch to irq_domain_create_linear()
  platform/x86/amd/pmc: fix leak in probe()
  tools/power/x86/intel-speed-select: v1.22 release
  tools/power/x86/intel-speed-select: Prefix header search path with sysroot
  tools/power/x86/intel-speed-select: Die ID for IO dies
  tools/power/x86/intel-speed-select: Fix the condition to check multi die system
  tools/power/x86/intel-speed-select: Prevent increasing MAX_DIE_PER_PACKAGE
  platform/x86/amd/pmc: Use managed APIs for mutex
  platform/x86/amd/pmc: Remove unnecessary line breaks
  platform/x86/amd/pmc: Move macros and structures to the PMC header file
  platform/x86/amd/pmc: Notify user when platform does not support s0ix transition
  platform/x86: dell-ddv: Use the power supply extension mechanism
  platform/x86: dell-ddv: Use devm_battery_hook_register
  platform/x86: dell-ddv: Fix temperature calculation
  platform/x86: thinkpad_acpi: check the return value of devm_mutex_init()
  platform/x86: samsung-galaxybook: Fix block_recording not supported logic
  platform/x86: dell-uart-backlight: Make dell_uart_bl_serdev_driver static
  ...
2025-03-26 09:54:40 -07:00
Linus Torvalds
e50da555ca sound updates for 6.15-rc1
We've received lots of commits at this time, as a result of various
 cleanup and refactoring works as well as a few new drivers and the
 generic SoundWire support.  Most of changes are device-specific,
 little about the core changes.  Some highlights below:
 
 Core:
 * A couple of (rather minor) race fixes in ALSA sequencer code
 * A regression fix in ALSA timer code that may lead to a deadlock
 
 ASoC:
 * A large series of code conversion to use modern terminology for the
   clocking configuration
 * Conversions of PM ops with the modern macros in all ASoC drivers
 * Clarification of the control operations
 * Prepartory work for more generic SoundWire SCDA controls
 * Support for AMD ACP 7.x, AWINC WM88166, Everest ES8388, Intel AVS
   PEAKVOL and GAIN DSP modules Mediatek MT8188 DMIC, NXP i.MX95,
   nVidia Tegra interconnects, Rockchip RK3588 S/PDIF, Texas
   Instruments SN012776 and TAS5770L, and Wolfson WM8904 DMICs
 
 Others:
 * Conversions of PM ops with the modern macros in the rest drivers
 * USB-audio quirks and fixes for Presonus Studio, DJM-A9, CME
 * HD-audio quirks and fixes ASUS, HP, Lenovo, and others
 
 Note that the PR contains some changes from the tip tree for AMD code,
 and it might give some merge conflict due to the rebase afterwards.
 -----BEGIN PGP SIGNATURE-----
 
 iQJCBAABCAAsFiEEIXTw5fNLNI7mMiVaLtJE4w1nLE8FAmfi3o0OHHRpd2FpQHN1
 c2UuZGUACgkQLtJE4w1nLE+mhQ//QPp4w4pegFco3//6lc6tTX1n61Ab8m9Vl1CF
 ALPN/zI7tkaI8S3cVNA3uXlzWSdmYzJOHvy8LrUAWG4e/cPQqTy9+oyZjnVrIthL
 lszAIh51fR7whtKabBQADdHzBPSPWwX5HmeiBlBP8TriCtM5wprZ4Wi8gaVrPw2G
 u4JqpRCpFQGf2S4WGnVGvV/7fyRM+R9LUhAX7BAFmSdtoz4oyg3Mt8R3MdAQkNOi
 eHX1n342b06UG9MRjv258RSW+ilf1ccPdMRVCayuVt789lgUUdo9DKhQiM6vPlT9
 FHtCbLGXkaYwxOsRuWGkPiRxc2xPLtvuSLhmiTomR1va/FnH+VW0Ghk5cwg0i31U
 mBNqdtgxYglb6Vp41OYRCImRa3dhFjR/SIHN1OokQpkzY4vsl1nu1kDXxHQttc9d
 qfXwWmviFN/Wg8hXFsEeGo26ISU+GQAmZksKfvF3YHJy/kz/amS8zSXDmUgL5WD9
 ttK25orLxptZ80sRVTywoPH25b8H4wgwRLdwvYCPqOLx8jv7V86n32gudWAibBz5
 Yua0TmWxd2r2LZVt3TdJgAhJSHXCDTdoybcwGoDn1p+jDRqcJDCpyL23TH+eAQUg
 whqQRTYVH/E/Cd1V2oATxeLwUsILkUOiHXqc7s12KMdU1rmL/S/rsASDuumxow7V
 viUoVAM=
 =NaAN
 -----END PGP SIGNATURE-----

Merge tag 'sound-6.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound updates from Takashi Iwai:
 "We've received lots of commits at this time, as a result of various
  cleanup and refactoring works as well as a few new drivers and the
  generic SoundWire support. Most of changes are device-specific, little
  about the core changes. Some highlights below:

  Core:
   - A couple of (rather minor) race fixes in ALSA sequencer code
   - A regression fix in ALSA timer code that may lead to a deadlock

  ASoC:
   - A large series of code conversion to use modern terminology for the
     clocking configuration
   - Conversions of PM ops with the modern macros in all ASoC drivers
   - Clarification of the control operations
   - Prepartory work for more generic SoundWire SCDA controls
   - Support for AMD ACP 7.x, AWINC WM88166, Everest ES8388, Intel AVS
     PEAKVOL and GAIN DSP modules Mediatek MT8188 DMIC, NXP i.MX95,
     nVidia Tegra interconnects, Rockchip RK3588 S/PDIF, Texas
     Instruments SN012776 and TAS5770L, and Wolfson WM8904 DMICs

  Others:
   - Conversions of PM ops with the modern macros in the rest drivers
   - USB-audio quirks and fixes for Presonus Studio, DJM-A9, CME
   - HD-audio quirks and fixes ASUS, HP, Lenovo, and others"

* tag 'sound-6.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (651 commits)
  ALSA: hda: tas2781-i2c: Remove unnecessary NULL check before release_firmware()
  ALSA: hda: cs35l56: Remove unnecessary NULL check before release_firmware()
  ALSA: hda/realtek: Bass speaker fixup for ASUS UM5606KA
  ALSA: hda/realtek: Fix built-in mic assignment on ASUS VivoBook X515UA
  ALSA: hda/realtek: Add support for various HP Laptops using CS35L41 HDA
  ALSA: timer: Don't take register_mutex with copy_from/to_user()
  ASoC: SDCA: Correct handling of selected mode DisCo property
  ASoC: amd: yc: update quirk data for new Lenovo model
  ALSA: hda/realtek: fix micmute LEDs on HP Laptops with ALC3247
  ALSA: hda/realtek: fix micmute LEDs on HP Laptops with ALC3315
  ASoC: SOF: mediatek: Commonize duplicated functions
  ASoC: dmic: Fix NULL pointer dereference
  ASoC: wm8904: add DMIC support
  ASoC: wm8904: get platform data from DT
  ASoC: dt-bindings: wm8904: Add DMIC, GPIO, MIC and EQ support
  ASoC: wm8904: Don't touch GPIO configs set to 0xFFFF
  of: Add of_property_read_u16_index
  ALSA: oxygen: Fix dependency on CONFIG_PM_SLEEP
  ASoC: ops: Apply platform_max after deciding control type
  ASoC: ops: Remove some unnecessary local variables
  ...
2025-03-26 09:41:55 -07:00
Jiri Kosina
4ee4d7b177 Merge branch 'for-6.15/wacom' into for-linus
- removal of WACOM_PKGLEN_MAX limit in Wacom driver (Jason Gerecke)
2025-03-26 13:56:38 +01:00
Jiri Kosina
6fe38a26b2 Merge branch 'for-6.15/usb-hidbp' into for-linus
- fix for LED_KANA handling in hidbp (junan)
2025-03-26 13:56:11 +01:00
Jiri Kosina
795b318f05 Merge branch 'for-6.15/steam' into for-linus
- code cleanup (Vicki Pfau)
2025-03-26 13:55:44 +01:00
Jiri Kosina
82931ba4c1 Merge branch 'for-6.15/sony' into for-linus
- PlayStation 5 controllers support (Alex Henrie)
2025-03-26 13:55:13 +01:00
Jiri Kosina
74ed6b5bad Merge branch 'for-6.15/plantronics' into for-linus
- improved mute handling (Terry Junge)
2025-03-26 13:54:42 +01:00
Jiri Kosina
765b8aa0f7 Merge branch 'for-6.15/pidff' into for-linus
From: Tomasz Pakuła <tomasz.pakula.oficjalny@gmail.com>

This patch series is focused on improving the compatibility and usability of the
hid-pidff force feedback driver. Last patch introduces a new, universal driver
for PID devices that need some special handling like report fixups, remapping the
button range, managing new pidff quirks and setting desirable fuzz/flat values.

This work has been done in the span of the past months with the help of the great
Linux simracing community, with a little input from sim flight fans from FFBeast.

No changes interfere with compliant and currently working PID devices.
"Generic" codepath was tested as well with Moza and Simxperience AccuForce v2.

I'm not married to the name. It's what we used previously, but if "universal" is
confusing (pidff is already the generic driver), we can come up with something
better like "hid-quirky-pidff" :)

With v8 and  tiny finx in v9, all the outstanding issues were resolved,
additional pidff issues were fixed and hid-pidff defines moved to a dedicated
header file. This patch series could be considered done bar any comments and
requests from input maintainers.

I could save more then a dozen lines of code by changing simple if statements
to only occupy on line instead of two in there's a need for that.
2025-03-26 13:54:04 +01:00
Jiri Kosina
867bc163da Merge branch 'for-6.15/logitech' into for-linus
- conversion of hid-lg-g15 to standard multicolor LED API (Kate Hsuan)
2025-03-26 13:53:08 +01:00
Jiri Kosina
880d010ca5 Merge branch 'for-6.15/lenovo' into for-linus
- code cleanups (Dan Carpenter, Vishnu Sankar)
2025-03-26 13:52:27 +01:00
Jiri Kosina
071b38ee09 Merge branch 'for-6.15/intel-thc' into for-linus
- removal of deprecated PCI API calls (Philipp Stanner)
- code cleanups (Even Xu)
2025-03-26 13:51:44 +01:00
Jiri Kosina
770493524e Merge branch 'for-6.15/intel-ish' into for-linus
- intel-ish Kbuild cleanup (Jiri Kosina)
2025-03-26 13:50:46 +01:00
Jiri Kosina
e4f7cc8c36 Merge branch 'for-6.15/google' into for-linus
- small include cleanup (Wolfram Sang)
2025-03-26 13:46:56 +01:00
Jiri Kosina
b928908e9b Merge branch 'for-6.15/core' into for-linus
- differentiate warning for reserved item tag from unknown item tag, in
  accordance to 6.2.2.4 from the HID specification 1.11 (Tatsuya S)
2025-03-26 13:45:38 +01:00
Jiri Kosina
5d28bc6b49 Merge branch 'for-6.15/bpf' into for-linus
- a few hid-bpf device fixes from udev-hid-bpf; XP-Pen and Huion plus one from
  TUXEDO (Benjamin Tissoires)
2025-03-26 13:44:44 +01:00
Jiri Kosina
ac91d5c718 Merge branch 'for-6.15/apple' into for-linus
- support for Apple Touch Bars (Kerem Karabay, Aditya Garg)
2025-03-26 13:42:55 +01:00
Jiri Kosina
b3cc7428a3 Merge branch 'for-6.15/amd_sfh' into for-linus
From: Mario Limonciello <mario.limonciello@amd.com>

Some platforms include a human presence detection (HPD) sensor. When
enabled and a user is detected a wake event will be emitted from the
sensor fusion hub that software can react to.

Example use cases are "wake from suspend on approach" or to "lock
when leaving".

This is currently enabled by default on supported systems, but users
can't control it. This essentially means that wake on approach is
enabled which is a really surprising behavior to users that don't
expect it.

Instead of defaulting to enabled add a sysfs knob that users can
use to enable the feature if desirable and set it to disabled by
default.
2025-03-26 13:42:07 +01:00
Linus Torvalds
1e26c5e28c [GIT PULL for v6.15] media updates
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE+QmuaPwR3wnBdVwACF8+vY7k4RUFAmfbCbgACgkQCF8+vY7k
 4RX20A/+Lec4h7TqDC3ctPHVvZ6dN+xMjqx5RnhsJ2yo7NqrbgrZ1HAC6nNkUCAP
 ZbhVUBEVYN3pxCiA1Qj6YuainQkWW5qPIB1ACQ/spdXacluQaPuub03LXLzbn6Qh
 inojtO1v04q2LPtnl7Lv1F0aUbXQK2JPMOlByrgX/XdFYq3B91uV5Z7SeBnsSshW
 usOdh3Dv1QmIlHvlSLFlAVPAE1PdfvDmV3XmhSy4HZM+zhQjYia563F+9lj5tUe9
 F7mX7fGlh9AL2uiucH7GlW3U6+SNc0JwNr3Ra9LdBvqksU8TYp1Dt+lvqpscTyuY
 DPMZS5i/YfZPFukPNGMf7RKKP9/gaKWza684PTq5XsASUAiGwpsiyPHM2rJYXf9u
 kAzLJH7vk7sLdssgjFONwOLJlD93EXclT7myDpNCbAyD7tni7iTfGyxmNYFFLc/w
 NzqfowZfHSxYwDYzoXUGcU2lksMqWrHF+8oO2de0NUxhrLjawcGj3acCe1R4zU0W
 CoKDCI8YXoBI2YNrF1Nvnca/2qkPXi1IKyVdiDGMv4aeuja2hB8Z2IKssSP8Jjlp
 ui97q2MR/WwYAKkNTyH8F0kV6x6E5FqVbVAm6wp+d4uzi2QSGPFD8kuXwTmohYGa
 ZbVXBtjM3ZxO5rb/LsCPAPy9USR3J3Jkt5rVfaRo+EusU+8Iqig=
 =RsqI
 -----END PGP SIGNATURE-----

Merge tag 'media/v6.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media

Pull media updates from Mauro Carvalho Chehab:

 - platform: synopsys: hdmirx: Fix 64-bit division for 32-bit targets

 - vim2m: print device name after registering device

 - Synopsys DesignWare HDMI RX Driver and various fixes

 - cec/printk fixes and the removal of the vidioc_g/s_ctrl and
   vidioc_queryctrl callbacks

 - AVerMedia H789-C PCIe support and rc-core structs padding

 - Several camera sensor patches

 - uvcvideo improvements

 - visl: Fix ERANGE error when setting enum controls

 - codec fixes

 - V4L2 camera sensor patches mostly

 - chips-media: wave5: Fixes

 - Add SDM670 camera subsystem

 - Qualcomm iris video decoder driver

 - dt-bindings: update clocks for sc7280-camss

 - various fixes and enhancements

* tag 'media/v6.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (264 commits)
  media: pci: mgb4: include linux/errno.h
  media: synopsys: hdmirx: Fix signedness bug in hdmirx_parse_dt()
  media: platform: synopsys: hdmirx: Fix 64-bit division for 32-bit targets
  media: vim2m: print device name after registering device
  media: vivid: Introduce VIDEO_VIVID_OSD
  media: vivid: Move all fb_info references into vivid-osd
  media: platform: synopsys: hdmirx: Optimize struct snps_hdmirx_dev
  media: platform: synopsys: hdmirx: Remove unused HDMI audio CODEC relics
  media: platform: synopsys: hdmirx: Remove duplicated header inclusion
  media: qcom: Clean up Kconfig dependencies
  media: dvb-frontends: tda10048: Make the range of z explicit.
  media: platform: stm32: Add check for clk_enable()
  media: xilinx-tpg: fix double put in xtpg_parse_of()
  media: siano: Fix error handling in smsdvb_module_init()
  media: c8sectpfe: Call of_node_put(i2c_bus) only once in c8sectpfe_probe()
  media: i2c: tda1997x: Call of_node_put(ep) only once in tda1997x_parse_dt()
  dt-bindings: media: mediatek,vcodec: Revise description
  dt-bindings: media: mediatek,jpeg: Relax IOMMU max item count
  media: v4l2-dv-timings: prevent possible overflow in v4l2_detect_gtf()
  media: rockchip: rga: fix rga offset lookup
  ...
2025-03-25 21:00:31 -07:00
Linus Torvalds
c84907a145 auxdisplay for v6.15-1
* Refactor a couple of APIs to reduce amount of calls to memory allocator
 * Miscellaneous small fixes and improvements
 
 The following is an automated git shortlog grouped by driver:
 
 charlcd:
  -  Partially revert "Move hwidth and bwidth to struct hd44780_common"
 
 gpiolib:
  -  add gpiod_multi_set_value_cansleep()
 
 hd44780:
  -  Rename hd to hdc in hd44780_common_alloc()
  -  Call charlcd_alloc() from hd44780_common_alloc()
  -  Make use of hd44780_common_free()
  -  Introduce hd44780_common_free()
  -  Fix an API misuse in hd44780.c
 
 lcd2s:
  -  Allocate memory for custom data in charlcd_alloc()
 
 MAX6959 should select BITREVERSE:
  - MAX6959 should select BITREVERSE
 
 panel:
  -  Make use of hd44780_common_free()
  -  Fix an API misuse in panel.c
 
 seg-led-gpio:
  -  use gpiod_multi_set_value_cansleep
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEqaflIX74DDDzMJJtb7wzTHR8rCgFAmfizF8ACgkQb7wzTHR8
 rCgJQw/+Mdwx/5mFZ6GFLzVVEtDnqJx8SHs2wwBiQuA/l8vd587bbC8TtqnNZuc2
 kDucQxVdXXW4Fi5Szd+aPtCuYEKFOauLHMkn8JPLvvd/Z862k3rrYME2oDj7a7I2
 MLujywMWhlGiceNIL9lU5CnuVPW+IsUhunsahvVS98SlSoc8/aNZ3ezowUCaMTTs
 xfTAbByvf5BM8bfsZtlCldiKDxhr6VCgJCastZTwhpjtJ0GT4BpvYaz2NqbTLfpT
 6aNjCdUdNNWyzlY44MlCOQgxx+5GyyDmelNLnYnAN2/FqRWoVc1Wa9PQf+sGUSIz
 PSbkA/FIRDPZGWPmyPvEGIj9PFXlb5DCIpl1UlX+o1UuiOXuzBGK7xzs6ypRxHui
 rs14qLrtayIwklejwPBBPdYZ9MHAfL1H5DmgeBEz0yx5LXGtrYSnL3G1gtoc/BDL
 BqbV5kKaBlg/BOcsyCNcfNO0E9LaxEn9SpGchISXB28gOY6NmGcZTgrIiQdzKf5G
 PKpZ23VIKT6MtCimKSNLHIzq2aMlaIk2iXBKceqPGZ/MZeQL/CU1dWJUEL+mlnuf
 e1q3fAO1atiTDNdWR5fPxMibOpaH1VfvY29O8Tw6giaY69E2lMV5tTbK7K8a+kr/
 S6rsXCsaJvYxtarW2V4dcRyN9ihFr4KMcq4o1Dpqrh+T2fZqcDA=
 =rwYl
 -----END PGP SIGNATURE-----

Merge tag 'auxdisplay-v6.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay

Pull auxdisplay updates from Andy Shevchenko:

 - Refactor a couple of APIs to reduce amount of calls to memory
   allocator

 - Miscellaneous small fixes and improvements

* tag 'auxdisplay-v6.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay:
  auxdisplay: hd44780: Rename hd to hdc in hd44780_common_alloc()
  auxdisplay: hd44780: Call charlcd_alloc() from hd44780_common_alloc()
  auxdisplay: panel: Make use of hd44780_common_free()
  auxdisplay: hd44780: Make use of hd44780_common_free()
  auxdisplay: hd44780: Introduce hd44780_common_free()
  auxdisplay: lcd2s: Allocate memory for custom data in charlcd_alloc()
  auxdisplay: charlcd: Partially revert "Move hwidth and bwidth to struct hd44780_common"
  auxdisplay: panel: Fix an API misuse in panel.c
  auxdisplay: hd44780: Fix an API misuse in hd44780.c
  auxdisplay: MAX6959 should select BITREVERSE
  auxdisplay: seg-led-gpio: use gpiod_multi_set_value_cansleep
2025-03-25 20:54:28 -07:00
Linus Torvalds
b23d8a07ab chrome-platform: Updates for v6.15
* New
 
   - Support ACPI match for Framework systems.
   - Expose new sysfs for:
     - PD mux status for each EC-managed Type-C port.
     - EC feature of AP mode entry.
     - Setting USB mode of EC Type-C.
 -----BEGIN PGP SIGNATURE-----
 
 iIkEABYIADEWIQS0yQeDP3cjLyifNRUrxTEGBto89AUCZ+DHCxMcdHp1bmdiaUBr
 ZXJuZWwub3JnAAoJECvFMQYG2jz0djABANQJoI2yZt8w8k7mQ9qjkE3C5sZVY83Z
 uali0vVU3SnVAP9i5TVJ/RlyerwqtEaqSKfSC5p5Y7uURxnQWQ1cnYu/BQ==
 =lEz+
 -----END PGP SIGNATURE-----

Merge tag 'chrome-platform-v6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux

Pull chrome platform updates from Tzung-Bi Shih:

 - Support ACPI match for Framework systems

  - Expose new sysfs for:
     - PD mux status for each EC-managed Type-C port
     - EC feature of AP mode entry
     - Setting USB mode of EC Type-C

* tag 'chrome-platform-v6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
  platform/chrome: cros_ec_typec: Add support for setting USB mode via sysfs
  platform/chrome: cros_ec_sysfs: Expose AP_MODE_ENTRY feature state
  platform/chrome: cros_ec_sysfs: Expose PD mux status
  platform/chrome: cros_ec_lpc: Match on Framework ACPI device
  MAINTAINERS: Update maintainers for ChromeOS USBC related drivers
2025-03-25 20:51:25 -07:00
Linus Torvalds
2a2274e90a pmdomain core:
- Add dev_pm_genpd_rpm_always_on() to support more fine-grained PM
 
 pmdomain providers:
  - arm: Remove redundant state verification for the SCMI PM domain
  - bcm: Add system-wakeup support for bcm2835 via GENPD_FLAG_ACTIVE_WAKEUP
  - rockchip: Add support for regulators
  - rockchip: Use SMC call to properly inform firmware
  - sunxi: Add V853 ppu support
  - thead: Add support for RISC-V TH1520 power-domains
 
 firmware:
  - Add support for the AON firmware protocol for RISC-V THEAD
 
 cpuidle-psci:
  - Update section in MAINTAINERS for cpuidle-psci
  - Add trace support for PSCI domain-idlestates
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCgA1FiEEugLDXPmKSktSkQsV/iaEJXNYjCkFAmfimQ8XHHVsZi5oYW5z
 c29uQGxpbmFyby5vcmcACgkQ/iaEJXNYjCmp5A//QuqG0PiwrDyR/qOgOaYXHLe3
 lYohfHtLyKVO0qAxhhiRbUZQrK4yitkRUJoXHcJuIqqXXjiM3tKu5Vp5loqVpqZi
 Q8nj6gEIUA1FQjY0h8VTS+NWXA5xbsqgayzw2U6BAfKHQwsvcMXn/hT5v8d0Q2WG
 UVNb+Xz25q6qzZPbhR/wfJ8kvFkGjV1GtIG3PPwA+C31jFjdcZhU+Rlwtgu+WDZE
 yofA/pkw5jdDkODTyysYhHKpZlnX+V1yUqs2xym27M2xmbCDpsn9IM45omuFCdnh
 7dyKtG55XLd9wpAtO2DVvUWW0bhtr/zfDpWvDQdevQLjwrIdw5wdg53SE3NpNR7/
 cCWLM7OFaTJDuuK/upuT75ZKaFqEu5QV9+Na5skQhL0Tl4V9A0nNRPLQXJItGZWv
 XNfV9OxljYK8c+5fEEEB+pBymZ2LeRvw2+P3DIMSgYNwdZMudmNRWsQe2SjbC4jI
 G9XzpXw6YaIUNmI8fGGZ4U4CqMg0bOjY7zlQL2VMTe3+JJGdpCRmONT8EV/LH3PQ
 2V4dSjwoWH0lmQLo2trNDuIWj6AdGNObSL3LXSKPo6ORXg24dWdI9Dbc7PpPvOb0
 CZ9AV3SezfmkSyODI5G5ULUeH1hy4h6jn9py2SoVRS3SQyznh0HZj9kBlyuVgfmL
 mArHaUCmVHPKhAvLc1g=
 =Wihe
 -----END PGP SIGNATURE-----

Merge tag 'pmdomain-v6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm

Pull pmdomain updates from Ulf Hansson:
 "pmdomain core:
   - Add dev_pm_genpd_rpm_always_on() to support more fine-grained PM

  pmdomain providers:
   - arm: Remove redundant state verification for the SCMI PM domain
   - bcm: Add system-wakeup support for bcm2835 via GENPD_FLAG_ACTIVE_WAKEUP
   - rockchip: Add support for regulators
   - rockchip: Use SMC call to properly inform firmware
   - sunxi: Add V853 ppu support
   - thead: Add support for RISC-V TH1520 power-domains

  firmware:
   - Add support for the AON firmware protocol for RISC-V THEAD

  cpuidle-psci:
   - Update section in MAINTAINERS for cpuidle-psci
   - Add trace support for PSCI domain-idlestates"

* tag 'pmdomain-v6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm: (29 commits)
  firmware: thead: add CONFIG_MAILBOX dependency
  firmware: thead,th1520-aon: Fix use after free in th1520_aon_init()
  pmdomain: arm: scmi_pm_domain: Remove redundant state verification
  pmdomain: thead: fix TH1520_AON_PROTOCOL dependency
  pmdomain: thead: Add power-domain driver for TH1520
  dt-bindings: power: Add TH1520 SoC power domains
  firmware: thead: Add AON firmware protocol driver
  dt-bindings: firmware: thead,th1520: Add support for firmware node
  pmdomain: rockchip: add regulator dependency
  pmdomain: rockchip: add regulator support
  pmdomain: rockchip: fix rockchip_pd_power error handling
  pmdomain: rockchip: reduce indentation in rockchip_pd_power
  pmdomain: rockchip: forward rockchip_do_pmu_set_power_domain errors
  pmdomain: rockchip: cleanup mutex handling in rockchip_pd_power
  dt-bindings: power: rockchip: add regulator support
  pmdomain: rockchip: Fix build error
  pmdomain: imx: gpcv2: use proper helper for property detection
  MAINTAINERS: Update section for cpuidle-psci
  pmdomain: rockchip: Check if SMC could be handled by TA
  cpuidle: psci: Add trace for PSCI domain idle
  ...
2025-03-25 20:40:51 -07:00