Commit dea054fc authored by Linus Torvalds's avatar Linus Torvalds

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
parents 7df4d0c9 a3485d08
...@@ -403,6 +403,7 @@ config GPIO_GRGPIO ...@@ -403,6 +403,7 @@ config GPIO_GRGPIO
config GPIO_TB10X config GPIO_TB10X
bool bool
select GENERIC_IRQ_CHIP
select OF_GPIO select OF_GPIO
comment "I2C GPIO expanders:" comment "I2C GPIO expanders:"
......
/* /*
* Copyright (C) 2012-2013 Broadcom Corporation * Copyright (C) 2012-2014 Broadcom Corporation
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as * 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,6 +657,6 @@ static struct platform_driver bcm_kona_gpio_driver = {
module_platform_driver(bcm_kona_gpio_driver); module_platform_driver(bcm_kona_gpio_driver);
MODULE_AUTHOR("Broadcom"); MODULE_AUTHOR("Broadcom Corporation <bcm-kernel-feedback-list@broadcom.com>");
MODULE_DESCRIPTION("Broadcom Kona GPIO Driver"); MODULE_DESCRIPTION("Broadcom Kona GPIO Driver");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
...@@ -97,3 +97,4 @@ module_platform_driver(clps711x_gpio_driver); ...@@ -97,3 +97,4 @@ module_platform_driver(clps711x_gpio_driver);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Alexander Shiyan <shc_work@mail.ru>"); MODULE_AUTHOR("Alexander Shiyan <shc_work@mail.ru>");
MODULE_DESCRIPTION("CLPS711X GPIO driver"); MODULE_DESCRIPTION("CLPS711X GPIO driver");
MODULE_ALIAS("platform:clps711x-gpio");
...@@ -394,8 +394,8 @@ static const struct irq_domain_ops intel_gpio_irq_ops = { ...@@ -394,8 +394,8 @@ static const struct irq_domain_ops intel_gpio_irq_ops = {
static int intel_gpio_runtime_idle(struct device *dev) static int intel_gpio_runtime_idle(struct device *dev)
{ {
pm_schedule_suspend(dev, 500); int err = pm_schedule_suspend(dev, 500);
return -EBUSY; return err ?: -EBUSY;
} }
static const struct dev_pm_ops intel_gpio_pm_ops = { static const struct dev_pm_ops intel_gpio_pm_ops = {
......
...@@ -40,6 +40,8 @@ ...@@ -40,6 +40,8 @@
#error GPIO32 option is not enabled for your xtensa core variant #error GPIO32 option is not enabled for your xtensa core variant
#endif #endif
#if XCHAL_HAVE_CP
static inline unsigned long enable_cp(unsigned long *cpenable) static inline unsigned long enable_cp(unsigned long *cpenable)
{ {
unsigned long flags; unsigned long flags;
...@@ -57,6 +59,20 @@ static inline void disable_cp(unsigned long flags, unsigned long cpenable) ...@@ -57,6 +59,20 @@ static inline void disable_cp(unsigned long flags, unsigned long cpenable)
local_irq_restore(flags); local_irq_restore(flags);
} }
#else
static inline unsigned long enable_cp(unsigned long *cpenable)
{
*cpenable = 0; /* avoid uninitialized value warning */
return 0;
}
static inline void disable_cp(unsigned long flags, unsigned long cpenable)
{
}
#endif /* XCHAL_HAVE_CP */
static int xtensa_impwire_get_direction(struct gpio_chip *gc, unsigned offset) static int xtensa_impwire_get_direction(struct gpio_chip *gc, unsigned offset)
{ {
return 1; /* input only */ return 1; /* input only */
......
...@@ -4,8 +4,6 @@ ...@@ -4,8 +4,6 @@
#include <linux/err.h> #include <linux/err.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#ifdef CONFIG_GPIOLIB
struct device; struct device;
struct gpio_chip; struct gpio_chip;
...@@ -18,6 +16,8 @@ struct gpio_chip; ...@@ -18,6 +16,8 @@ struct gpio_chip;
*/ */
struct gpio_desc; struct gpio_desc;
#ifdef CONFIG_GPIOLIB
/* Acquire and dispose GPIOs */ /* Acquire and dispose GPIOs */
struct gpio_desc *__must_check gpiod_get(struct device *dev, struct gpio_desc *__must_check gpiod_get(struct device *dev,
const char *con_id); const char *con_id);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment