aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2013-05-22 06:19:04 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2013-08-29 09:21:53 -0400
commit09d2e7cdebd53b7572380a215008b334ff6321a5 (patch)
treef284c4f721ad6c0df7ed575724ffdc34ccf0a46b
parentcd6e915b360c26a71aaa634ef6735658b05fe89d (diff)
OMAPDSS: VENC: remove code related to old panel model
Now that the old panel drivers have been removed, we can remove the old-model API and related code from the DSS encoder drivers. This patch removes the code from the VENC driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
-rw-r--r--drivers/video/omap2/dss/Makefile2
-rw-r--r--drivers/video/omap2/dss/dss.h14
-rw-r--r--drivers/video/omap2/dss/venc.c118
3 files changed, 17 insertions, 117 deletions
diff --git a/drivers/video/omap2/dss/Makefile b/drivers/video/omap2/dss/Makefile
index e022ed103804..94832eb06a3d 100644
--- a/drivers/video/omap2/dss/Makefile
+++ b/drivers/video/omap2/dss/Makefile
@@ -7,7 +7,7 @@ omapdss-y += manager.o manager-sysfs.o overlay.o overlay-sysfs.o apply.o \
7 dispc-compat.o display-sysfs.o 7 dispc-compat.o display-sysfs.o
8omapdss-$(CONFIG_OMAP2_DSS_DPI) += dpi.o 8omapdss-$(CONFIG_OMAP2_DSS_DPI) += dpi.o
9omapdss-$(CONFIG_OMAP2_DSS_RFBI) += rfbi.o 9omapdss-$(CONFIG_OMAP2_DSS_RFBI) += rfbi.o
10omapdss-$(CONFIG_OMAP2_DSS_VENC) += venc.o venc_panel.o 10omapdss-$(CONFIG_OMAP2_DSS_VENC) += venc.o
11omapdss-$(CONFIG_OMAP2_DSS_SDI) += sdi.o 11omapdss-$(CONFIG_OMAP2_DSS_SDI) += sdi.o
12omapdss-$(CONFIG_OMAP2_DSS_DSI) += dsi.o 12omapdss-$(CONFIG_OMAP2_DSS_DSI) += dsi.o
13omapdss-$(CONFIG_OMAP4_DSS_HDMI) += hdmi.o ti_hdmi_4xxx_ip.o 13omapdss-$(CONFIG_OMAP4_DSS_HDMI) += hdmi.o ti_hdmi_4xxx_ip.o
diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
index 6142885751e0..68dd27f21a25 100644
--- a/drivers/video/omap2/dss/dss.h
+++ b/drivers/video/omap2/dss/dss.h
@@ -434,20 +434,6 @@ int dispc_wb_setup(const struct omap_dss_writeback_info *wi,
434/* VENC */ 434/* VENC */
435int venc_init_platform_driver(void) __init; 435int venc_init_platform_driver(void) __init;
436void venc_uninit_platform_driver(void) __exit; 436void venc_uninit_platform_driver(void) __exit;
437int omapdss_venc_display_enable(struct omap_dss_device *dssdev);
438void omapdss_venc_display_disable(struct omap_dss_device *dssdev);
439void omapdss_venc_set_timings(struct omap_dss_device *dssdev,
440 struct omap_video_timings *timings);
441int omapdss_venc_check_timings(struct omap_dss_device *dssdev,
442 struct omap_video_timings *timings);
443u32 omapdss_venc_get_wss(struct omap_dss_device *dssdev);
444int omapdss_venc_set_wss(struct omap_dss_device *dssdev, u32 wss);
445void omapdss_venc_set_type(struct omap_dss_device *dssdev,
446 enum omap_dss_venc_type type);
447void omapdss_venc_invert_vid_out_polarity(struct omap_dss_device *dssdev,
448 bool invert_polarity);
449int venc_panel_init(void);
450void venc_panel_exit(void);
451 437
452/* HDMI */ 438/* HDMI */
453int hdmi_init_platform_driver(void) __init; 439int hdmi_init_platform_driver(void) __init;
diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c
index 496a106fe823..0d8ccdeb9639 100644
--- a/drivers/video/omap2/dss/venc.c
+++ b/drivers/video/omap2/dss/venc.c
@@ -492,7 +492,7 @@ static void venc_power_off(struct omap_dss_device *dssdev)
492 venc_runtime_put(); 492 venc_runtime_put();
493} 493}
494 494
495int omapdss_venc_display_enable(struct omap_dss_device *dssdev) 495static int venc_display_enable(struct omap_dss_device *dssdev)
496{ 496{
497 struct omap_dss_device *out = &venc.output; 497 struct omap_dss_device *out = &venc.output;
498 int r; 498 int r;
@@ -521,7 +521,7 @@ err0:
521 return r; 521 return r;
522} 522}
523 523
524void omapdss_venc_display_disable(struct omap_dss_device *dssdev) 524static void venc_display_disable(struct omap_dss_device *dssdev)
525{ 525{
526 DSSDBG("venc_display_disable\n"); 526 DSSDBG("venc_display_disable\n");
527 527
@@ -532,7 +532,7 @@ void omapdss_venc_display_disable(struct omap_dss_device *dssdev)
532 mutex_unlock(&venc.venc_lock); 532 mutex_unlock(&venc.venc_lock);
533} 533}
534 534
535void omapdss_venc_set_timings(struct omap_dss_device *dssdev, 535static void venc_set_timings(struct omap_dss_device *dssdev,
536 struct omap_video_timings *timings) 536 struct omap_video_timings *timings)
537{ 537{
538 DSSDBG("venc_set_timings\n"); 538 DSSDBG("venc_set_timings\n");
@@ -550,7 +550,7 @@ void omapdss_venc_set_timings(struct omap_dss_device *dssdev,
550 mutex_unlock(&venc.venc_lock); 550 mutex_unlock(&venc.venc_lock);
551} 551}
552 552
553int omapdss_venc_check_timings(struct omap_dss_device *dssdev, 553static int venc_check_timings(struct omap_dss_device *dssdev,
554 struct omap_video_timings *timings) 554 struct omap_video_timings *timings)
555{ 555{
556 DSSDBG("venc_check_timings\n"); 556 DSSDBG("venc_check_timings\n");
@@ -574,13 +574,13 @@ static void venc_get_timings(struct omap_dss_device *dssdev,
574 mutex_unlock(&venc.venc_lock); 574 mutex_unlock(&venc.venc_lock);
575} 575}
576 576
577u32 omapdss_venc_get_wss(struct omap_dss_device *dssdev) 577static u32 venc_get_wss(struct omap_dss_device *dssdev)
578{ 578{
579 /* Invert due to VENC_L21_WC_CTL:INV=1 */ 579 /* Invert due to VENC_L21_WC_CTL:INV=1 */
580 return (venc.wss_data >> 8) ^ 0xfffff; 580 return (venc.wss_data >> 8) ^ 0xfffff;
581} 581}
582 582
583int omapdss_venc_set_wss(struct omap_dss_device *dssdev, u32 wss) 583static int venc_set_wss(struct omap_dss_device *dssdev, u32 wss)
584{ 584{
585 const struct venc_config *config; 585 const struct venc_config *config;
586 int r; 586 int r;
@@ -609,7 +609,7 @@ err:
609 return r; 609 return r;
610} 610}
611 611
612void omapdss_venc_set_type(struct omap_dss_device *dssdev, 612static void venc_set_type(struct omap_dss_device *dssdev,
613 enum omap_dss_venc_type type) 613 enum omap_dss_venc_type type)
614{ 614{
615 mutex_lock(&venc.venc_lock); 615 mutex_lock(&venc.venc_lock);
@@ -619,7 +619,7 @@ void omapdss_venc_set_type(struct omap_dss_device *dssdev,
619 mutex_unlock(&venc.venc_lock); 619 mutex_unlock(&venc.venc_lock);
620} 620}
621 621
622void omapdss_venc_invert_vid_out_polarity(struct omap_dss_device *dssdev, 622static void venc_invert_vid_out_polarity(struct omap_dss_device *dssdev,
623 bool invert_polarity) 623 bool invert_polarity)
624{ 624{
625 mutex_lock(&venc.venc_lock); 625 mutex_lock(&venc.venc_lock);
@@ -721,74 +721,6 @@ static int venc_get_clocks(struct platform_device *pdev)
721 return 0; 721 return 0;
722} 722}
723 723
724static struct omap_dss_device *venc_find_dssdev(struct platform_device *pdev)
725{
726 struct omap_dss_board_info *pdata = pdev->dev.platform_data;
727 const char *def_disp_name = omapdss_get_default_display_name();
728 struct omap_dss_device *def_dssdev;
729 int i;
730
731 def_dssdev = NULL;
732
733 for (i = 0; i < pdata->num_devices; ++i) {
734 struct omap_dss_device *dssdev = pdata->devices[i];
735
736 if (dssdev->type != OMAP_DISPLAY_TYPE_VENC)
737 continue;
738
739 if (def_dssdev == NULL)
740 def_dssdev = dssdev;
741
742 if (def_disp_name != NULL &&
743 strcmp(dssdev->name, def_disp_name) == 0) {
744 def_dssdev = dssdev;
745 break;
746 }
747 }
748
749 return def_dssdev;
750}
751
752static int venc_probe_pdata(struct platform_device *vencdev)
753{
754 struct omap_dss_device *plat_dssdev;
755 struct omap_dss_device *dssdev;
756 int r;
757
758 plat_dssdev = venc_find_dssdev(vencdev);
759
760 if (!plat_dssdev)
761 return 0;
762
763 r = venc_init_regulator();
764 if (r)
765 return r;
766
767 dssdev = dss_alloc_and_init_device(&vencdev->dev);
768 if (!dssdev)
769 return -ENOMEM;
770
771 dss_copy_device_pdata(dssdev, plat_dssdev);
772
773 r = omapdss_output_set_device(&venc.output, dssdev);
774 if (r) {
775 DSSERR("failed to connect output to new device: %s\n",
776 dssdev->name);
777 dss_put_device(dssdev);
778 return r;
779 }
780
781 r = dss_add_device(dssdev);
782 if (r) {
783 DSSERR("device %s register failed: %d\n", dssdev->name, r);
784 omapdss_output_unset_device(&venc.output);
785 dss_put_device(dssdev);
786 return r;
787 }
788
789 return 0;
790}
791
792static int venc_connect(struct omap_dss_device *dssdev, 724static int venc_connect(struct omap_dss_device *dssdev,
793 struct omap_dss_device *dst) 725 struct omap_dss_device *dst)
794{ 726{
@@ -836,18 +768,18 @@ static const struct omapdss_atv_ops venc_ops = {
836 .connect = venc_connect, 768 .connect = venc_connect,
837 .disconnect = venc_disconnect, 769 .disconnect = venc_disconnect,
838 770
839 .enable = omapdss_venc_display_enable, 771 .enable = venc_display_enable,
840 .disable = omapdss_venc_display_disable, 772 .disable = venc_display_disable,
841 773
842 .check_timings = omapdss_venc_check_timings, 774 .check_timings = venc_check_timings,
843 .set_timings = omapdss_venc_set_timings, 775 .set_timings = venc_set_timings,
844 .get_timings = venc_get_timings, 776 .get_timings = venc_get_timings,
845 777
846 .set_type = omapdss_venc_set_type, 778 .set_type = venc_set_type,
847 .invert_vid_out_polarity = omapdss_venc_invert_vid_out_polarity, 779 .invert_vid_out_polarity = venc_invert_vid_out_polarity,
848 780
849 .set_wss = omapdss_venc_set_wss, 781 .set_wss = venc_set_wss,
850 .get_wss = omapdss_venc_get_wss, 782 .get_wss = venc_get_wss,
851}; 783};
852 784
853static void venc_init_output(struct platform_device *pdev) 785static void venc_init_output(struct platform_device *pdev)
@@ -913,26 +845,12 @@ static int omap_venchw_probe(struct platform_device *pdev)
913 845
914 venc_runtime_put(); 846 venc_runtime_put();
915 847
916 r = venc_panel_init();
917 if (r)
918 goto err_panel_init;
919
920 dss_debugfs_create_file("venc", venc_dump_regs); 848 dss_debugfs_create_file("venc", venc_dump_regs);
921 849
922 venc_init_output(pdev); 850 venc_init_output(pdev);
923 851
924 if (pdev->dev.platform_data) {
925 r = venc_probe_pdata(pdev);
926 if (r)
927 goto err_probe;
928 }
929
930 return 0; 852 return 0;
931 853
932err_probe:
933 venc_panel_exit();
934 venc_uninit_output(pdev);
935err_panel_init:
936err_runtime_get: 854err_runtime_get:
937 pm_runtime_disable(&pdev->dev); 855 pm_runtime_disable(&pdev->dev);
938 return r; 856 return r;
@@ -940,10 +858,6 @@ err_runtime_get:
940 858
941static int __exit omap_venchw_remove(struct platform_device *pdev) 859static int __exit omap_venchw_remove(struct platform_device *pdev)
942{ 860{
943 dss_unregister_child_devices(&pdev->dev);
944
945 venc_panel_exit();
946
947 venc_uninit_output(pdev); 861 venc_uninit_output(pdev);
948 862
949 pm_runtime_disable(&pdev->dev); 863 pm_runtime_disable(&pdev->dev);