]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - drivers/gpio/gpio-uclass.c
arm: mx6: add support for i.MX6ULL
[karo-tx-uboot.git] / drivers / gpio / gpio-uclass.c
index c6fd5802f57891568121b51c11acfb717be6a389..4cce11fe215f05b2cfbc1d55b5c4e020940b1ee6 100644 (file)
@@ -127,7 +127,7 @@ static int gpio_find_and_xlate(struct gpio_desc *desc,
        return ops->xlate ? ops->xlate(desc->dev, desc, args) : 0;
 }
 
-static int dm_gpio_request(struct gpio_desc *desc, const char *label)
+int dm_gpio_request(struct gpio_desc *desc, const char *label)
 {
        struct udevice *dev = desc->dev;
        struct gpio_dev_priv *uc_priv;
@@ -250,8 +250,12 @@ int gpio_free(unsigned gpio)
 
 static int check_reserved(struct gpio_desc *desc, const char *func)
 {
-       struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(desc->dev);
+       struct gpio_dev_priv *uc_priv;
+
+       if (!dm_gpio_is_valid(desc))
+               return -ENOENT;
 
+       uc_priv = dev_get_uclass_priv(desc->dev);
        if (!uc_priv->name[desc->offset]) {
                printf("%s: %s: error: gpio %s%d not reserved\n",
                       desc->dev->name, func,