mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
gpio: allow passing NULL to gpio_request_by_line_name() to search all gpio controllers
The API is more convenient to use if one doesn't have to know upfront which gpio controller has a line with the name one is searching for, and arrange to look that device up somehow. Or implement this loop oneself. Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
committed by
Tom Rini
parent
fdef6b982f
commit
e1c97949ee
@@ -1171,6 +1171,13 @@ int gpio_request_by_line_name(struct udevice *dev, const char *line_name,
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (!dev) {
|
||||
uclass_foreach_dev_probe(UCLASS_GPIO, dev)
|
||||
if (!gpio_request_by_line_name(dev, line_name, desc, flags))
|
||||
return 0;
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
ret = dev_read_stringlist_search(dev, "gpio-line-names", line_name);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
@@ -580,7 +580,8 @@ int gpio_request_by_name(struct udevice *dev, const char *list_name,
|
||||
* This allows boards to implement common behaviours using GPIOs while not
|
||||
* requiring specific GPIO offsets be used.
|
||||
*
|
||||
* @dev: An instance of a GPIO controller udevice
|
||||
* @dev: An instance of a GPIO controller udevice, or NULL to search
|
||||
* all GPIO controller devices
|
||||
* @line_name: The name of the GPIO (e.g. "bmc-secure-boot")
|
||||
* @desc: A GPIO descriptor that is populated with the requested GPIO
|
||||
* upon return
|
||||
|
||||
Reference in New Issue
Block a user