diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2013-05-17 05:48:55 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2013-06-17 07:00:47 -0400 |
commit | 7e436bb2e3b14706a8bbed21d8d244a89199a907 (patch) | |
tree | 9490ed0f02995f2d24218e90fcac20b14a02dbc3 | |
parent | 46c4b64516d54d149a3050c29e3ca06842f609b3 (diff) |
OMAPDSS: VENC: clean up regulator init
Clean up the VENC driver's regulator init to remove the (unused)
omap_dss_device parameter, renaming the function to a more sensible
name, and making the code slightly clearer.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
-rw-r--r-- | drivers/video/omap2/dss/venc.c | 37 |
1 files changed, 14 insertions, 23 deletions
diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c index 7b2e3ae18bd7..a06c8600a912 100644 --- a/drivers/video/omap2/dss/venc.c +++ b/drivers/video/omap2/dss/venc.c | |||
@@ -633,23 +633,22 @@ void omapdss_venc_invert_vid_out_polarity(struct omap_dss_device *dssdev, | |||
633 | mutex_unlock(&venc.venc_lock); | 633 | mutex_unlock(&venc.venc_lock); |
634 | } | 634 | } |
635 | 635 | ||
636 | static int venc_init_display(struct omap_dss_device *dssdev) | 636 | static int venc_init_regulator(void) |
637 | { | 637 | { |
638 | DSSDBG("init_display\n"); | 638 | struct regulator *vdda_dac; |
639 | 639 | ||
640 | if (venc.vdda_dac_reg == NULL) { | 640 | if (venc.vdda_dac_reg != NULL) |
641 | struct regulator *vdda_dac; | 641 | return 0; |
642 | |||
643 | vdda_dac = regulator_get(&venc.pdev->dev, "vdda_dac"); | ||
644 | 642 | ||
645 | if (IS_ERR(vdda_dac)) { | 643 | vdda_dac = devm_regulator_get(&venc.pdev->dev, "vdda_dac"); |
646 | DSSERR("can't get VDDA_DAC regulator\n"); | ||
647 | return PTR_ERR(vdda_dac); | ||
648 | } | ||
649 | 644 | ||
650 | venc.vdda_dac_reg = vdda_dac; | 645 | if (IS_ERR(vdda_dac)) { |
646 | DSSERR("can't get VDDA_DAC regulator\n"); | ||
647 | return PTR_ERR(vdda_dac); | ||
651 | } | 648 | } |
652 | 649 | ||
650 | venc.vdda_dac_reg = vdda_dac; | ||
651 | |||
653 | return 0; | 652 | return 0; |
654 | } | 653 | } |
655 | 654 | ||
@@ -765,19 +764,16 @@ static int venc_probe_pdata(struct platform_device *vencdev) | |||
765 | if (!plat_dssdev) | 764 | if (!plat_dssdev) |
766 | return 0; | 765 | return 0; |
767 | 766 | ||
767 | r = venc_init_regulator(); | ||
768 | if (r) | ||
769 | return r; | ||
770 | |||
768 | dssdev = dss_alloc_and_init_device(&vencdev->dev); | 771 | dssdev = dss_alloc_and_init_device(&vencdev->dev); |
769 | if (!dssdev) | 772 | if (!dssdev) |
770 | return -ENOMEM; | 773 | return -ENOMEM; |
771 | 774 | ||
772 | dss_copy_device_pdata(dssdev, plat_dssdev); | 775 | dss_copy_device_pdata(dssdev, plat_dssdev); |
773 | 776 | ||
774 | r = venc_init_display(dssdev); | ||
775 | if (r) { | ||
776 | DSSERR("device %s init failed: %d\n", dssdev->name, r); | ||
777 | dss_put_device(dssdev); | ||
778 | return r; | ||
779 | } | ||
780 | |||
781 | r = omapdss_output_set_device(&venc.output, dssdev); | 777 | r = omapdss_output_set_device(&venc.output, dssdev); |
782 | if (r) { | 778 | if (r) { |
783 | DSSERR("failed to connect output to new device: %s\n", | 779 | DSSERR("failed to connect output to new device: %s\n", |
@@ -887,11 +883,6 @@ static int __exit omap_venchw_remove(struct platform_device *pdev) | |||
887 | { | 883 | { |
888 | dss_unregister_child_devices(&pdev->dev); | 884 | dss_unregister_child_devices(&pdev->dev); |
889 | 885 | ||
890 | if (venc.vdda_dac_reg != NULL) { | ||
891 | regulator_put(venc.vdda_dac_reg); | ||
892 | venc.vdda_dac_reg = NULL; | ||
893 | } | ||
894 | |||
895 | venc_panel_exit(); | 886 | venc_panel_exit(); |
896 | 887 | ||
897 | venc_uninit_output(pdev); | 888 | venc_uninit_output(pdev); |