[PATCH] Input:Avoid extra comparision in report_event api

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

 



From: Mukesh Sharma <mukesh.sharma091@xxxxxxxxx>

Set button->type to EV_KEY if no type is defined by platform or device
tree structure hence we can remove the extra comparision operation from
gpio_keys_gpio_report_event.

Signed-off-by: Mukesh Sharma <mukesh.sharma091@xxxxxxxxx>
---
 drivers/input/keyboard/gpio_keys.c |   11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
index 883d6ae..9256ff9 100644
--- a/drivers/input/keyboard/gpio_keys.c
+++ b/drivers/input/keyboard/gpio_keys.c
@@ -335,14 +335,13 @@ static void gpio_keys_gpio_report_event(struct gpio_button_data *bdata)
 {
 	const struct gpio_keys_button *button = bdata->button;
 	struct input_dev *input = bdata->input;
-	unsigned int type = button->type ?: EV_KEY;
 	int state = (gpio_get_value_cansleep(button->gpio) ? 1 : 0) ^ button->active_low;
 
-	if (type == EV_ABS) {
+	if (button->type == EV_ABS) {
 		if (state)
-			input_event(input, type, button->code, button->value);
+			input_event(input, button->type, button->code, button->value);
 	} else {
-		input_event(input, type, button->code, !!state);
+		input_event(input, button->type, button->code, !!state);
 	}
 	input_sync(input);
 }
@@ -507,8 +506,8 @@ static int gpio_keys_setup_key(struct platform_device *pdev,
 		isr = gpio_keys_irq_isr;
 		irqflags = 0;
 	}
-
-	input_set_capability(input, button->type ?: EV_KEY, button->code);
+	button->type = button->type ?: EV_KEY;
+	input_set_capability(input, button->type, button->code);
 
 	/*
 	 * Install custom action to cancel release timer and
-- 
1.7.9.5


---
This email has been checked for viruses by Avast antivirus software.
http://www.avast.com

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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