aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/devfreq/devfreq.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-01-08 16:10:57 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-01-08 16:10:57 -0500
commiteb59c505f8a5906ad2e053d14fab50eb8574fd6f (patch)
treec6e875adc12b481b916e847e8f80b8881a0fb02c /drivers/devfreq/devfreq.c
parent1619ed8f60959829d070d8f39cd2f8ca0e7135ce (diff)
parentc233523b3d392e530033a7587d7970dc62a02361 (diff)
Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
* 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits) PM / Hibernate: Implement compat_ioctl for /dev/snapshot PM / Freezer: fix return value of freezable_schedule_timeout_killable() PM / shmobile: Allow the A4R domain to be turned off at run time PM / input / touchscreen: Make st1232 use device PM QoS constraints PM / QoS: Introduce dev_pm_qos_add_ancestor_request() PM / shmobile: Remove the stay_on flag from SH7372's PM domains PM / shmobile: Don't include SH7372's INTCS in syscore suspend/resume PM / shmobile: Add support for the sh7372 A4S power domain / sleep mode PM: Drop generic_subsys_pm_ops PM / Sleep: Remove forward-only callbacks from AMBA bus type PM / Sleep: Remove forward-only callbacks from platform bus type PM: Run the driver callback directly if the subsystem one is not there PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412. PM / Sleep: Merge internal functions in generic_ops.c PM / Sleep: Simplify generic system suspend callbacks PM / Hibernate: Remove deprecated hibernation snapshot ioctls PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled() ARM: S3C64XX: Implement basic power domain support PM / shmobile: Use common always on power domain governor ... Fix up trivial conflict in fs/xfs/xfs_buf.c due to removal of unused XBT_FORCE_SLEEP bit
Diffstat (limited to 'drivers/devfreq/devfreq.c')
-rw-r--r--drivers/devfreq/devfreq.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
index 59d24e9cb8c5..c189b82f5ece 100644
--- a/drivers/devfreq/devfreq.c
+++ b/drivers/devfreq/devfreq.c
@@ -347,7 +347,7 @@ struct devfreq *devfreq_add_device(struct device *dev,
347 if (!IS_ERR(devfreq)) { 347 if (!IS_ERR(devfreq)) {
348 dev_err(dev, "%s: Unable to create devfreq for the device. It already has one.\n", __func__); 348 dev_err(dev, "%s: Unable to create devfreq for the device. It already has one.\n", __func__);
349 err = -EINVAL; 349 err = -EINVAL;
350 goto out; 350 goto err_out;
351 } 351 }
352 } 352 }
353 353
@@ -356,7 +356,7 @@ struct devfreq *devfreq_add_device(struct device *dev,
356 dev_err(dev, "%s: Unable to create devfreq for the device\n", 356 dev_err(dev, "%s: Unable to create devfreq for the device\n",
357 __func__); 357 __func__);
358 err = -ENOMEM; 358 err = -ENOMEM;
359 goto out; 359 goto err_out;
360 } 360 }
361 361
362 mutex_init(&devfreq->lock); 362 mutex_init(&devfreq->lock);
@@ -399,17 +399,16 @@ struct devfreq *devfreq_add_device(struct device *dev,
399 devfreq->next_polling); 399 devfreq->next_polling);
400 } 400 }
401 mutex_unlock(&devfreq_list_lock); 401 mutex_unlock(&devfreq_list_lock);
402 goto out; 402out:
403 return devfreq;
404
403err_init: 405err_init:
404 device_unregister(&devfreq->dev); 406 device_unregister(&devfreq->dev);
405err_dev: 407err_dev:
406 mutex_unlock(&devfreq->lock); 408 mutex_unlock(&devfreq->lock);
407 kfree(devfreq); 409 kfree(devfreq);
408out: 410err_out:
409 if (err) 411 return ERR_PTR(err);
410 return ERR_PTR(err);
411 else
412 return devfreq;
413} 412}
414 413
415/** 414/**