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/errno.h> | ||||
| #include <linux/of.h> | ||||
| #include <linux/pinctrl/pinctrl.h> | ||||
| 
 | ||||
| #ifdef CONFIG_GPIOLIB | ||||
| 
 | ||||
|  | @ -139,53 +138,6 @@ static inline void gpio_unexport(unsigned 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 */ | ||||
| 
 | ||||
| static inline bool gpio_is_valid(int number) | ||||
|  |  | |||
|  | @ -6,6 +6,7 @@ | |||
| #include <linux/irq.h> | ||||
| #include <linux/irqchip/chained_irq.h> | ||||
| #include <linux/irqdomain.h> | ||||
| #include <linux/pinctrl/pinctrl.h> | ||||
| 
 | ||||
| struct device; | ||||
| struct gpio_desc; | ||||
|  | @ -173,6 +174,53 @@ int gpiochip_irqchip_add(struct gpio_chip *gpiochip, | |||
| 
 | ||||
| #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, | ||||
| 					    const char *label); | ||||
| void gpiochip_free_own_desc(struct gpio_desc *desc); | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Linus Walleij
						Linus Walleij