Internal Use - Confidential +AD4- -----Original Message----- +AD4- From: Aleksandrs Vinarskis +ADw-alex.vinarskis+AEA-gmail.com+AD4- +AD4- Sent: Thursday, October 31, 2024 9:32 AM +AD4- +AD4- Resolve keyboard not working out of the box for Dell XPS 9345 13+ACI- +AD4- codenamed 'tributo'. X1E80100-based laptop's initial support is currently being +AD4- upstreamed +AFs-1+AF0-. +AD4- +AD4- In present state, keyboard is succesfully initialized, however attempt to type +AD4- anything throws 'incomplete report' errors. When utilizing +AD4- I2C+AF8-HID+AF8-QUIRK+AF8-BAD+AF8-INPUT+AF8-SIZE quirk the error is gone, however raw data +AD4- coming from the keyboard is always the same, no matter the key pressed. Issue +AD4- 'resolves' itself when suspending and resuming the device. +AD4- +AD4- It appears that calling power on command one more time after device +AD4- initialization before finishing off the probing fixes this weird behavior, and +AD4- keyboard works right away. +AD4- +AD4- Introduce a new quirk for such behaviour, and enable it for particular +AD4- keyboard. +AD4- Vendor is shown as 'QTEC', however device id is reported as 0000. Given that +AD4- vendor was not present before, using HID+AF8-ANY+AF8-ID to match the device should +AD4- be okay in this case. +AD4- +AD4- In v1 it was suggested to make a dedicated i2c-of-qtec driver, but I was not sure +AD4- how to proceed at the time. I have now drafted a dedicated driver, and it really +AD4- is just probe method being extended to call powerup command again. Given +AD4- that a similarly 'ugly' quirk was just merged to i2c-hid-core.c for a Goodix +AD4- device +AFs-2+AF0-, and that (IMO) creating a dedicated driver for such a small change +AD4- without any plan on extending it will be just polluting, I am asking you to +AD4- consider this change again. Alternatively, if it is yet still strongly preferred to +AD4- have a dedicated driver to include this quirk, please let me know so I can +AD4- proceed accordingly. +AD4- +AD4- -------- For the series: Reviewed-by: Laurentiu Tudor +ADw-Laurentiu.Tudor1+AEA-dell.com+AD4- Tested-by: Laurentiu Tudor +ADw-Laurentiu.Tudor1+AEA-dell.com+AD4- --- Thanks +ACY- Best Regards, Laurentiu +AD4- Changes to V1: +AD4- +ACo- Rebase on top of latest linux-next +AD4- +ACo- Update coverletter's reasoning and links +AD4- +ACo- link: +AD4- https://urldefense.com/v3/+AF8AXw-https://lore.kernel.org/all/20240925100303.911 +AD4- 2-1- +AD4- alex.vinarskis+AEA-gmail.com/+AF8AXwA7ACEAIQ-LpKI+ACE-hTYUmNdAbx06nnU3DlrMQn9PGzi4y9Ne +AD4- SOTjPf2SPO67ore1XymZjywoQN19RvKaVHbNs5VLc9+AF8-77mwvQAT8em7dODeJ +AD4- +ACQ- +AFs-lore+AFs-.+AF0-kernel+AFs-.+AF0-org+AF0- +AD4- +AD4- Aleksandrs Vinarskis (2): +AD4- HID: i2c-hid: introduce re-power-on quirk +AD4- HID: i2c-hid: introduce qtec vendor, enable re-power-on quirk +AD4- +AD4- drivers/hid/hid-ids.h +AHw- 2 +-+- +AD4- drivers/hid/i2c-hid/i2c-hid-core.c +AHw- 12 +-+-+-+-+-+-+-+-+-+-+-- +AD4- 2 files changed, 13 insertions(+-), 1 deletion(-) +AD4- +AD4- -- +AD4- 2.45.2