dev_dbg(pctldev->dev, "request pin %d (%s) for %s\n",
                pin, desc->name, owner);
 
-       if (gpio_range) {
-               /* There's no need to support multiple GPIO requests */
-               if (desc->gpio_owner) {
-                       dev_err(pctldev->dev,
-                               "pin %s already requested by %s; cannot claim for %s\n",
-                               desc->name, desc->gpio_owner, owner);
-                       goto out;
-               }
-               if (ops->strict && desc->mux_usecount &&
-                   strcmp(desc->mux_owner, owner)) {
-                       dev_err(pctldev->dev,
-                               "pin %s already requested by %s; cannot claim for %s\n",
-                               desc->name, desc->mux_owner, owner);
-                       goto out;
-               }
+       if ((!gpio_range || ops->strict) &&
+           desc->mux_usecount && strcmp(desc->mux_owner, owner)) {
+               dev_err(pctldev->dev,
+                       "pin %s already requested by %s; cannot claim for %s\n",
+                       desc->name, desc->mux_owner, owner);
+               goto out;
+       }
+
+       if ((gpio_range || ops->strict) && desc->gpio_owner) {
+               dev_err(pctldev->dev,
+                       "pin %s already requested by %s; cannot claim for %s\n",
+                       desc->name, desc->gpio_owner, owner);
+               goto out;
+       }
 
+       if (gpio_range) {
                desc->gpio_owner = owner;
        } else {
-               if (desc->mux_usecount && strcmp(desc->mux_owner, owner)) {
-                       dev_err(pctldev->dev,
-                               "pin %s already requested by %s; cannot claim for %s\n",
-                               desc->name, desc->mux_owner, owner);
-                       goto out;
-               }
-               if (ops->strict && desc->gpio_owner) {
-                       dev_err(pctldev->dev,
-                               "pin %s already requested by %s; cannot claim for %s\n",
-                               desc->name, desc->gpio_owner, owner);
-                       goto out;
-               }
-
                desc->mux_usecount++;
                if (desc->mux_usecount > 1)
                        return 0;