summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Pfetsch <spfetsch@google.com>2021-07-27 22:11:48 -0700
committerDavid Chen <davidycchen@google.com>2021-09-17 05:39:03 +0000
commit026d7decbc0844efc4f34ce4e45b176d0c730d31 (patch)
tree72dd6f44f8cd33efe0f5e6e462f86393739578ab
parentf9c46b83e1d2b35ce7235d434e853b758212597c (diff)
downloadfts_touch-026d7decbc0844efc4f34ce4e45b176d0c730d31.tar.gz
ftm5: create unique touch offload device name
Append the phone device name to the touch_offload device name. This enables a multi-display device to uniquely identify its individual touchscreen panels. Bug: 174191163 Signed-off-by: Steve Pfetsch <spfetsch@google.com> Change-Id: I05eec83e4b7738397550acbb84a120b04f7aca0f
-rw-r--r--ftm5/fts.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/ftm5/fts.c b/ftm5/fts.c
index 787de0b..9a3a550 100644
--- a/ftm5/fts.c
+++ b/ftm5/fts.c
@@ -6168,6 +6168,8 @@ static int parse_dt(struct device *dev, struct fts_hw_platform_data *bdata)
u32 coords[2];
#if IS_ENABLED(CONFIG_TOUCHSCREEN_OFFLOAD)
u8 offload_id[4];
+
+ struct fts_ts_info *info = dev_get_drvdata(dev);
#endif
if (of_property_read_u8_array(np, "st,dchip_id", bdata->dchip_id, 2)) {
@@ -6304,8 +6306,16 @@ static int parse_dt(struct device *dev, struct fts_hw_platform_data *bdata)
bdata->device_name = NULL;
of_property_read_string(np, "st,device_name",
&bdata->device_name);
- if(!bdata->device_name)
+ if(!bdata->device_name) {
bdata->device_name = FTS_TS_DRV_NAME;
+#if IS_ENABLED(CONFIG_TOUCHSCREEN_OFFLOAD)
+ scnprintf(info->offload.device_name, 32, "touch_offload");
+ } else {
+ scnprintf(info->offload.device_name, 32, "touch_offload_%s",
+ info->board->device_name);
+ info->offload.multiple_panels = true;
+#endif
+ }
dev_info(dev, "device_name = %s\n", bdata->device_name);
if (of_property_read_u8(np, "st,grip_area", &bdata->fw_grip_area))