diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-02-12 12:12:04 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-02-12 12:12:04 -0500 |
commit | dea054fc7f35d4664000b1e684713a83c2bd0888 (patch) | |
tree | 1ba021620b76c5fd98134faabb88fb1e75a9e40b | |
parent | 7df4d0c9784117f7bbaec17e9ac7f6545049b56d (diff) | |
parent | a3485d088516be4c2ae2890e8ad64321481f2857 (diff) |
Merge tag 'gpio-v3.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio
Pull GPIO fixes from Linus Walleij:
"Here are some accumulated patches with small fixes for this and that
in a few GPIO drivers, and a more important fix to an #ifdef in the
GPIO consumer header.
Summary:
- Get #ifdef's right in the <linux/gpio/consumer.h> header.
- Minor fixes to tb10x, clps711x, bcm281xx, intel-mid and xtensa GPIO
drivers"
* tag 'gpio-v3.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
gpio: consumer.h: Move forward declarations outside #ifdef
gpio: tb10x: GPIO_TB10X needs to select GENERIC_IRQ_CHIP
gpio: clps711x: Add module alias to support module auto loading
gpio: bcm281xx: Update MODULE_AUTHOR
gpio: intel-mid: fix the incorrect return of idle callback
gpio: xtensa: fix build when XCHAL_HAVE_CP is 0
-rw-r--r-- | drivers/gpio/Kconfig | 1 | ||||
-rw-r--r-- | drivers/gpio/gpio-bcm-kona.c | 4 | ||||
-rw-r--r-- | drivers/gpio/gpio-clps711x.c | 1 | ||||
-rw-r--r-- | drivers/gpio/gpio-intel-mid.c | 4 | ||||
-rw-r--r-- | drivers/gpio/gpio-xtensa.c | 16 | ||||
-rw-r--r-- | include/linux/gpio/consumer.h | 4 |
6 files changed, 24 insertions, 6 deletions
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 697338772b64..903f24d28ba0 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig | |||
@@ -403,6 +403,7 @@ config GPIO_GRGPIO | |||
403 | 403 | ||
404 | config GPIO_TB10X | 404 | config GPIO_TB10X |
405 | bool | 405 | bool |
406 | select GENERIC_IRQ_CHIP | ||
406 | select OF_GPIO | 407 | select OF_GPIO |
407 | 408 | ||
408 | comment "I2C GPIO expanders:" | 409 | comment "I2C GPIO expanders:" |
diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c index 233d088ac59f..f32357e2d78d 100644 --- a/drivers/gpio/gpio-bcm-kona.c +++ b/drivers/gpio/gpio-bcm-kona.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2012-2013 Broadcom Corporation | 2 | * Copyright (C) 2012-2014 Broadcom Corporation |
3 | * | 3 | * |
4 | * This program is free software; you can redistribute it and/or | 4 | * This program is free software; you can redistribute it and/or |
5 | * modify it under the terms of the GNU General Public License as | 5 | * modify it under the terms of the GNU General Public License as |
@@ -657,6 +657,6 @@ static struct platform_driver bcm_kona_gpio_driver = { | |||
657 | 657 | ||
658 | module_platform_driver(bcm_kona_gpio_driver); | 658 | module_platform_driver(bcm_kona_gpio_driver); |
659 | 659 | ||
660 | MODULE_AUTHOR("Broadcom"); | 660 | MODULE_AUTHOR("Broadcom Corporation <bcm-kernel-feedback-list@broadcom.com>"); |
661 | MODULE_DESCRIPTION("Broadcom Kona GPIO Driver"); | 661 | MODULE_DESCRIPTION("Broadcom Kona GPIO Driver"); |
662 | MODULE_LICENSE("GPL v2"); | 662 | MODULE_LICENSE("GPL v2"); |
diff --git a/drivers/gpio/gpio-clps711x.c b/drivers/gpio/gpio-clps711x.c index d3550274b8f7..3c2ba2ad0ada 100644 --- a/drivers/gpio/gpio-clps711x.c +++ b/drivers/gpio/gpio-clps711x.c | |||
@@ -97,3 +97,4 @@ module_platform_driver(clps711x_gpio_driver); | |||
97 | MODULE_LICENSE("GPL"); | 97 | MODULE_LICENSE("GPL"); |
98 | MODULE_AUTHOR("Alexander Shiyan <shc_work@mail.ru>"); | 98 | MODULE_AUTHOR("Alexander Shiyan <shc_work@mail.ru>"); |
99 | MODULE_DESCRIPTION("CLPS711X GPIO driver"); | 99 | MODULE_DESCRIPTION("CLPS711X GPIO driver"); |
100 | MODULE_ALIAS("platform:clps711x-gpio"); | ||
diff --git a/drivers/gpio/gpio-intel-mid.c b/drivers/gpio/gpio-intel-mid.c index d1b50ef5fab8..e585163f1ad5 100644 --- a/drivers/gpio/gpio-intel-mid.c +++ b/drivers/gpio/gpio-intel-mid.c | |||
@@ -394,8 +394,8 @@ static const struct irq_domain_ops intel_gpio_irq_ops = { | |||
394 | 394 | ||
395 | static int intel_gpio_runtime_idle(struct device *dev) | 395 | static int intel_gpio_runtime_idle(struct device *dev) |
396 | { | 396 | { |
397 | pm_schedule_suspend(dev, 500); | 397 | int err = pm_schedule_suspend(dev, 500); |
398 | return -EBUSY; | 398 | return err ?: -EBUSY; |
399 | } | 399 | } |
400 | 400 | ||
401 | static const struct dev_pm_ops intel_gpio_pm_ops = { | 401 | static const struct dev_pm_ops intel_gpio_pm_ops = { |
diff --git a/drivers/gpio/gpio-xtensa.c b/drivers/gpio/gpio-xtensa.c index 1d136eceda62..7081304d6797 100644 --- a/drivers/gpio/gpio-xtensa.c +++ b/drivers/gpio/gpio-xtensa.c | |||
@@ -40,6 +40,8 @@ | |||
40 | #error GPIO32 option is not enabled for your xtensa core variant | 40 | #error GPIO32 option is not enabled for your xtensa core variant |
41 | #endif | 41 | #endif |
42 | 42 | ||
43 | #if XCHAL_HAVE_CP | ||
44 | |||
43 | static inline unsigned long enable_cp(unsigned long *cpenable) | 45 | static inline unsigned long enable_cp(unsigned long *cpenable) |
44 | { | 46 | { |
45 | unsigned long flags; | 47 | unsigned long flags; |
@@ -57,6 +59,20 @@ static inline void disable_cp(unsigned long flags, unsigned long cpenable) | |||
57 | local_irq_restore(flags); | 59 | local_irq_restore(flags); |
58 | } | 60 | } |
59 | 61 | ||
62 | #else | ||
63 | |||
64 | static inline unsigned long enable_cp(unsigned long *cpenable) | ||
65 | { | ||
66 | *cpenable = 0; /* avoid uninitialized value warning */ | ||
67 | return 0; | ||
68 | } | ||
69 | |||
70 | static inline void disable_cp(unsigned long flags, unsigned long cpenable) | ||
71 | { | ||
72 | } | ||
73 | |||
74 | #endif /* XCHAL_HAVE_CP */ | ||
75 | |||
60 | static int xtensa_impwire_get_direction(struct gpio_chip *gc, unsigned offset) | 76 | static int xtensa_impwire_get_direction(struct gpio_chip *gc, unsigned offset) |
61 | { | 77 | { |
62 | return 1; /* input only */ | 78 | return 1; /* input only */ |
diff --git a/include/linux/gpio/consumer.h b/include/linux/gpio/consumer.h index 4d34dbbbad4d..7a8144fef406 100644 --- a/include/linux/gpio/consumer.h +++ b/include/linux/gpio/consumer.h | |||
@@ -4,8 +4,6 @@ | |||
4 | #include <linux/err.h> | 4 | #include <linux/err.h> |
5 | #include <linux/kernel.h> | 5 | #include <linux/kernel.h> |
6 | 6 | ||
7 | #ifdef CONFIG_GPIOLIB | ||
8 | |||
9 | struct device; | 7 | struct device; |
10 | struct gpio_chip; | 8 | struct gpio_chip; |
11 | 9 | ||
@@ -18,6 +16,8 @@ struct gpio_chip; | |||
18 | */ | 16 | */ |
19 | struct gpio_desc; | 17 | struct gpio_desc; |
20 | 18 | ||
19 | #ifdef CONFIG_GPIOLIB | ||
20 | |||
21 | /* Acquire and dispose GPIOs */ | 21 | /* Acquire and dispose GPIOs */ |
22 | struct gpio_desc *__must_check gpiod_get(struct device *dev, | 22 | struct gpio_desc *__must_check gpiod_get(struct device *dev, |
23 | const char *con_id); | 23 | const char *con_id); |