diff options
author | Tomi Valkeinen <tomi.valkeinen@nokia.com> | 2009-12-16 06:18:07 -0500 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@nokia.com> | 2010-01-11 06:33:09 -0500 |
commit | f778a12dd33200513596a0d4d3ba4d5f09e79c09 (patch) | |
tree | 91fbb2cb9e9031fc41e4e649a1a72cec154cb432 /drivers/video/omap/omapfb_main.c | |
parent | fc248a497d83f5aba9d46d7ff114c070fb2a2fa2 (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.c | 18 |
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 */ | ||
87 | static 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 | ||
1815 | static int omapfb_probe(struct platform_device *pdev) | 1822 | static 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 | ||