Skip to content

Commit 0d2746a

Browse files
committed
Merge tag 'input-for-v6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input fixes from Dmitry Torokhov: - a couple fixups for adp5589-keys driver - recently added driver for PixArt PS/2 touchpads is dropped temporarily because its detection routine is too greedy and mis-identifies devices from other vendors as PixArt devices * tag 'input-for-v6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: adp5589-keys - fix adp5589_gpio_get_value() Input: adp5589-keys - fix NULL pointer dereference Revert "Input: Add driver for PixArt PS/2 touchpad"
2 parents 359cdf5 + c684771 commit 0d2746a

File tree

7 files changed

+14
-377
lines changed

7 files changed

+14
-377
lines changed

drivers/input/keyboard/adp5589-keys.c

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -391,10 +391,17 @@ static int adp5589_gpio_get_value(struct gpio_chip *chip, unsigned off)
391391
struct adp5589_kpad *kpad = gpiochip_get_data(chip);
392392
unsigned int bank = kpad->var->bank(kpad->gpiomap[off]);
393393
unsigned int bit = kpad->var->bit(kpad->gpiomap[off]);
394+
int val;
394395

395-
return !!(adp5589_read(kpad->client,
396-
kpad->var->reg(ADP5589_GPI_STATUS_A) + bank) &
397-
bit);
396+
mutex_lock(&kpad->gpio_lock);
397+
if (kpad->dir[bank] & bit)
398+
val = kpad->dat_out[bank];
399+
else
400+
val = adp5589_read(kpad->client,
401+
kpad->var->reg(ADP5589_GPI_STATUS_A) + bank);
402+
mutex_unlock(&kpad->gpio_lock);
403+
404+
return !!(val & bit);
398405
}
399406

400407
static void adp5589_gpio_set_value(struct gpio_chip *chip,
@@ -936,10 +943,9 @@ static int adp5589_keypad_add(struct adp5589_kpad *kpad, unsigned int revid)
936943

937944
static void adp5589_clear_config(void *data)
938945
{
939-
struct i2c_client *client = data;
940-
struct adp5589_kpad *kpad = i2c_get_clientdata(client);
946+
struct adp5589_kpad *kpad = data;
941947

942-
adp5589_write(client, kpad->var->reg(ADP5589_GENERAL_CFG), 0);
948+
adp5589_write(kpad->client, kpad->var->reg(ADP5589_GENERAL_CFG), 0);
943949
}
944950

945951
static int adp5589_probe(struct i2c_client *client)
@@ -983,7 +989,7 @@ static int adp5589_probe(struct i2c_client *client)
983989
}
984990

985991
error = devm_add_action_or_reset(&client->dev, adp5589_clear_config,
986-
client);
992+
kpad);
987993
if (error)
988994
return error;
989995

@@ -1010,8 +1016,6 @@ static int adp5589_probe(struct i2c_client *client)
10101016
if (error)
10111017
return error;
10121018

1013-
i2c_set_clientdata(client, kpad);
1014-
10151019
dev_info(&client->dev, "Rev.%d keypad, irq %d\n", revid, client->irq);
10161020
return 0;
10171021
}

drivers/input/mouse/Kconfig

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -69,18 +69,6 @@ config MOUSE_PS2_LOGIPS2PP
6969

7070
If unsure, say Y.
7171

72-
config MOUSE_PS2_PIXART
73-
bool "PixArt PS/2 touchpad protocol extension" if EXPERT
74-
default y
75-
depends on MOUSE_PS2
76-
help
77-
This driver supports the PixArt PS/2 touchpad found in some
78-
laptops.
79-
Say Y here if you have a PixArt PS/2 TouchPad connected to
80-
your system.
81-
82-
If unsure, say Y.
83-
8472
config MOUSE_PS2_SYNAPTICS
8573
bool "Synaptics PS/2 mouse protocol extension" if EXPERT
8674
default y

drivers/input/mouse/Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ psmouse-$(CONFIG_MOUSE_PS2_ELANTECH) += elantech.o
3232
psmouse-$(CONFIG_MOUSE_PS2_OLPC) += hgpk.o
3333
psmouse-$(CONFIG_MOUSE_PS2_LOGIPS2PP) += logips2pp.o
3434
psmouse-$(CONFIG_MOUSE_PS2_LIFEBOOK) += lifebook.o
35-
psmouse-$(CONFIG_MOUSE_PS2_PIXART) += pixart_ps2.o
3635
psmouse-$(CONFIG_MOUSE_PS2_SENTELIC) += sentelic.o
3736
psmouse-$(CONFIG_MOUSE_PS2_TRACKPOINT) += trackpoint.o
3837
psmouse-$(CONFIG_MOUSE_PS2_TOUCHKIT) += touchkit_ps2.o

drivers/input/mouse/pixart_ps2.c

Lines changed: 0 additions & 300 deletions
This file was deleted.

0 commit comments

Comments
 (0)