mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-26 17:01:14 +00:00
54 lines
1.8 KiB
Diff
54 lines
1.8 KiB
Diff
|
From a97af221c8c31e5ec21f46064bfd3f176248a14a Mon Sep 17 00:00:00 2001
|
||
|
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||
|
Date: Wed, 8 Nov 2023 16:20:27 +0000
|
||
|
Subject: [PATCH 0742/1085] input: goodix: Include I2C details in names for the
|
||
|
devices
|
||
|
|
||
|
libinput uses the input device name alone. If you have two
|
||
|
identical input devices, then there is no way to differentiate
|
||
|
between them, and in the case of touchscreens that means no
|
||
|
way to associate them with the appropriate display device.
|
||
|
|
||
|
Add the I2C bus and address to the start of the input device
|
||
|
name so that the name is always unique within the system.
|
||
|
|
||
|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||
|
---
|
||
|
drivers/input/touchscreen/goodix.c | 5 ++++-
|
||
|
drivers/input/touchscreen/goodix.h | 3 +++
|
||
|
2 files changed, 7 insertions(+), 1 deletion(-)
|
||
|
|
||
|
--- a/drivers/input/touchscreen/goodix.c
|
||
|
+++ b/drivers/input/touchscreen/goodix.c
|
||
|
@@ -1194,7 +1194,10 @@ static int goodix_configure_dev(struct g
|
||
|
return -ENOMEM;
|
||
|
}
|
||
|
|
||
|
- ts->input_dev->name = "Goodix Capacitive TouchScreen";
|
||
|
+ snprintf(ts->name, GOODIX_NAME_MAX_LEN, "%s Goodix Capacitive TouchScreen",
|
||
|
+ dev_name(&ts->client->dev));
|
||
|
+
|
||
|
+ ts->input_dev->name = ts->name;
|
||
|
ts->input_dev->phys = "input/ts";
|
||
|
ts->input_dev->id.bustype = BUS_I2C;
|
||
|
ts->input_dev->id.vendor = 0x0416;
|
||
|
--- a/drivers/input/touchscreen/goodix.h
|
||
|
+++ b/drivers/input/touchscreen/goodix.h
|
||
|
@@ -57,6 +57,8 @@
|
||
|
#define GOODIX_CONFIG_MAX_LENGTH 240
|
||
|
#define GOODIX_MAX_KEYS 7
|
||
|
|
||
|
+#define GOODIX_NAME_MAX_LEN 38
|
||
|
+
|
||
|
enum goodix_irq_pin_access_method {
|
||
|
IRQ_PIN_ACCESS_NONE,
|
||
|
IRQ_PIN_ACCESS_GPIO,
|
||
|
@@ -91,6 +93,7 @@ struct goodix_ts_data {
|
||
|
enum gpiod_flags gpiod_rst_flags;
|
||
|
char id[GOODIX_ID_MAX_LEN + 1];
|
||
|
char cfg_name[64];
|
||
|
+ char name[GOODIX_NAME_MAX_LEN];
|
||
|
u16 version;
|
||
|
bool reset_controller_at_probe;
|
||
|
bool load_cfg_from_disk;
|