Input: gpio_keys - fix warning regarding uninitialized 'irq' variable
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 8 Dec 2014 06:42:45 +0000 (22:42 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 8 Dec 2014 07:07:07 +0000 (23:07 -0800)
Commit f2d347ff70be453e ("Input: gpio_keys - add device tree support for
interrupt only keys") caused the following build warning:

drivers/input/keyboard/gpio_keys.c: In function 'gpio_keys_probe':
drivers/input/keyboard/gpio_keys.c:647:15: warning: 'irq' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/input/keyboard/gpio_keys.c:622:7: note: 'irq' was declared here

Move button->irq initialization into proper branch and get rid of the
temporary.

Reported-by: Olof's autobuilder <build@lixom.net>
Reported-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/keyboard/gpio_keys.c

index ce0d909..b8b4876 100644 (file)
@@ -619,12 +619,11 @@ gpio_keys_get_devtree_pdata(struct device *dev)
        i = 0;
        for_each_child_of_node(node, pp) {
                int gpio = -1;
-               int irq;
                enum of_gpio_flags flags;
 
                if (!of_find_property(pp, "gpios", NULL)) {
-                       irq = irq_of_parse_and_map(pp, 0);
-                       if (irq == 0) {
+                       button->irq = irq_of_parse_and_map(pp, 0);
+                       if (button->irq == 0) {
                                pdata->nbuttons--;
                                dev_warn(dev, "Found button without gpios or irqs\n");
                                continue;
@@ -644,7 +643,6 @@ gpio_keys_get_devtree_pdata(struct device *dev)
                button = &pdata->buttons[i++];
 
                button->gpio = gpio;
-               button->irq = irq;
                button->active_low = flags & OF_GPIO_ACTIVE_LOW;
 
                if (of_property_read_u32(pp, "linux,code", &button->code)) {