Re: [PATCH 07/10] HID: apple: Add support for DockChannel HID keyboards
Sasha Finkelstein <[email protected]>
| Newsgroups | dev.linux.lists.asahi,dev.linux.lists.iommu,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-input,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
> On Jun 30, 2026, at 14:54, Michael Reeves via B4 Relay <[email protected]> wrote: > > @@ -659,6 +669,7 @@ static void apple_battery_timer_tick(struct timer_list *t) > /* > * MacBook JIS keyboard has wrong logical maximum > * Magic Keyboard JIS has wrong logical maximum > + * Internal DockChannel keyboards can advertise oversized report sizes > */ > static const __u8 *apple_report_fixup(struct hid_device *hdev, __u8 *rdesc, > unsigned int *rsize) > @@ -699,6 +710,27 @@ static const __u8 *apple_report_fixup(struct hid_device *hdev, __u8 *rdesc, > rdesc[3] = 0x06; > } > > + if (apple_is_dockchannel_keyboard(hdev) && *rsize >= 5) { > + int i; > + > + for (i = 0; i <= *rsize - 5; i++) { > + if (rdesc[i] == 0x76 && rdesc[i + 1] == 0x00 && > + rdesc[i + 2] == 0x40 && rdesc[i + 3] == 0x95) { > + u8 count = rdesc[i + 4]; > + > + if (count > 0 && count < 32) { > + hid_info(hdev, > + "fixing up DockChannel report size\n"); > + rdesc[i] = 0x75; > + rdesc[i + 1] = 0x08; > + rdesc[i + 2] = 0x96; > + rdesc[i + 3] = 0x00; > + rdesc[i + 4] = count * 8; > + } > + } > + } > + } > + > return rdesc; > } > It looks like this section is duplicated in the following commit (8). Is that correct?