Selaa lähdekoodia

pwm: Return -ENODEV if no PWM lookup match is found

When looking up a PWM using the lookup table, assume that all entries
will have been added already, so failure to find a match means that no
corresponding entry has been registered.

This fixes an issue where -EPROBE_DEFER would be returned if the PWM
lookup table is empty. After this fix, -EPROBE_DEFER is reserved for
situations where no provider has yet registered for a matching entry.

Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
Thierry Reding 9 vuotta sitten
vanhempi
commit
655a03554c
1 muutettua tiedostoa jossa 3 lisäystä ja 1 poistoa
  1. 3 1
      drivers/pwm/core.c

+ 3 - 1
drivers/pwm/core.c

@@ -738,8 +738,10 @@ struct pwm_device *pwm_get(struct device *dev, const char *con_id)
 		}
 		}
 	}
 	}
 
 
-	if (!chosen)
+	if (!chosen) {
+		pwm = ERR_PTR(-ENODEV);
 		goto out;
 		goto out;
+	}
 
 
 	chip = pwmchip_find_by_name(chosen->provider);
 	chip = pwmchip_find_by_name(chosen->provider);
 	if (!chip)
 	if (!chip)