diff options
| author | Tejun Heo <tj@kernel.org> | 2013-06-13 22:38:26 -0400 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2013-06-13 22:42:22 -0400 |
| commit | 2b0e53a7c8a6972755c0f0152d7fad2289fdc5eb (patch) | |
| tree | bf427cbe4b9d85cd5651b01f2f18668e8d12ed45 /drivers/gpu/drm/exynos/exynos_drm_rotator.c | |
| parent | ea15f8ccdb430af1e8bc9b4e19a230eb4c356777 (diff) | |
| parent | dbece3a0f1ef0b19aff1cc6ed0942fec9ab98de1 (diff) | |
Merge branch 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu into for-3.11
This is to receive percpu_refcount which will replace atomic_t
reference count in cgroup_subsys_state.
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_rotator.c')
| -rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_rotator.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_rotator.c b/drivers/gpu/drm/exynos/exynos_drm_rotator.c index 947f09f15ad1..9b6c70964d71 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_rotator.c +++ b/drivers/gpu/drm/exynos/exynos_drm_rotator.c | |||
| @@ -666,8 +666,8 @@ static int rotator_probe(struct platform_device *pdev) | |||
| 666 | return rot->irq; | 666 | return rot->irq; |
| 667 | } | 667 | } |
| 668 | 668 | ||
| 669 | ret = request_threaded_irq(rot->irq, NULL, rotator_irq_handler, | 669 | ret = devm_request_threaded_irq(dev, rot->irq, NULL, |
| 670 | IRQF_ONESHOT, "drm_rotator", rot); | 670 | rotator_irq_handler, IRQF_ONESHOT, "drm_rotator", rot); |
| 671 | if (ret < 0) { | 671 | if (ret < 0) { |
| 672 | dev_err(dev, "failed to request irq\n"); | 672 | dev_err(dev, "failed to request irq\n"); |
| 673 | return ret; | 673 | return ret; |
| @@ -676,8 +676,7 @@ static int rotator_probe(struct platform_device *pdev) | |||
| 676 | rot->clock = devm_clk_get(dev, "rotator"); | 676 | rot->clock = devm_clk_get(dev, "rotator"); |
| 677 | if (IS_ERR(rot->clock)) { | 677 | if (IS_ERR(rot->clock)) { |
| 678 | dev_err(dev, "failed to get clock\n"); | 678 | dev_err(dev, "failed to get clock\n"); |
| 679 | ret = PTR_ERR(rot->clock); | 679 | return PTR_ERR(rot->clock); |
| 680 | goto err_clk_get; | ||
| 681 | } | 680 | } |
| 682 | 681 | ||
| 683 | pm_runtime_enable(dev); | 682 | pm_runtime_enable(dev); |
| @@ -709,10 +708,7 @@ static int rotator_probe(struct platform_device *pdev) | |||
| 709 | return 0; | 708 | return 0; |
| 710 | 709 | ||
| 711 | err_ippdrv_register: | 710 | err_ippdrv_register: |
| 712 | devm_kfree(dev, ippdrv->prop_list); | ||
| 713 | pm_runtime_disable(dev); | 711 | pm_runtime_disable(dev); |
| 714 | err_clk_get: | ||
| 715 | free_irq(rot->irq, rot); | ||
| 716 | return ret; | 712 | return ret; |
| 717 | } | 713 | } |
| 718 | 714 | ||
| @@ -722,13 +718,10 @@ static int rotator_remove(struct platform_device *pdev) | |||
| 722 | struct rot_context *rot = dev_get_drvdata(dev); | 718 | struct rot_context *rot = dev_get_drvdata(dev); |
| 723 | struct exynos_drm_ippdrv *ippdrv = &rot->ippdrv; | 719 | struct exynos_drm_ippdrv *ippdrv = &rot->ippdrv; |
| 724 | 720 | ||
| 725 | devm_kfree(dev, ippdrv->prop_list); | ||
| 726 | exynos_drm_ippdrv_unregister(ippdrv); | 721 | exynos_drm_ippdrv_unregister(ippdrv); |
| 727 | 722 | ||
| 728 | pm_runtime_disable(dev); | 723 | pm_runtime_disable(dev); |
| 729 | 724 | ||
| 730 | free_irq(rot->irq, rot); | ||
| 731 | |||
| 732 | return 0; | 725 | return 0; |
| 733 | } | 726 | } |
| 734 | 727 | ||
