[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240703213756.3375978-1-dmitry.torokhov@gmail.com>
Date: Wed, 3 Jul 2024 14:37:47 -0700
From: Dmitry Torokhov <dmitry.torokhov@...il.com>
To: linux-input@...r.kernel.org
Cc: Benjamin Tissoires <bentiss@...nel.org>,
Jeff LaBundy <jeff@...undy.com>,
linux-kernel@...r.kernel.org
Subject: [PATCH v2 0/7] Simplify event handling logic in input core
This series tries to untangle somewhat convoluted logic in the input
event processing in the input core by realizing that input handler can
be either a filter, or a handler that handles a single event at a time,
or a handler that can handle a sequence of events, but should not mix
the 3 behaviors in one handler. This allows us to reduce both filter
functionality and single-event handling functionality to batch handling
and have the main event handling path to only deal with
input_handle->events() batch method.
v2: addressed comments from Benjamin:
- added missing patch to remove evdev->event() implementation
- allow not specifying any event handling method to satisfy kgdboc
handler
- expanded comment on order of running input handlers when passing
events
- split pre-allocation into 2 patches and moved removal of count check
into 3rd patch.
Dmitry Torokhov (7):
Input: evdev - remove ->event() method
Input: make sure input handlers define only one processing method
Input: make events() method return number of events processed
Input: simplify event handling logic
Input: rearrange input_alloc_device() to prepare for preallocating of vals
Input: preallocate memory to hold event values
Input: do not check number of events in input_pass_values()
drivers/input/evdev.c | 16 +--
drivers/input/input.c | 230 ++++++++++++++++++++++++++++--------------
include/linux/input.h | 7 +-
3 files changed, 163 insertions(+), 90 deletions(-)
--
2.45.2.803.g4e1b14247a-goog
Powered by blists - more mailing lists