forked from mirrors/linux
		
	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
					
				
					 2 changed files with 48 additions and 48 deletions
				
			
		|  | @ -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 a new issue
	
	 Linus Walleij
						Linus Walleij