[ARM] 5141/1: PWM: pwm_request() should return an PTR_ERR() instead of NULL.

Make the return of pwm_request() be more informative than just
being NULL on error by using PTR_ERR() to respond with an
approriate error.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Ben Dooks 2008-07-01 14:18:27 +01:00 committed by Russell King
parent 3b73125af6
commit 43bda1a6d2
2 changed files with 13 additions and 7 deletions

View File

@ -119,17 +119,23 @@ struct pwm_device *pwm_request(int pwm_id, const char *label)
mutex_lock(&pwm_lock);
list_for_each_entry(pwm, &pwm_list, node) {
if (pwm->pwm_id == pwm_id && pwm->use_count == 0) {
pwm->use_count++;
pwm->label = label;
if (pwm->pwm_id == pwm_id) {
found = 1;
break;
}
}
mutex_unlock(&pwm_lock);
if (found) {
if (pwm->use_count == 0) {
pwm->use_count++;
pwm->label = label;
} else
pwm = ERR_PTR(-EBUSY);
} else
pwm = ERR_PTR(-ENOENT);
return (found) ? pwm : NULL;
mutex_unlock(&pwm_lock);
return pwm;
}
EXPORT_SYMBOL(pwm_request);

View File

@ -87,9 +87,9 @@ static int pwm_backlight_probe(struct platform_device *pdev)
pb->notify = data->notify;
pb->pwm = pwm_request(data->pwm_id, "backlight");
if (pb->pwm == NULL) {
if (IS_ERR(pb->pwm)) {
dev_err(&pdev->dev, "unable to request PWM for backlight\n");
ret = -EBUSY;
ret = PTR_ERR(pb->pwm);
goto err_pwm;
}