gpio: uapi: define GPIO_MAX_NAME_SIZE for array sizes

Replace constant array sizes with a macro constant to clarify the source
of array sizes, provide a place to document any constraints on the size,
and to simplify array sizing in userspace if constructing structs
from their composite fields.

Signed-off-by: Kent Gibson <warthog618@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
This commit is contained in:
Kent Gibson 2020-09-28 08:27:50 +08:00 committed by Bartosz Golaszewski
parent 69e4e13688
commit 539430fbbc

View File

@ -14,6 +14,11 @@
#include <linux/ioctl.h>
#include <linux/types.h>
/*
* The maximum size of name and label arrays.
*/
#define GPIO_MAX_NAME_SIZE 32
/**
* struct gpiochip_info - Information about a certain GPIO chip
* @name: the Linux kernel name of this GPIO chip
@ -22,8 +27,8 @@
* @lines: number of GPIO lines on this chip
*/
struct gpiochip_info {
char name[32];
char label[32];
char name[GPIO_MAX_NAME_SIZE];
char label[GPIO_MAX_NAME_SIZE];
__u32 lines;
};
@ -52,8 +57,8 @@ struct gpiochip_info {
struct gpioline_info {
__u32 line_offset;
__u32 flags;
char name[32];
char consumer[32];
char name[GPIO_MAX_NAME_SIZE];
char consumer[GPIO_MAX_NAME_SIZE];
};
/* Maximum number of requested handles */
@ -123,7 +128,7 @@ struct gpiohandle_request {
__u32 lineoffsets[GPIOHANDLES_MAX];
__u32 flags;
__u8 default_values[GPIOHANDLES_MAX];
char consumer_label[32];
char consumer_label[GPIO_MAX_NAME_SIZE];
__u32 lines;
int fd;
};
@ -182,7 +187,7 @@ struct gpioevent_request {
__u32 lineoffset;
__u32 handleflags;
__u32 eventflags;
char consumer_label[32];
char consumer_label[GPIO_MAX_NAME_SIZE];
int fd;
};