summary refs log tree commit diff
path: root/drivers/gpio
diff options
context:
space:
mode:
authorMathias Nyman <mathias.nyman@linux.intel.com>2013-02-04 11:32:22 +0200
committerLinus Walleij <linus.walleij@linaro.org>2013-02-04 21:41:47 +0100
commit1107ca104f0331627f6446bfefa2d4b0e673db18 (patch)
treec965296f42b8428b8b137f2c2f379f2abadba6ee /drivers/gpio
parentde0ccf788147440eee2383c74408080f3ff0a43b (diff)
downloadlinux-1107ca104f0331627f6446bfefa2d4b0e673db18.tar.gz
gpiolib-acpi: Fix error checks in interrupt requesting
Print error message if requesting an interrupt fails.
Use int instead of unsigned for interrupts in case of error values

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/gpiolib-acpi.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
index 54ce2269ed25..a063eb04b6ce 100644
--- a/drivers/gpio/gpiolib-acpi.c
+++ b/drivers/gpio/gpiolib-acpi.c
@@ -83,7 +83,8 @@ void acpi_gpiochip_request_interrupts(struct gpio_chip *chip)
 	struct acpi_resource *res;
 	acpi_handle handle, ev_handle;
 	acpi_status status;
-	unsigned int pin, irq;
+	unsigned int pin;
+	int irq, ret;
 	char ev_name[5];
 
 	if (!chip->dev || !chip->to_irq)
@@ -126,11 +127,15 @@ void acpi_gpiochip_request_interrupts(struct gpio_chip *chip)
 			continue;
 
 		/* Assume BIOS sets the triggering, so no flags */
-		devm_request_threaded_irq(chip->dev, irq, NULL,
+		ret = devm_request_threaded_irq(chip->dev, irq, NULL,
 					  acpi_gpio_irq_handler,
 					  0,
 					  "GPIO-signaled-ACPI-event",
 					  ev_handle);
+		if (ret)
+			dev_err(chip->dev,
+				"Failed to request IRQ %d ACPI event handler\n",
+				irq);
 	}
 }
 EXPORT_SYMBOL(acpi_gpiochip_request_interrupts);