mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-25 00:52:45 -04:00
Input: ALPS - use function pointers for different protocol handlers
In anticipation of adding more ALPS protocols and more per-device quirks, use function pointers instead of switch statements to call functions that differ from one device to the next. Signed-off-by: Kevin Cernekee <cernekee@gmail.com> Tested-by: Dave Turvene <dturvene@dahetral.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
committed by
Dmitry Torokhov
parent
b5d6b851ea
commit
24af5cb95f
@@ -72,6 +72,9 @@ struct alps_nibble_commands {
|
||||
* mask0, should match byte0.
|
||||
* @mask0: The mask used to check the first byte of the report.
|
||||
* @flags: Additional device capabilities (passthrough port, trackstick, etc.).
|
||||
* @hw_init: Protocol-specific hardware init function.
|
||||
* @process_packet: Protocol-specific function to process a report packet.
|
||||
* @set_abs_params: Protocol-specific function to configure the input_dev.
|
||||
* @prev_fin: Finger bit from previous packet.
|
||||
* @multi_packet: Multi-packet data in progress.
|
||||
* @multi_data: Saved multi-packet data.
|
||||
@@ -94,6 +97,10 @@ struct alps_data {
|
||||
unsigned char byte0, mask0;
|
||||
unsigned char flags;
|
||||
|
||||
int (*hw_init)(struct psmouse *psmouse);
|
||||
void (*process_packet)(struct psmouse *psmouse);
|
||||
void (*set_abs_params)(struct alps_data *priv, struct input_dev *dev1);
|
||||
|
||||
int prev_fin;
|
||||
int multi_packet;
|
||||
unsigned char multi_data[6];
|
||||
|
||||
Reference in New Issue
Block a user