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>
        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);
 
 
        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;
        }