* [PATCH] hid: hid-chicony: fix switch case indentation
@ 2021-05-29 7:18 Navin Sankar Velliangiri
2021-05-29 7:57 ` Joe Perches
0 siblings, 1 reply; 2+ messages in thread
From: Navin Sankar Velliangiri @ 2021-05-29 7:18 UTC (permalink / raw)
To: linux-input, linux-kernel; +Cc: jikos, benjamin.tissoires, navin
fixed switch case indentation.
Block comments should not use a trailing */ on a separate line.
Reported by checkpatch.
Signed-off-by: Navin Sankar Velliangiri <navin@linumiz.com>
---
drivers/hid/hid-chicony.c | 74 +++++++++++++++++++++++++++++----------
1 file changed, 55 insertions(+), 19 deletions(-)
diff --git a/drivers/hid/hid-chicony.c b/drivers/hid/hid-chicony.c
index ca556d39da2a..7dd4cfd256d9 100644
--- a/drivers/hid/hid-chicony.c
+++ b/drivers/hid/hid-chicony.c
@@ -65,26 +65,61 @@ static int ch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
set_bit(EV_REP, hi->input->evbit);
switch (usage->hid & HID_USAGE) {
- case 0xff01: ch_map_key_clear(BTN_1); break;
- case 0xff02: ch_map_key_clear(BTN_2); break;
- case 0xff03: ch_map_key_clear(BTN_3); break;
- case 0xff04: ch_map_key_clear(BTN_4); break;
- case 0xff05: ch_map_key_clear(BTN_5); break;
- case 0xff06: ch_map_key_clear(BTN_6); break;
- case 0xff07: ch_map_key_clear(BTN_7); break;
- case 0xff08: ch_map_key_clear(BTN_8); break;
- case 0xff09: ch_map_key_clear(BTN_9); break;
- case 0xff0a: ch_map_key_clear(BTN_A); break;
- case 0xff0b: ch_map_key_clear(BTN_B); break;
- case 0x00f1: ch_map_key_clear(KEY_WLAN); break;
- case 0x00f2: ch_map_key_clear(KEY_BRIGHTNESSDOWN); break;
- case 0x00f3: ch_map_key_clear(KEY_BRIGHTNESSUP); break;
- case 0x00f4: ch_map_key_clear(KEY_DISPLAY_OFF); break;
- case 0x00f7: ch_map_key_clear(KEY_CAMERA); break;
- case 0x00f8: ch_map_key_clear(KEY_PROG1); break;
+ case 0xff01:
+ ch_map_key_clear(BTN_1);
+ break;
+ case 0xff02:
+ ch_map_key_clear(BTN_2);
+ break;
+ case 0xff03:
+ ch_map_key_clear(BTN_3);
+ break;
+ case 0xff04:
+ ch_map_key_clear(BTN_4);
+ break;
+ case 0xff05:
+ ch_map_key_clear(BTN_5);
+ break;
+ case 0xff06:
+ ch_map_key_clear(BTN_6);
+ break;
+ case 0xff07:
+ ch_map_key_clear(BTN_7);
+ break;
+ case 0xff08:
+ ch_map_key_clear(BTN_8);
+ break;
+ case 0xff09:
+ ch_map_key_clear(BTN_9);
+ break;
+ case 0xff0a:
+ ch_map_key_clear(BTN_A);
+ break;
+ case 0xff0b:
+ ch_map_key_clear(BTN_B);
+ break;
+ case 0x00f1:
+ ch_map_key_clear(KEY_WLAN);
+ break;
+ case 0x00f2:
+ ch_map_key_clear(KEY_BRIGHTNESSDOWN);
+ break;
+ case 0x00f3:
+ ch_map_key_clear(KEY_BRIGHTNESSUP);
+ break;
+ case 0x00f4:
+ ch_map_key_clear(KEY_DISPLAY_OFF);
+ break;
+ case 0x00f7:
+ ch_map_key_clear(KEY_CAMERA);
+ break;
+ case 0x00f8:
+ ch_map_key_clear(KEY_PROG1);
+ break;
default:
return 0;
}
+
return 1;
}
@@ -92,10 +127,11 @@ static __u8 *ch_switch12_report_fixup(struct hid_device *hdev, __u8 *rdesc,
unsigned int *rsize)
{
struct usb_interface *intf = to_usb_interface(hdev->dev.parent);
-
+
if (intf->cur_altsetting->desc.bInterfaceNumber == 1) {
/* Change usage maximum and logical maximum from 0x7fff to
- * 0x2fff, so they don't exceed HID_MAX_USAGES */
+ * 0x2fff, so they don't exceed HID_MAX_USAGES
+ */
switch (hdev->product) {
case USB_DEVICE_ID_CHICONY_ACER_SWITCH12:
if (*rsize >= 128 && rdesc[64] == 0xff && rdesc[65] == 0x7f
--
2.31.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] hid: hid-chicony: fix switch case indentation
2021-05-29 7:18 [PATCH] hid: hid-chicony: fix switch case indentation Navin Sankar Velliangiri
@ 2021-05-29 7:57 ` Joe Perches
0 siblings, 0 replies; 2+ messages in thread
From: Joe Perches @ 2021-05-29 7:57 UTC (permalink / raw)
To: Navin Sankar Velliangiri, linux-input, linux-kernel
Cc: jikos, benjamin.tissoires
On Sat, 2021-05-29 at 12:48 +0530, Navin Sankar Velliangiri wrote:
> fixed switch case indentation.
Please try not to merely fix checkpatch warnings.
Instead try to improve the code.
And there's nothing _really_ wrong with the existing code but:
> diff --git a/drivers/hid/hid-chicony.c b/drivers/hid/hid-chicony.c
[]
> @@ -65,26 +65,61 @@ static int ch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
>
>
> set_bit(EV_REP, hi->input->evbit);
> switch (usage->hid & HID_USAGE) {
> - case 0xff01: ch_map_key_clear(BTN_1); break;
> - case 0xff02: ch_map_key_clear(BTN_2); break;
[...]
> + case 0xff01:
> + ch_map_key_clear(BTN_1);
> + break;
> + case 0xff02:
> + ch_map_key_clear(BTN_2);
> + break;
[...]
> default:
> return 0;
> }
> +
> return 1;
IMO:
This might be (umm) clearer with a separate function.
A lot smaller code too.
$ size drivers/hid/hid-chicony.o*
text data bss dec hex filename
1886 392 0 2278 8e6 drivers/hid/hid-chicony.o.new
3329 392 0 3721 e89 drivers/hid/hid-chicony.o.old
Something like:
---
drivers/hid/hid-chicony.c | 52 +++++++++++++++++++++++++++--------------------
1 file changed, 30 insertions(+), 22 deletions(-)
diff --git a/drivers/hid/hid-chicony.c b/drivers/hid/hid-chicony.c
index ca556d39da2ae..03e9a1d943d96 100644
--- a/drivers/hid/hid-chicony.c
+++ b/drivers/hid/hid-chicony.c
@@ -54,37 +54,45 @@ static int ch_raw_event(struct hid_device *hdev,
return 0;
}
-#define ch_map_key_clear(c) hid_map_usage_clear(hi, usage, bit, max, \
- EV_KEY, (c))
+static int map_use_to_btn(int use)
+{
+ switch (use) {
+ case 0xff01: return BTN_1;
+ case 0xff02: return BTN_2;
+ case 0xff03: return BTN_3;
+ case 0xff04: return BTN_4;
+ case 0xff05: return BTN_5;
+ case 0xff06: return BTN_6;
+ case 0xff07: return BTN_7;
+ case 0xff08: return BTN_8;
+ case 0xff09: return BTN_9;
+ case 0xff0a: return BTN_A;
+ case 0xff0b: return BTN_B;
+ case 0x00f1: return KEY_WLAN;
+ case 0x00f2: return KEY_BRIGHTNESSDOWN;
+ case 0x00f3: return KEY_BRIGHTNESSUP;
+ case 0x00f4: return KEY_DISPLAY_OFF;
+ case 0x00f7: return KEY_CAMERA;
+ case 0x00f8: return KEY_PROG1;
+ }
+ return 0;
+}
+
static int ch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
struct hid_field *field, struct hid_usage *usage,
unsigned long **bit, int *max)
{
+ int btn;
+
if ((usage->hid & HID_USAGE_PAGE) != HID_UP_MSVENDOR)
return 0;
set_bit(EV_REP, hi->input->evbit);
- switch (usage->hid & HID_USAGE) {
- case 0xff01: ch_map_key_clear(BTN_1); break;
- case 0xff02: ch_map_key_clear(BTN_2); break;
- case 0xff03: ch_map_key_clear(BTN_3); break;
- case 0xff04: ch_map_key_clear(BTN_4); break;
- case 0xff05: ch_map_key_clear(BTN_5); break;
- case 0xff06: ch_map_key_clear(BTN_6); break;
- case 0xff07: ch_map_key_clear(BTN_7); break;
- case 0xff08: ch_map_key_clear(BTN_8); break;
- case 0xff09: ch_map_key_clear(BTN_9); break;
- case 0xff0a: ch_map_key_clear(BTN_A); break;
- case 0xff0b: ch_map_key_clear(BTN_B); break;
- case 0x00f1: ch_map_key_clear(KEY_WLAN); break;
- case 0x00f2: ch_map_key_clear(KEY_BRIGHTNESSDOWN); break;
- case 0x00f3: ch_map_key_clear(KEY_BRIGHTNESSUP); break;
- case 0x00f4: ch_map_key_clear(KEY_DISPLAY_OFF); break;
- case 0x00f7: ch_map_key_clear(KEY_CAMERA); break;
- case 0x00f8: ch_map_key_clear(KEY_PROG1); break;
- default:
+ btn = map_use_to_btn(usage->hid & HID_USAGE);
+ if (!btn)
return 0;
- }
+
+ hid_map_usage_clear(hi, usage, bit, max, EV_KEY, btn);
return 1;
}
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-05-29 7:57 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-29 7:18 [PATCH] hid: hid-chicony: fix switch case indentation Navin Sankar Velliangiri
2021-05-29 7:57 ` Joe Perches
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).