armbian_build/patch/kernel/archive/sunxi-5.19/patches.megous/input-touchscreen-goodix-Add-config-debugfs-file.patch
The-going 97c6e5e9dd
sunxi-5.19: Initial state for megous patches (#4048)
* sunxi-5.19: Initial state for megous patches

* Add the ability to do 5.19

* Move to 5.19

- tested both
- removed broken Opi Zero xradio driver https://armbian.atlassian.net/browse/AR-1280

* sunxi-5.19: fix tag for switch

* sunxi-5.19: Initial state for armbian patches

* sunxi-5.19: Add armbian patches to series.conf file

* sanxi-5.19: Add other 2 patches

* sunxi-5.19: Limit to use the 'wireless/xradio' module

Limit the kernel version to less than 5.19 to use
the 'wireless/xradio' module

Co-authored-by: Igor Pecovnik <igor.pecovnik@gmail.com>
2022-08-05 21:23:49 +03:00

76 lines
2.2 KiB
Diff

From 79455d9b879b241d7732b980be6b1f3163877b7f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Mon, 22 Jun 2020 17:17:09 +0200
Subject: [PATCH 090/417] input: touchscreen: goodix: Add config debugfs file
Signed-off-by: Ondrej Jirman <megi@xff.cz>
---
drivers/input/touchscreen/goodix.c | 17 +++++++++++++++++
drivers/input/touchscreen/goodix.h | 1 +
2 files changed, 18 insertions(+)
diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c
index aa45a9fee..1fe47eb00 100644
--- a/drivers/input/touchscreen/goodix.c
+++ b/drivers/input/touchscreen/goodix.c
@@ -22,6 +22,7 @@
#include <linux/slab.h>
#include <linux/acpi.h>
#include <linux/of.h>
+#include <linux/debugfs.h>
#include <asm/unaligned.h>
#include "goodix.h"
@@ -1023,6 +1024,16 @@ static int goodix_get_gpio_config(struct goodix_ts_data *ts)
return 0;
}
+static int ts_config_bin_show(struct seq_file *s, void *data)
+{
+ struct goodix_ts_data *ts = s->private;
+
+ seq_write(s, ts->config, ts->chip->config_len);
+
+ return 0;
+}
+DEFINE_SHOW_ATTRIBUTE(ts_config_bin);
+
/**
* goodix_read_config - Read the embedded configuration of the panel
*
@@ -1061,6 +1072,10 @@ static void goodix_read_config(struct goodix_ts_data *ts)
}
ts->chip->calc_config_checksum(ts);
+
+ ts->debug_root = debugfs_create_dir("goodix", NULL);
+ debugfs_create_file("config.bin", 0444, ts->debug_root, ts,
+ &ts_config_bin_fops);
}
/**
@@ -1395,6 +1410,8 @@ static int goodix_ts_remove(struct i2c_client *client)
if (ts->load_cfg_from_disk)
wait_for_completion(&ts->firmware_loading_complete);
+ debugfs_remove(ts->debug_root);
+
return 0;
}
diff --git a/drivers/input/touchscreen/goodix.h b/drivers/input/touchscreen/goodix.h
index 87797cc88..7c44aa110 100644
--- a/drivers/input/touchscreen/goodix.h
+++ b/drivers/input/touchscreen/goodix.h
@@ -104,6 +104,7 @@ struct goodix_ts_data {
u8 main_clk[GOODIX_MAIN_CLK_LEN];
int bak_ref_len;
u8 *bak_ref;
+ struct dentry *debug_root;
};
int goodix_i2c_read(struct i2c_client *client, u16 reg, u8 *buf, int len);
--
2.35.3