|
@@ -24,6 +24,10 @@ int gpio_request_one(unsigned gpio, unsigned long flags, const char *label)
|
|
|
|
|
|
desc = gpio_to_desc(gpio);
|
|
|
|
|
|
+ /* Compatibility: assume unavailable "valid" GPIOs will appear later */
|
|
|
+ if (!desc && gpio_is_valid(gpio))
|
|
|
+ return -EPROBE_DEFER;
|
|
|
+
|
|
|
err = gpiod_request(desc, label);
|
|
|
if (err)
|
|
|
return err;
|
|
@@ -62,7 +66,13 @@ EXPORT_SYMBOL_GPL(gpio_request_one);
|
|
|
|
|
|
int gpio_request(unsigned gpio, const char *label)
|
|
|
{
|
|
|
- return gpiod_request(gpio_to_desc(gpio), label);
|
|
|
+ struct gpio_desc *desc = gpio_to_desc(gpio);
|
|
|
+
|
|
|
+ /* Compatibility: assume unavailable "valid" GPIOs will appear later */
|
|
|
+ if (!desc && gpio_is_valid(gpio))
|
|
|
+ return -EPROBE_DEFER;
|
|
|
+
|
|
|
+ return gpiod_request(desc, label);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(gpio_request);
|
|
|
|