diff options
author | Wendly Li <wendlyli@google.com> | 2023-04-21 11:28:12 +0000 |
---|---|---|
committer | Wendly Li <wendlyli@google.com> | 2023-04-25 09:30:03 +0000 |
commit | ccfceebe1ed117b11eade0368cf67a796eed82c1 (patch) | |
tree | 125830b4611ee5d334175d77d49f730ab7e53034 | |
parent | 744a775a8fe2184657fd3a3fa637715d3e1d40f0 (diff) | |
download | common-ccfceebe1ed117b11eade0368cf67a796eed82c1.tar.gz |
touch/gti: add sysfs node for offload id (w/ 0400 permission)
Bug: 243079285
Test: Build pass and sysfs access successful
Change-Id: I97eaf7d417ee221887880781f3da970d599a77cd
Signed-off-by: Wendly Li <wendlyli@google.com>
-rw-r--r-- | goog_touch_interface.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/goog_touch_interface.c b/goog_touch_interface.c index b2d35b0..5f2597c 100644 --- a/goog_touch_interface.c +++ b/goog_touch_interface.c @@ -363,6 +363,8 @@ static ssize_t offload_enabled_show(struct device *dev, struct device_attribute *attr, char *buf); static ssize_t offload_enabled_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t size); +static ssize_t offload_id_show(struct device *dev, + struct device_attribute *attr, char *buf); static ssize_t panel_id_show(struct device *dev, struct device_attribute *attr, char *buf); static ssize_t ping_show(struct device *dev, @@ -406,7 +408,8 @@ static DEVICE_ATTR_RO(fw_ver); static DEVICE_ATTR_RW(irq_enabled); static DEVICE_ATTR_RW(mf_mode); static DEVICE_ATTR_RW(offload_enabled); -static DEVICE_ATTR_RO(panel_id); +static DEVICE_ATTR_ADMIN_RO(offload_id); +static DEVICE_ATTR_ADMIN_RO(panel_id); static DEVICE_ATTR_RO(ping); static DEVICE_ATTR_RW(reset); static DEVICE_ATTR_RW(scan_mode); @@ -428,6 +431,7 @@ static struct attribute *goog_attributes[] = { &dev_attr_irq_enabled.attr, &dev_attr_mf_mode.attr, &dev_attr_offload_enabled.attr, + &dev_attr_offload_id.attr, &dev_attr_panel_id.attr, &dev_attr_ping.attr, &dev_attr_reset.attr, @@ -855,6 +859,19 @@ static ssize_t offload_enabled_store(struct device *dev, return size; } +static ssize_t offload_id_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + ssize_t buf_idx = 0; + struct goog_touch_interface *gti = dev_get_drvdata(dev); + + buf_idx += scnprintf(buf + buf_idx, PAGE_SIZE - buf_idx, "result: %c%c%c%c\n", + gti->offload_id_byte[0], gti->offload_id_byte[1], gti->offload_id_byte[2], + gti->offload_id_byte[3]); + GOOG_INFO(gti, "%s", buf); + return buf_idx; +} + static ssize_t panel_id_show(struct device *dev, struct device_attribute *attr, char *buf) { |