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 <warthog...@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
---
 include/uapi/linux/gpio.h | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/include/uapi/linux/gpio.h b/include/uapi/linux/gpio.h
index 9c27cecf406f..285cc10355b2 100644
--- a/include/uapi/linux/gpio.h
+++ b/include/uapi/linux/gpio.h
@@ -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;
 };
 
-- 
2.28.0

Reply via email to