gpio: present the consumer of a line to userspace
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 25 Feb 2016 20:01:48 +0000 (21:01 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 25 Feb 2016 20:07:23 +0000 (21:07 +0100)
I named the field representing the current user of GPIO line as
"label" but this is too vague and ambiguous. Before anyone gets
confused, rename it to "consumer" and indicate clearly in the
documentation that this is a string set by the user of the line.

Also clean up leftovers in the documentation.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpiolib.c
include/uapi/linux/gpio.h
tools/gpio/lsgpio.c

index 872774a404f1752549753975082298e2381315c7..bc788b958c7efb0a9000913e904d7a3acbf9869c 100644 (file)
@@ -368,11 +368,11 @@ static long gpio_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
                        lineinfo.name[0] = '\0';
                }
                if (desc->label) {
-                       strncpy(lineinfo.label, desc->label,
-                               sizeof(lineinfo.label));
-                       lineinfo.label[sizeof(lineinfo.label)-1] = '\0';
+                       strncpy(lineinfo.consumer, desc->label,
+                               sizeof(lineinfo.consumer));
+                       lineinfo.consumer[sizeof(lineinfo.consumer)-1] = '\0';
                } else {
-                       lineinfo.label[0] = '\0';
+                       lineinfo.consumer[0] = '\0';
                }
 
                /*
index 416ce47f22914e2b6a557007776234733fdfb4fa..dfe8ade2742d6262c52828650fc7abb98e0b2318 100644 (file)
@@ -15,8 +15,9 @@
 
 /**
  * struct gpiochip_info - Information about a certain GPIO chip
- * @name: the name of this GPIO chip
- * @label: a functional name for this GPIO chip
+ * @name: the Linux kernel name of this GPIO chip
+ * @label: a functional name for this GPIO chip, such as a product
+ * number, may be NULL
  * @lines: number of GPIO lines on this chip
  */
 struct gpiochip_info {
@@ -34,20 +35,21 @@ struct gpiochip_info {
 
 /**
  * struct gpioline_info - Information about a certain GPIO line
- * @line_offset: the local offset on this GPIO device, fill in when
- * requesting information from the kernel
+ * @line_offset: the local offset on this GPIO device, fill this in when
+ * requesting the line information from the kernel
  * @flags: various flags for this line
- * @name: the name of this GPIO line
- * @label: a functional name for this GPIO line
- * @kernel: this GPIO is in use by the kernel
- * @out: this GPIO is an output line (false means it is an input)
- * @active_low: this GPIO is active low
+ * @name: the name of this GPIO line, such as the output pin of the line on the
+ * chip, a rail or a pin header name on a board, as specified by the gpio
+ * chip, may be NULL
+ * @consumer: a functional name for the consumer of this GPIO line as set by
+ * whatever is using it, will be NULL if there is no current user but may
+ * also be NULL if the consumer doesn't set this up
  */
 struct gpioline_info {
        __u32 line_offset;
        __u32 flags;
        char name[32];
-       char label[32];
+       char consumer[32];
 };
 
 #define GPIO_GET_CHIPINFO_IOCTL _IOR('o', 0x01, struct gpiochip_info)
index 6af118cc7efb8debd69b4ae6320834e62929b007..1124da3759424fe6e6302d538b6715486872cab9 100644 (file)
@@ -116,10 +116,10 @@ int list_device(const char *device_name)
                        fprintf(stdout, " \"%s\"", linfo.name);
                else
                        fprintf(stdout, " unnamed");
-               if (linfo.label[0])
-                       fprintf(stdout, " \"%s\"", linfo.label);
+               if (linfo.consumer[0])
+                       fprintf(stdout, " \"%s\"", linfo.consumer);
                else
-                       fprintf(stdout, " unlabeled");
+                       fprintf(stdout, " unused");
                if (linfo.flags) {
                        fprintf(stdout, " [");
                        print_flags(linfo.flags);