Skip to content

Commit 03d9eca

Browse files
committed
pinctrl: lynxpoint: Implement ->pin_dbg_show()
The introduced callback ->pin_dbg_show() is useful for debugging. Reviewed-by: Linus Walleij <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Mika Westerberg <[email protected]>
1 parent 7f32d37 commit 03d9eca

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

drivers/pinctrl/intel/pinctrl-lynxpoint.c

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,10 +297,33 @@ static int lp_get_group_pins(struct pinctrl_dev *pctldev,
297297
return 0;
298298
}
299299

300+
static void lp_pin_dbg_show(struct pinctrl_dev *pctldev, struct seq_file *s,
301+
unsigned int pin)
302+
{
303+
struct intel_pinctrl *lg = pinctrl_dev_get_drvdata(pctldev);
304+
void __iomem *reg = lp_gpio_reg(&lg->chip, pin, LP_CONFIG1);
305+
void __iomem *conf2 = lp_gpio_reg(&lg->chip, pin, LP_CONFIG2);
306+
u32 value, mode;
307+
308+
value = ioread32(reg);
309+
310+
mode = value & USE_SEL_MASK;
311+
if (mode == USE_SEL_GPIO)
312+
seq_puts(s, "GPIO ");
313+
else
314+
seq_printf(s, "mode %d ", mode);
315+
316+
seq_printf(s, "0x%08x 0x%08x", value, ioread32(conf2));
317+
318+
if (lp_gpio_acpi_use(lg, pin))
319+
seq_puts(s, " [ACPI]");
320+
}
321+
300322
static const struct pinctrl_ops lptlp_pinctrl_ops = {
301323
.get_groups_count = lp_get_groups_count,
302324
.get_group_name = lp_get_group_name,
303325
.get_group_pins = lp_get_group_pins,
326+
.pin_dbg_show = lp_pin_dbg_show,
304327
};
305328

306329
static int lp_get_functions_count(struct pinctrl_dev *pctldev)

0 commit comments

Comments
 (0)