This short series removes the obsolete cm109 driver for mid-2000s USB VoIP/Skype handsets based on the C-Media CM109 USB audio and HID controller (0x0d8c:0x000e) and drops its module selection from ppc6xx_defconfig.
The driver was written in 2007-2008 (modeled after yealink) to poll a 4x4 phone keypad matrix and toggle a buzzer wired to the chip's GPIO pins across four phone models (Komunikate KIP1000, Genius G-talk, Allied-Telesis Corega USBPH01, and ATCom AU-100), relying on a module parameter (phone=...) to choose the keymap. The mid-2000s userspace VoIP/Skype bridge ecosystem for these handsets is long defunct, and the driver has seen no new hardware support since 2008 while continuing to attract syzbot crashes in its custom URB state machine. Furthermore, because 0x0d8c:0x000e is the generic default C-Media CM109 VID:PID and was added to hid_ignore_list[] so cm109 could claim the USB interface, cm109 actively interferes with non-phone CM109 devices still in use today: amateur radio interfaces (Direwolf, AllStarLink, SVXLink, UniPager, Hamlib) have to blacklist cm109 so usbhid can expose /dev/hidraw* and so opening the input device does not pulse the GPIO pins and key the radio transmitter's PTT line, while standard USB headsets with 0x0d8c:0x000e can bind to usbhid directly via the chip's standard HID Consumer Page volume and mute descriptors once the hid_ignore_list[] entry is dropped. Thanks. Dmitry Torokhov (2): powerpc/configs: drop CONFIG_INPUT_CM109 from ppc6xx_defconfig Input: cm109 - remove driver arch/powerpc/configs/ppc6xx_defconfig | 1 - drivers/hid/hid-ids.h | 1 - drivers/hid/hid-quirks.c | 1 - drivers/input/misc/Kconfig | 12 - drivers/input/misc/Makefile | 1 - drivers/input/misc/cm109.c | 940 -------------------------- 6 files changed, 956 deletions(-) delete mode 100644 drivers/input/misc/cm109.c -- 2.56.0.567.gdb80ae8cd5-goog
