pinctrl/lantiq: add functionality to falcon_pinconf_dbg_show
authorJohn Crispin <blogic@openwrt.org>
Fri, 1 Feb 2013 12:05:03 +0000 (13:05 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 5 Feb 2013 15:17:25 +0000 (16:17 +0100)
The current code only has a stub for falcon_pinconf_dbg_show.
This patch adds proper functionality.

Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
Signed-off-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-falcon.c

index c5a9868..4a0d54a 100644 (file)
@@ -315,6 +315,37 @@ static int falcon_pinconf_set(struct pinctrl_dev *pctrldev,
 static void falcon_pinconf_dbg_show(struct pinctrl_dev *pctrldev,
                        struct seq_file *s, unsigned offset)
 {
+       unsigned long config;
+       struct pin_desc *desc;
+
+       struct ltq_pinmux_info *info = pinctrl_dev_get_drvdata(pctrldev);
+       int port = PORT(offset);
+
+       seq_printf(s, " (port %d) mux %d -- ", port,
+               pad_r32(info->membase[port], LTQ_PADC_MUX(PORT_PIN(offset))));
+
+       config = LTQ_PINCONF_PACK(LTQ_PINCONF_PARAM_PULL, 0);
+       if (!falcon_pinconf_get(pctrldev, offset, &config))
+               seq_printf(s, "pull %d ",
+                       (int)LTQ_PINCONF_UNPACK_ARG(config));
+
+       config = LTQ_PINCONF_PACK(LTQ_PINCONF_PARAM_DRIVE_CURRENT, 0);
+       if (!falcon_pinconf_get(pctrldev, offset, &config))
+               seq_printf(s, "drive-current %d ",
+                       (int)LTQ_PINCONF_UNPACK_ARG(config));
+
+       config = LTQ_PINCONF_PACK(LTQ_PINCONF_PARAM_SLEW_RATE, 0);
+       if (!falcon_pinconf_get(pctrldev, offset, &config))
+               seq_printf(s, "slew-rate %d ",
+                       (int)LTQ_PINCONF_UNPACK_ARG(config));
+
+       desc = pin_desc_get(pctrldev, offset);
+       if (desc) {
+               if (desc->gpio_owner)
+                       seq_printf(s, " owner: %s", desc->gpio_owner);
+       } else {
+               seq_printf(s, " not registered");
+       }
 }
 
 static void falcon_pinconf_group_dbg_show(struct pinctrl_dev *pctrldev,