OSDN Git Service

pinctrl: make the pinmux-pins more helpful
authorLinus Walleij <linus.walleij@linaro.org>
Fri, 24 Feb 2012 05:53:04 +0000 (06:53 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 29 Feb 2012 18:10:42 +0000 (19:10 +0100)
The debugfs file pinmux-pins used to tell which function was
enabled but now states simply which device owns the pin. Being
owned by the pinctrl driver itself means just that it's hogged
so be a bit more helpful by printing that.

ChangeLog v1->v2:
- Preserve the self-referential owner field, just clarify that
  when the pin controller states itself as owner this means
  that it's hogged.

Acked-by: Dong Aisheng <dong.aisheng@linaro.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinmux.c

index 98b89d6..2a40561 100644 (file)
@@ -626,8 +626,8 @@ static int pinmux_pins_show(struct seq_file *s, void *what)
 
        /* The pin number can be retrived from the pin controller descriptor */
        for (i = 0; i < pctldev->desc->npins; i++) {
-
                struct pin_desc *desc;
+               bool is_hog = false;
 
                pin = pctldev->desc->pins[i].number;
                desc = pin_desc_get(pctldev, pin);
@@ -635,9 +635,14 @@ static int pinmux_pins_show(struct seq_file *s, void *what)
                if (desc == NULL)
                        continue;
 
-               seq_printf(s, "pin %d (%s): %s\n", pin,
+               if (desc->owner &&
+                   !strcmp(desc->owner, pinctrl_dev_get_name(pctldev)))
+                       is_hog = true;
+
+               seq_printf(s, "pin %d (%s): %s%s\n", pin,
                           desc->name ? desc->name : "unnamed",
-                          desc->owner ? desc->owner : "UNCLAIMED");
+                          desc->owner ? desc->owner : "UNCLAIMED",
+                          is_hog ? " (HOG)" : "");
        }
 
        return 0;