提交 214338e3 编写于 作者: L Linus Walleij

gpio: present the consumer of a line to userspace

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: NLinus Walleij <linus.walleij@linaro.org>
上级 d27c1728
...@@ -368,11 +368,11 @@ static long gpio_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) ...@@ -368,11 +368,11 @@ static long gpio_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
lineinfo.name[0] = '\0'; lineinfo.name[0] = '\0';
} }
if (desc->label) { if (desc->label) {
strncpy(lineinfo.label, desc->label, strncpy(lineinfo.consumer, desc->label,
sizeof(lineinfo.label)); sizeof(lineinfo.consumer));
lineinfo.label[sizeof(lineinfo.label)-1] = '\0'; lineinfo.consumer[sizeof(lineinfo.consumer)-1] = '\0';
} else { } else {
lineinfo.label[0] = '\0'; lineinfo.consumer[0] = '\0';
} }
/* /*
......
...@@ -15,8 +15,9 @@ ...@@ -15,8 +15,9 @@
/** /**
* struct gpiochip_info - Information about a certain GPIO chip * struct gpiochip_info - Information about a certain GPIO chip
* @name: the name of this GPIO chip * @name: the Linux kernel name of this GPIO chip
* @label: a functional name for 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 * @lines: number of GPIO lines on this chip
*/ */
struct gpiochip_info { struct gpiochip_info {
...@@ -34,20 +35,21 @@ struct gpiochip_info { ...@@ -34,20 +35,21 @@ struct gpiochip_info {
/** /**
* struct gpioline_info - Information about a certain GPIO line * struct gpioline_info - Information about a certain GPIO line
* @line_offset: the local offset on this GPIO device, fill in when * @line_offset: the local offset on this GPIO device, fill this in when
* requesting information from the kernel * requesting the line information from the kernel
* @flags: various flags for this line * @flags: various flags for this line
* @name: the name of this GPIO line * @name: the name of this GPIO line, such as the output pin of the line on the
* @label: a functional name for this GPIO line * chip, a rail or a pin header name on a board, as specified by the gpio
* @kernel: this GPIO is in use by the kernel * chip, may be NULL
* @out: this GPIO is an output line (false means it is an input) * @consumer: a functional name for the consumer of this GPIO line as set by
* @active_low: this GPIO is active low * 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 { struct gpioline_info {
__u32 line_offset; __u32 line_offset;
__u32 flags; __u32 flags;
char name[32]; char name[32];
char label[32]; char consumer[32];
}; };
#define GPIO_GET_CHIPINFO_IOCTL _IOR('o', 0x01, struct gpiochip_info) #define GPIO_GET_CHIPINFO_IOCTL _IOR('o', 0x01, struct gpiochip_info)
......
...@@ -116,10 +116,10 @@ int list_device(const char *device_name) ...@@ -116,10 +116,10 @@ int list_device(const char *device_name)
fprintf(stdout, " \"%s\"", linfo.name); fprintf(stdout, " \"%s\"", linfo.name);
else else
fprintf(stdout, " unnamed"); fprintf(stdout, " unnamed");
if (linfo.label[0]) if (linfo.consumer[0])
fprintf(stdout, " \"%s\"", linfo.label); fprintf(stdout, " \"%s\"", linfo.consumer);
else else
fprintf(stdout, " unlabeled"); fprintf(stdout, " unused");
if (linfo.flags) { if (linfo.flags) {
fprintf(stdout, " ["); fprintf(stdout, " [");
print_flags(linfo.flags); print_flags(linfo.flags);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册