[PATCH 00/26] sh: maple: cleanup and modernize input drivers
Dmitry Torokhov <[email protected]> Fri, 03 Jul 2026 22:57:23 -0700
| Newsgroups | org.kernel.vger.linux-sh,org.infradead.lists.linux-mtd,org.kernel.vger.linux-input,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
This series aims to modernize the Maple bus core and its input drivers (keyboard, mouse, joystick/controller), addressing build failures, race conditions, and coding style issues: - fixes a build failure in vmu-flash.c due to missing include - fixes keyboard press detection logic (eliminating a 1-poll delay and redundant press events) - corrects D-pad axis limits and optimizes event reporting using branchless calculations - implements open() and close() in maple_keyb so all Maple input drivers only poll when actively open - introduces callback_mutex in the Maple bus core to avoid potential UAF when stopping/unbinding the drivers - removes the unused driver field from struct maple_device (write-only since 2008) and eliminates the redundant maple_unsupported_device dummy driver - implements standard bus-level probe() and remove() methods for the Maple bus - converts all three Maple input drivers to use managed resources, and fixes style issues reported by checkpatch. This compiles but has not been tested on real hardware. Signed-off-by: Dmitry Torokhov <[email protected]> --- Dmitry Torokhov (26): sh: maple: include linux/device.h in linux/maple.h Input: maple_keyb - fix key press detection Input: maplecontrol - only enable present axes Input: maplemouse - stop polling and clear callback on close Input: maplecontrol - stop polling and clear callback on close Input: maplecontrol - simplify maple_device retrieval in open/close Input: maple_keyb - implement open and close methods Input: maplemouse - remove redundant drvdata resetting Input: maple_keyb - remove redundant drvdata resetting Input: maplecontrol - remove redundant drvdata resetting Input: maplemouse - remove unused mdev->driver assignment Input: maplecontrol - remove unused mdev->driver assignment Input: maple_keyb - remove unused mdev->driver assignment mtd: maps: vmu-flash: remove unused mdev->driver assignment sh: maple: remove not needed maple_unsupported_device driver sh: maple: remove unused driver field from struct maple_device sh: maple: implement bus-level probe/remove sh: maple: introduce callback_mutex in maple_device Input: maple_keyb - remove redundant mutex and remove method Input: maple_keyb - convert to devm Input: maplemouse - convert to devm Input: maplecontrol - convert to devm Input: maple_keyb - fix style issues Input: maplemouse - fix style issues Input: maplecontrol - fix style issues Input: maple_keyb - remove redundant 'new' buffer from struct dc_kbd drivers/input/joystick/maplecontrol.c | 98 +++++++++------------------ drivers/input/keyboard/maple_keyb.c | 124 +++++++++++++--------------------- drivers/input/mouse/maplemouse.c | 55 ++++----------- drivers/mtd/maps/vmu-flash.c | 15 ++-- drivers/sh/maple/maple.c | 61 ++++++++++------- include/linux/maple.h | 8 ++- 6 files changed, 140 insertions(+), 221 deletions(-) --- base-commit: 2b763db0c2763d6bf73d7d3e69665222d1f377cf change-id: 20260628-b4-maple-cleanup-884682ae108b Thanks. -- Dmitry