Re: [HID Patchsets for Samsung driver v2 2/6] HID: Samsung : Fix the checkpatch complain.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2024-01-08 at 16:14 +0530, sandeep.cs wrote:
> > On Mon, 2024-01-08 at 14:49 +0530, Sandeep C S wrote:

Generally, it's better to refactor code that checkpatch
bleats about than merely shutting up the warning.

> > For this block, I think a rewrite using memcmp would be clearer.
> > Something like: 
> Okay . Thanks for your valuable feedback. We will promptly address your
> suggestions and enhance our code accordingly.
> And also please review other patch set as well.

Another way to write the input_mapping function is
using a static const struct and a for loop like:

static int samsung_kbd_mouse_input_mapping(struct hid_device *hdev,
	struct hid_input *hi, struct hid_field *field, struct hid_usage *usage,
	unsigned long **bit, int *max)
{
	struct usb_interface *intf = to_usb_interface(hdev->dev.parent);
	unsigned short ifnum = intf->cur_altsetting->desc.bInterfaceNumber;
	static const struct {
		unsigned hid;
		__u16 map;
	} samsung_hid_key_map[] = {
		{0x183, KEY_MEDIA},
		{0x195, KEY_EMAIL},
		{0x196, KEY_CALC},
		{0x197, KEY_COMPUTER},
		{0x22b, KEY_SEARCH},
		{0x22c, KEY_WWW},
		{0x22d, KEY_BACK},
		{0x22e, KEY_FORWARD},
		{0x22f, KEY_FAVORITES},
		{0x230, KEY_REFRESH},
		{0x231, KEY_STOP},
	};
	int i;
	unsigned hid;

	if (1 != ifnum || HID_UP_CONSUMER != (usage->hid & HID_USAGE_PAGE))
		return 0;

	hid = usage->hid & HID_USAGE;

	dbg_hid("samsung wireless keyboard/mouse input mapping event [0x%x]\n",
		hid);

	for (i = 0; i < ARRAY_SIZE(samsung_hid_key_map); i++) {
		if (hid == samsung_hid_key_map[i].hid) {
			hid_map_usage_clear(hi, usage, bit, max, EV_KEY,
					    samsung_hid_key_map[i].map);
			return 1;
		}
	}

	return 0;
}






[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux