Message ID | 20240905184351.311858-1-andriy.shevchenko@linux.intel.com |
---|---|
State | New |
Headers | show |
Series | [v1,1/1] HID: debug: Remove duplicates from 'keys' | expand |
On Thu, 5 Sep 2024, Andy Shevchenko wrote: > Duplicates in 'keys prevents kernel builds with clang, `make W=1` and > CONFIG_WERROR=y, for example: > > drivers/hid/hid-debug.c:3443:18: error: initializer overrides prior initialization of this subobject [-Werror,-Winitializer-overrides] > 3443 | [KEY_HANGEUL] = "HanGeul", [KEY_HANGUP_PHONE] = "HangUpPhone", > | ^~~~~~~~~ > drivers/hid/hid-debug.c:3217:18: note: previous initialization is here > 3217 | [KEY_HANGUEL] = "Hangeul", [KEY_HANJA] = "Hanja", > | ^~~~~~~~~ > > Fix this by removing them. > > The logic of removal is that, remove... > 1) if there is a constant that uses another defined constant, OR > 2) the one that appears later in the list. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > drivers/hid/hid-debug.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/drivers/hid/hid-debug.c b/drivers/hid/hid-debug.c > index d5abfe652fb5..618ebaa3bfc0 100644 > --- a/drivers/hid/hid-debug.c > +++ b/drivers/hid/hid-debug.c > @@ -3214,7 +3214,7 @@ static const char *keys[KEY_MAX + 1] = { > [KEY_VOLUMEUP] = "VolumeUp", [KEY_POWER] = "Power", > [KEY_KPEQUAL] = "KPEqual", [KEY_KPPLUSMINUS] = "KPPlusMinus", > [KEY_PAUSE] = "Pause", [KEY_KPCOMMA] = "KPComma", > - [KEY_HANGUEL] = "Hangeul", [KEY_HANJA] = "Hanja", The problem specifically with this one is really there to fix a typo someone did at some point in the past. See b9ab58dd8e771d ("Input: fix misspelling of Hangeul key"). So I think we should preserve it somehow. The remaining ones seem indeed to be duplicates and I don't see a problem removing them. Thanks,
On Tue, Oct 15, 2024 at 02:20:19PM +0200, Jiri Kosina wrote: > On Thu, 5 Sep 2024, Andy Shevchenko wrote: ... > > drivers/hid/hid-debug.c:3443:18: error: initializer overrides prior initialization of this subobject [-Werror,-Winitializer-overrides] > > 3443 | [KEY_HANGEUL] = "HanGeul", [KEY_HANGUP_PHONE] = "HangUpPhone", > > | ^~~~~~~~~ > > drivers/hid/hid-debug.c:3217:18: note: previous initialization is here > > 3217 | [KEY_HANGUEL] = "Hangeul", [KEY_HANJA] = "Hanja", > > | ^~~~~~~~~ > > > > Fix this by removing them. > > > > The logic of removal is that, remove... > > 1) if there is a constant that uses another defined constant, OR > > 2) the one that appears later in the list. ... > > - [KEY_HANGUEL] = "Hangeul", [KEY_HANJA] = "Hanja", > > The problem specifically with this one is really there to fix a typo > someone did at some point in the past. See b9ab58dd8e771d ("Input: fix > misspelling of Hangeul key"). > > So I think we should preserve it somehow. Right, I fixed that in v2 that has been just sent out.
diff --git a/drivers/hid/hid-debug.c b/drivers/hid/hid-debug.c index d5abfe652fb5..618ebaa3bfc0 100644 --- a/drivers/hid/hid-debug.c +++ b/drivers/hid/hid-debug.c @@ -3214,7 +3214,7 @@ static const char *keys[KEY_MAX + 1] = { [KEY_VOLUMEUP] = "VolumeUp", [KEY_POWER] = "Power", [KEY_KPEQUAL] = "KPEqual", [KEY_KPPLUSMINUS] = "KPPlusMinus", [KEY_PAUSE] = "Pause", [KEY_KPCOMMA] = "KPComma", - [KEY_HANGUEL] = "Hangeul", [KEY_HANJA] = "Hanja", + [KEY_HANJA] = "Hanja", [KEY_YEN] = "Yen", [KEY_LEFTMETA] = "LeftMeta", [KEY_RIGHTMETA] = "RightMeta", [KEY_COMPOSE] = "Compose", [KEY_STOP] = "Stop", [KEY_AGAIN] = "Again", @@ -3309,9 +3309,9 @@ static const char *keys[KEY_MAX + 1] = { [KEY_EPG] = "EPG", [KEY_PVR] = "PVR", [KEY_MHP] = "MHP", [KEY_LANGUAGE] = "Language", [KEY_TITLE] = "Title", [KEY_SUBTITLE] = "Subtitle", - [KEY_ANGLE] = "Angle", [KEY_ZOOM] = "Zoom", + [KEY_ANGLE] = "Angle", [KEY_MODE] = "Mode", [KEY_KEYBOARD] = "Keyboard", - [KEY_SCREEN] = "Screen", [KEY_PC] = "PC", + [KEY_PC] = "PC", [KEY_TV] = "TV", [KEY_TV2] = "TV2", [KEY_VCR] = "VCR", [KEY_VCR2] = "VCR2", [KEY_SAT] = "Sat", [KEY_SAT2] = "Sat2", @@ -3409,8 +3409,7 @@ static const char *keys[KEY_MAX + 1] = { [BTN_TRIGGER_HAPPY35] = "TriggerHappy35", [BTN_TRIGGER_HAPPY36] = "TriggerHappy36", [BTN_TRIGGER_HAPPY37] = "TriggerHappy37", [BTN_TRIGGER_HAPPY38] = "TriggerHappy38", [BTN_TRIGGER_HAPPY39] = "TriggerHappy39", [BTN_TRIGGER_HAPPY40] = "TriggerHappy40", - [BTN_DIGI] = "Digi", [BTN_STYLUS3] = "Stylus3", - [BTN_TOOL_QUINTTAP] = "ToolQuintTap", [BTN_WHEEL] = "Wheel", + [BTN_STYLUS3] = "Stylus3", [BTN_TOOL_QUINTTAP] = "ToolQuintTap", [KEY_10CHANNELSDOWN] = "10ChannelsDown", [KEY_10CHANNELSUP] = "10ChannelsUp", [KEY_3D_MODE] = "3DMode", [KEY_ADDRESSBOOK] = "Addressbook",
Duplicates in 'keys prevents kernel builds with clang, `make W=1` and CONFIG_WERROR=y, for example: drivers/hid/hid-debug.c:3443:18: error: initializer overrides prior initialization of this subobject [-Werror,-Winitializer-overrides] 3443 | [KEY_HANGEUL] = "HanGeul", [KEY_HANGUP_PHONE] = "HangUpPhone", | ^~~~~~~~~ drivers/hid/hid-debug.c:3217:18: note: previous initialization is here 3217 | [KEY_HANGUEL] = "Hangeul", [KEY_HANJA] = "Hanja", | ^~~~~~~~~ Fix this by removing them. The logic of removal is that, remove... 1) if there is a constant that uses another defined constant, OR 2) the one that appears later in the list. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/hid/hid-debug.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)