|
@@ -784,10 +784,35 @@ static int at91_pinconf_set(struct pinctrl_dev *pctldev,
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+#define DBG_SHOW_FLAG(flag) do { \
|
|
|
|
+ if (config & flag) { \
|
|
|
|
+ if (num_conf) \
|
|
|
|
+ seq_puts(s, "|"); \
|
|
|
|
+ seq_puts(s, #flag); \
|
|
|
|
+ num_conf++; \
|
|
|
|
+ } \
|
|
|
|
+} while (0)
|
|
|
|
+
|
|
static void at91_pinconf_dbg_show(struct pinctrl_dev *pctldev,
|
|
static void at91_pinconf_dbg_show(struct pinctrl_dev *pctldev,
|
|
struct seq_file *s, unsigned pin_id)
|
|
struct seq_file *s, unsigned pin_id)
|
|
{
|
|
{
|
|
|
|
+ unsigned long config;
|
|
|
|
+ int ret, val, num_conf = 0;
|
|
|
|
+
|
|
|
|
+ ret = at91_pinconf_get(pctldev, pin_id, &config);
|
|
|
|
+
|
|
|
|
+ DBG_SHOW_FLAG(MULTI_DRIVE);
|
|
|
|
+ DBG_SHOW_FLAG(PULL_UP);
|
|
|
|
+ DBG_SHOW_FLAG(PULL_DOWN);
|
|
|
|
+ DBG_SHOW_FLAG(DIS_SCHMIT);
|
|
|
|
+ DBG_SHOW_FLAG(DEGLITCH);
|
|
|
|
+ DBG_SHOW_FLAG(DEBOUNCE);
|
|
|
|
+ if (config & DEBOUNCE) {
|
|
|
|
+ val = config >> DEBOUNCE_VAL_SHIFT;
|
|
|
|
+ seq_printf(s, "(%d)", val);
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
|
|
|
|
static void at91_pinconf_group_dbg_show(struct pinctrl_dev *pctldev,
|
|
static void at91_pinconf_group_dbg_show(struct pinctrl_dev *pctldev,
|