forked from mirrors/linux
		
	gpio: Enable nonexclusive gpiods from DT nodes
This makes gpiod_get_from_of_node() respect the
GPIOD_FLAGS_BIT_NONEXCLUSIVE flag which is especially
nice when getting regulator GPIOs right out of device
tree nodes.
Suggested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Fixes: b0ce7b29bf ("regulator/gpio: Allow nonexclusive GPIO access")
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
			
			
This commit is contained in:
		
							parent
							
								
									d03c63dbca
								
							
						
					
					
						commit
						ec757001c8
					
				
					 1 changed files with 2 additions and 0 deletions
				
			
		| 
						 | 
					@ -4204,6 +4204,8 @@ struct gpio_desc *gpiod_get_from_of_node(struct device_node *node,
 | 
				
			||||||
	transitory = flags & OF_GPIO_TRANSITORY;
 | 
						transitory = flags & OF_GPIO_TRANSITORY;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ret = gpiod_request(desc, label);
 | 
						ret = gpiod_request(desc, label);
 | 
				
			||||||
 | 
						if (ret == -EBUSY && (flags & GPIOD_FLAGS_BIT_NONEXCLUSIVE))
 | 
				
			||||||
 | 
							return desc;
 | 
				
			||||||
	if (ret)
 | 
						if (ret)
 | 
				
			||||||
		return ERR_PTR(ret);
 | 
							return ERR_PTR(ret);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue