aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap/omapfb_main.c
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@nokia.com>2009-12-16 06:18:07 -0500
committerTomi Valkeinen <tomi.valkeinen@nokia.com>2010-01-11 06:33:09 -0500
commitf778a12dd33200513596a0d4d3ba4d5f09e79c09 (patch)
tree91fbb2cb9e9031fc41e4e649a1a72cec154cb432 /drivers/video/omap/omapfb_main.c
parentfc248a497d83f5aba9d46d7ff114c070fb2a2fa2 (diff)
OMAP: OMAPFB: fix clk_get for RFBI
omapfb platform device was still used to get clocks inside rfbi.c Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com> Tested-by: Sergey Lapin <slapin@ossfans.org>
Diffstat (limited to 'drivers/video/omap/omapfb_main.c')
-rw-r--r--drivers/video/omap/omapfb_main.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c
index c7f59a5ccdbc..f74aec91aee0 100644
--- a/drivers/video/omap/omapfb_main.c
+++ b/drivers/video/omap/omapfb_main.c
@@ -83,6 +83,12 @@ static struct caps_table_struct color_caps[] = {
83 { 1 << OMAPFB_COLOR_YUY422, "YUY422", }, 83 { 1 << OMAPFB_COLOR_YUY422, "YUY422", },
84}; 84};
85 85
86/* dummy device for clocks */
87static struct platform_device omapdss_device = {
88 .name = "omapdss",
89 .id = -1,
90};
91
86/* 92/*
87 * --------------------------------------------------------------------------- 93 * ---------------------------------------------------------------------------
88 * LCD panel 94 * LCD panel
@@ -1700,6 +1706,7 @@ static int omapfb_do_probe(struct platform_device *pdev,
1700 1706
1701 fbdev->dev = &pdev->dev; 1707 fbdev->dev = &pdev->dev;
1702 fbdev->panel = panel; 1708 fbdev->panel = panel;
1709 fbdev->dssdev = &omapdss_device;
1703 platform_set_drvdata(pdev, fbdev); 1710 platform_set_drvdata(pdev, fbdev);
1704 1711
1705 mutex_init(&fbdev->rqueue_mutex); 1712 mutex_init(&fbdev->rqueue_mutex);
@@ -1814,8 +1821,16 @@ cleanup:
1814 1821
1815static int omapfb_probe(struct platform_device *pdev) 1822static int omapfb_probe(struct platform_device *pdev)
1816{ 1823{
1824 int r;
1825
1817 BUG_ON(fbdev_pdev != NULL); 1826 BUG_ON(fbdev_pdev != NULL);
1818 1827
1828 r = platform_device_register(&omapdss_device);
1829 if (r) {
1830 dev_err(&pdev->dev, "can't register omapdss device\n");
1831 return r;
1832 }
1833
1819 /* Delay actual initialization until the LCD is registered */ 1834 /* Delay actual initialization until the LCD is registered */
1820 fbdev_pdev = pdev; 1835 fbdev_pdev = pdev;
1821 if (fbdev_panel != NULL) 1836 if (fbdev_panel != NULL)
@@ -1843,6 +1858,9 @@ static int omapfb_remove(struct platform_device *pdev)
1843 fbdev->state = OMAPFB_DISABLED; 1858 fbdev->state = OMAPFB_DISABLED;
1844 omapfb_free_resources(fbdev, saved_state); 1859 omapfb_free_resources(fbdev, saved_state);
1845 1860
1861 platform_device_unregister(&omapdss_device);
1862 fbdev->dssdev = NULL;
1863
1846 return 0; 1864 return 0;
1847} 1865}
1848 1866