From d3cfa80631a7e314fee9b2e0822e403fcf2a5c5c Mon Sep 17 00:00:00 2001
From: Peter Korsgaard <peter@korsgaard.com>
Date: Sun, 31 Jul 2016 10:28:43 +0200
Subject: [PATCH] eventtable.h: use correct array sizes to fix building against
 4.7+ headers
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

During the 4.7 development cycle, commit 9a9b6aa6a8 (Input: add
SW_PEN_INSERTED define) got added, which has the same numerical value as
SW_MAX:

+#define SW_PEN_INSERTED                0x0f  /* set = pen inserted */
+#define SW_MAX                 0x0f

This breaks the build as the SW_NAME array is sized using the SW_MAX macro:

In file included from eventtable.h:21:0,
                 from eventnames.c:11:
evtable_SW.inc:17:1: error: array index in initializer exceeds array bounds
 EV_MAP(SW_PEN_INSERTED),
 ^
evtable_SW.inc:17:1: error: (near initialization for ‘SW_NAME’)

The arrays should be sized using the <foo>_CNT (which is MAX+1) macros
instead of <foo>_MAX.  These got added during the 2.6.24 development cycle,
so it should be safe to do so unconditially:

commit 7b19ada2ed3c1eccb9fe94d74b05e1428224663d
Author: Jiri Slaby <jirislaby@gmail.com>
Date:   Thu Oct 18 23:40:32 2007 -0700

    get rid of input BIT* duplicate defines

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
 eventtable.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eventtable.h b/eventtable.h
index 349d9d7..7cd99aa 100644
--- a/eventtable.h
+++ b/eventtable.h
@@ -8,15 +8,15 @@
 
 #define EV_MAP( N ) [ N ] = #N
 
-static const char *EV_NAME[EV_MAX] = {
+static const char *EV_NAME[EV_CNT] = {
 #include "evtable_EV.inc"
 };
 
-static const char *KEY_NAME[KEY_MAX] = {
+static const char *KEY_NAME[KEY_CNT] = {
 #include "evtable_KEY.inc"
 #include "evtable_BTN.inc"
 };
 
-static const char *SW_NAME[SW_MAX] = {
+static const char *SW_NAME[SW_CNT] = {
 #include "evtable_SW.inc"
 };
-- 
2.8.1

