diff options
| -rw-r--r-- | drivers/gpio/gpiolib-of.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c index a71aecac451f..a18c4aa68b1e 100644 --- a/drivers/gpio/gpiolib-of.c +++ b/drivers/gpio/gpiolib-of.c | |||
| @@ -62,7 +62,10 @@ static int of_gpiochip_find_and_xlate(struct gpio_chip *gc, void *data) | |||
| 62 | int of_get_named_gpio_flags(struct device_node *np, const char *propname, | 62 | int of_get_named_gpio_flags(struct device_node *np, const char *propname, |
| 63 | int index, enum of_gpio_flags *flags) | 63 | int index, enum of_gpio_flags *flags) |
| 64 | { | 64 | { |
| 65 | struct gg_data gg_data = { .flags = flags, .out_gpio = -ENODEV }; | 65 | /* Return -EPROBE_DEFER to support probe() functions to be called |
| 66 | * later when the GPIO actually becomes available | ||
| 67 | */ | ||
| 68 | struct gg_data gg_data = { .flags = flags, .out_gpio = -EPROBE_DEFER }; | ||
| 66 | int ret; | 69 | int ret; |
| 67 | 70 | ||
| 68 | /* .of_xlate might decide to not fill in the flags, so clear it. */ | 71 | /* .of_xlate might decide to not fill in the flags, so clear it. */ |
