|
@@ -661,10 +661,16 @@ struct pwm_device *pwm_get(struct device *dev, const char *con_id)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ mutex_unlock(&pwm_lookup_lock);
|
|
|
+
|
|
|
if (chip)
|
|
|
pwm = pwm_request_from_chip(chip, index, con_id ?: dev_id);
|
|
|
+ if (IS_ERR(pwm))
|
|
|
+ return pwm;
|
|
|
+
|
|
|
+ pwm_set_period(pwm, p->period);
|
|
|
+ pwm_set_polarity(pwm, p->polarity);
|
|
|
|
|
|
- mutex_unlock(&pwm_lookup_lock);
|
|
|
|
|
|
return pwm;
|
|
|
}
|