gpio: move pincontrol calls to <linux/gpio/driver.h>
These functions do not belong in <asm-generic/gpio.h> since the split into separate GPIO headers under <linux/gpio/*>. Move them to <linux/gpio/driver.h> as is apropriate. Acked-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
7e9603638a
commit
964cb34188
|
@ -5,7 +5,6 @@
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/pinctrl/pinctrl.h>
|
|
||||||
|
|
||||||
#ifdef CONFIG_GPIOLIB
|
#ifdef CONFIG_GPIOLIB
|
||||||
|
|
||||||
|
@ -139,53 +138,6 @@ static inline void gpio_unexport(unsigned gpio)
|
||||||
gpiod_unexport(gpio_to_desc(gpio));
|
gpiod_unexport(gpio_to_desc(gpio));
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PINCTRL
|
|
||||||
|
|
||||||
/**
|
|
||||||
* struct gpio_pin_range - pin range controlled by a gpio chip
|
|
||||||
* @head: list for maintaining set of pin ranges, used internally
|
|
||||||
* @pctldev: pinctrl device which handles corresponding pins
|
|
||||||
* @range: actual range of pins controlled by a gpio controller
|
|
||||||
*/
|
|
||||||
|
|
||||||
struct gpio_pin_range {
|
|
||||||
struct list_head node;
|
|
||||||
struct pinctrl_dev *pctldev;
|
|
||||||
struct pinctrl_gpio_range range;
|
|
||||||
};
|
|
||||||
|
|
||||||
int gpiochip_add_pin_range(struct gpio_chip *chip, const char *pinctl_name,
|
|
||||||
unsigned int gpio_offset, unsigned int pin_offset,
|
|
||||||
unsigned int npins);
|
|
||||||
int gpiochip_add_pingroup_range(struct gpio_chip *chip,
|
|
||||||
struct pinctrl_dev *pctldev,
|
|
||||||
unsigned int gpio_offset, const char *pin_group);
|
|
||||||
void gpiochip_remove_pin_ranges(struct gpio_chip *chip);
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
static inline int
|
|
||||||
gpiochip_add_pin_range(struct gpio_chip *chip, const char *pinctl_name,
|
|
||||||
unsigned int gpio_offset, unsigned int pin_offset,
|
|
||||||
unsigned int npins)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
static inline int
|
|
||||||
gpiochip_add_pingroup_range(struct gpio_chip *chip,
|
|
||||||
struct pinctrl_dev *pctldev,
|
|
||||||
unsigned int gpio_offset, const char *pin_group)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void
|
|
||||||
gpiochip_remove_pin_ranges(struct gpio_chip *chip)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* CONFIG_PINCTRL */
|
|
||||||
|
|
||||||
#else /* !CONFIG_GPIOLIB */
|
#else /* !CONFIG_GPIOLIB */
|
||||||
|
|
||||||
static inline bool gpio_is_valid(int number)
|
static inline bool gpio_is_valid(int number)
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
#include <linux/irqchip/chained_irq.h>
|
#include <linux/irqchip/chained_irq.h>
|
||||||
#include <linux/irqdomain.h>
|
#include <linux/irqdomain.h>
|
||||||
|
#include <linux/pinctrl/pinctrl.h>
|
||||||
|
|
||||||
struct device;
|
struct device;
|
||||||
struct gpio_desc;
|
struct gpio_desc;
|
||||||
|
@ -173,6 +174,53 @@ int gpiochip_irqchip_add(struct gpio_chip *gpiochip,
|
||||||
|
|
||||||
#endif /* CONFIG_GPIOLIB_IRQCHIP */
|
#endif /* CONFIG_GPIOLIB_IRQCHIP */
|
||||||
|
|
||||||
|
#ifdef CONFIG_PINCTRL
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct gpio_pin_range - pin range controlled by a gpio chip
|
||||||
|
* @head: list for maintaining set of pin ranges, used internally
|
||||||
|
* @pctldev: pinctrl device which handles corresponding pins
|
||||||
|
* @range: actual range of pins controlled by a gpio controller
|
||||||
|
*/
|
||||||
|
|
||||||
|
struct gpio_pin_range {
|
||||||
|
struct list_head node;
|
||||||
|
struct pinctrl_dev *pctldev;
|
||||||
|
struct pinctrl_gpio_range range;
|
||||||
|
};
|
||||||
|
|
||||||
|
int gpiochip_add_pin_range(struct gpio_chip *chip, const char *pinctl_name,
|
||||||
|
unsigned int gpio_offset, unsigned int pin_offset,
|
||||||
|
unsigned int npins);
|
||||||
|
int gpiochip_add_pingroup_range(struct gpio_chip *chip,
|
||||||
|
struct pinctrl_dev *pctldev,
|
||||||
|
unsigned int gpio_offset, const char *pin_group);
|
||||||
|
void gpiochip_remove_pin_ranges(struct gpio_chip *chip);
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
static inline int
|
||||||
|
gpiochip_add_pin_range(struct gpio_chip *chip, const char *pinctl_name,
|
||||||
|
unsigned int gpio_offset, unsigned int pin_offset,
|
||||||
|
unsigned int npins)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
static inline int
|
||||||
|
gpiochip_add_pingroup_range(struct gpio_chip *chip,
|
||||||
|
struct pinctrl_dev *pctldev,
|
||||||
|
unsigned int gpio_offset, const char *pin_group)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
gpiochip_remove_pin_ranges(struct gpio_chip *chip)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* CONFIG_PINCTRL */
|
||||||
|
|
||||||
struct gpio_desc *gpiochip_request_own_desc(struct gpio_chip *chip, u16 hwnum,
|
struct gpio_desc *gpiochip_request_own_desc(struct gpio_chip *chip, u16 hwnum,
|
||||||
const char *label);
|
const char *label);
|
||||||
void gpiochip_free_own_desc(struct gpio_desc *desc);
|
void gpiochip_free_own_desc(struct gpio_desc *desc);
|
||||||
|
|
Loading…
Reference in New Issue