Re: [PATCH v7] HID: i2c-hid: Refactor _DSM helper and add i2c-hid-acpi-prp0001 driver
Jiri Kosina <[email protected]> Mon, 3 Aug 2026 19:31:56 +0200 (CEST)
| Newsgroups | dev.linux.lists.sashiko-reviews,org.kernel.vger.linux-input,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 30 Jun 2026, =E8=B0=A2=E8=87=B4=E9=82=A6 (XIE Zhibang) wrote: > Move the _DSM call that gets the HID descriptor address from > i2c-hid-acpi.c into i2c-hid-acpi.h as a static inline so both the ACPI > and the new PRP0001 driver can use it. While refactoring, move the > blacklist check and the _DSM call to the top of probe() to avoid a > pointless alloc when the device is blacklisted or does not implement the > _DSM. >=20 > Some devices, for example the Lenovo KaiTian N60d and Inspur CP300L3, > are declared with _HID "PRP0001" and _DSD compatible "hid-over-i2c" but > lack "hid-descr-addr" from the _DSD and provide the HID descriptor > address only through an ACPI _DSM. The OF driver fails to probe them > because it requires hid-descr-addr. Add a new driver that handles these > devices by calling the shared _DSM helper. >=20 > Link: https://lore.kernel.org/tencent_F6FC553D1BB737FC00062AD0FEF43C580F0= [email protected] > Fixes: b33752c30023 ("HID: i2c-hid: Reorganize so ACPI and OF are separat= e modules") > Signed-off-by: =E8=B0=A2=E8=87=B4=E9=82=A6 (XIE Zhibang) <[email protected]= m> > --- > v2: Name the unused parameter and document why > acpi_device_fix_up_power() is skipped. > v3: Add a dev_warn() asking users to contact vendors for firmware > updates, and use existing locals in devm_kzalloc() and > acpi_device_fix_up_power(). > v4: Double the power-up delay from 250ms to 500ms. > v5: Document why of_match_ptr() on the of_match_table is safe when > CONFIG_OF=3Dn. > v6: Increase power-up delay from 500ms to 750ms. During cold boot on low > battery, 500ms causes non-fatal I2C transfer errors (-ENXIO). 750ms > fixes them. > v7: Drop I2C_HID_ACPI_PRP0001 Kconfig entry and build the driver under > CONFIG_I2C_HID_ACPI instead. Also wrap acpi_handle_err parameters across > two lines. Applied, thanks. --=20 Jiri Kosina SUSE Labs