Skip to content

Commit

Permalink
Input: gpio-keys - simplify argument list for report_event
Browse files Browse the repository at this point in the history
For now this only saves a few instructions (for gpio_keys_report_event,
gpio_keys_isr and gpio_check_button one instraction each on ARM using
arm-linux-gnu-gcc 4.2.3---I assume this is similar for other arch/compiler
combinations).

Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
  • Loading branch information
Uwe Kleine-König authored and Dmitry Torokhov committed Aug 8, 2008
1 parent 57ffe9d commit ce25d7e
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions drivers/input/keyboard/gpio_keys.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,10 @@ struct gpio_keys_drvdata {
struct gpio_button_data data[0];
};

static void gpio_keys_report_event(struct gpio_keys_button *button,
struct input_dev *input)
static void gpio_keys_report_event(struct gpio_button_data *bdata)
{
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(button->gpio) ? 1 : 0) ^ button->active_low;

Expand All @@ -51,7 +52,7 @@ static void gpio_check_button(unsigned long _data)
{
struct gpio_button_data *data = (struct gpio_button_data *)_data;

gpio_keys_report_event(data->button, data->input);
gpio_keys_report_event(data);
}

static irqreturn_t gpio_keys_isr(int irq, void *dev_id)
Expand All @@ -65,7 +66,7 @@ static irqreturn_t gpio_keys_isr(int irq, void *dev_id)
mod_timer(&bdata->timer,
jiffies + msecs_to_jiffies(button->debounce_interval));
else
gpio_keys_report_event(button, bdata->input);
gpio_keys_report_event(bdata);

return IRQ_HANDLED;
}
Expand Down

0 comments on commit ce25d7e

Please sign in to comment.