[PATCH] pinctrl: samsung: add pin_dbg_show callback for debugfs
From: Chanho Park <hidden>
Date: 2018-03-27 13:47:40
Also in:
linux-gpio, linux-samsung-soc
Hi Krzysztof, First of all, thanks for your review. On 03/27/2018 04:07 PM, Krzysztof Kozlowski wrote:
On Mon, Mar 26, 2018 at 5:27 PM, Chanho Park [off-list ref] wrote:quoted
This patch adds a samsung_pin_dbg_show function to implement the pin_dbg_show callback function which can be used to show pin confuration values. Basically, it can show pin setting values by accessing the "pins" node like below: $ cat pins pin 0 (gpy7-0) CON(0x0) DAT(0x1) PUD(0x1) DRV(0x0) CON_PDN(0x0) PUD_PDN(0x0) Signed-off-by: Chanho Park <redacted> --- drivers/pinctrl/samsung/pinctrl-samsung.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c index 336e88d7bdb9..bdec0cbd64f1 100644 --- a/drivers/pinctrl/samsung/pinctrl-samsung.c +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c@@ -279,6 +279,30 @@ static int samsung_dt_node_to_map(struct pinctrl_dev *pctldev, return 0; } +#ifdef CONFIG_DEBUG_FS +/* Forward declaration which can be used by samsung_pin_dbg_show */ +static int samsung_pinconf_rw(struct pinctrl_dev *pctldev, unsigned int pin, + unsigned long *config, bool set); +static char *reg_names[] = {"CON", "DAT", "PUD", "DRV", "CON_PDN", "PUD_PDN"};This should be static const char. Please also add an empty line here.
Okay. I'll fix it and use samsung_pinconf_get forward declaration.
quoted
+static void samsung_pin_dbg_show(struct pinctrl_dev *pctldev, + struct seq_file *s, unsigned int pin) +{ + enum pincfg_type cfg_type; + unsigned long config; + int ret; + + for (cfg_type = 0; cfg_type < PINCFG_TYPE_NUM; cfg_type++) { + config = PINCFG_PACK(cfg_type, 0); + ret = samsung_pinconf_rw(pctldev, pin, &config, false);Use samsung_pinconf_get().quoted
+ if (ret == -EINVAL)if (ret < 0)
Okay. I'll apply this next patch. Best Regards, Chanho Park