diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-02 22:40:34 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-02 22:40:34 -0400 |
commit | 20a2078ce7705a6e0722ef5184336eb8657a58d8 (patch) | |
tree | 5b927c96516380aa0ecd68d8a609f7cd72120ad5 /drivers/video/omap2/omapfb | |
parent | 0279b3c0ada1d78882f24acf94ac4595bd657a89 (diff) | |
parent | 307b9c022720f9de90d58e51743e01e9a42aec59 (diff) |
Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux
Pull drm updates from Dave Airlie:
"This is the main drm pull request for 3.10.
Wierd bits:
- OMAP drm changes required OMAP dss changes, in drivers/video, so I
took them in here.
- one more fbcon fix for font handover
- VT switch avoidance in pm code
- scatterlist helpers for gpu drivers - have acks from akpm
Highlights:
- qxl kms driver - driver for the spice qxl virtual GPU
Nouveau:
- fermi/kepler VRAM compression
- GK110/nvf0 modesetting support.
Tegra:
- host1x core merged with 2D engine support
i915:
- vt switchless resume
- more valleyview support
- vblank fixes
- modesetting pipe config rework
radeon:
- UVD engine support
- SI chip tiling support
- GPU registers initialisation from golden values.
exynos:
- device tree changes
- fimc block support
Otherwise:
- bunches of fixes all over the place."
* 'drm-next' of git://people.freedesktop.org/~airlied/linux: (513 commits)
qxl: update to new idr interfaces.
drm/nouveau: fix build with nv50->nvc0
drm/radeon: fix handling of v6 power tables
drm/radeon: clarify family checks in pm table parsing
drm/radeon: consolidate UVD clock programming
drm/radeon: fix UPLL_REF_DIV_MASK definition
radeon: add bo tracking debugfs
drm/radeon: add new richland pci ids
drm/radeon: add some new SI PCI ids
drm/radeon: fix scratch reg handling for UVD fence
drm/radeon: allocate SA bo in the requested domain
drm/radeon: fix possible segfault when parsing pm tables
drm/radeon: fix endian bugs in atom_allocate_fb_scratch()
OMAPDSS: TFP410: return EPROBE_DEFER if the i2c adapter not found
OMAPDSS: VENC: Add error handling for venc_probe_pdata
OMAPDSS: HDMI: Add error handling for hdmi_probe_pdata
OMAPDSS: RFBI: Add error handling for rfbi_probe_pdata
OMAPDSS: DSI: Add error handling for dsi_probe_pdata
OMAPDSS: SDI: Add error handling for sdi_probe_pdata
OMAPDSS: DPI: Add error handling for dpi_probe_pdata
...
Diffstat (limited to 'drivers/video/omap2/omapfb')
-rw-r--r-- | drivers/video/omap2/omapfb/omapfb-main.c | 32 |
1 files changed, 5 insertions, 27 deletions
diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c index 717f13a93351..c84bb8a4d0c4 100644 --- a/drivers/video/omap2/omapfb/omapfb-main.c +++ b/drivers/video/omap2/omapfb/omapfb-main.c | |||
@@ -2372,7 +2372,7 @@ static int omapfb_init_connections(struct omapfb2_device *fbdev, | |||
2372 | struct omap_dss_device *dssdev = fbdev->displays[i].dssdev; | 2372 | struct omap_dss_device *dssdev = fbdev->displays[i].dssdev; |
2373 | struct omap_dss_output *out = dssdev->output; | 2373 | struct omap_dss_output *out = dssdev->output; |
2374 | 2374 | ||
2375 | mgr = omap_dss_get_overlay_manager(dssdev->channel); | 2375 | mgr = omap_dss_get_overlay_manager(out->dispc_channel); |
2376 | 2376 | ||
2377 | if (!mgr || !out) | 2377 | if (!mgr || !out) |
2378 | continue; | 2378 | continue; |
@@ -2406,7 +2406,7 @@ static int omapfb_init_connections(struct omapfb2_device *fbdev, | |||
2406 | return 0; | 2406 | return 0; |
2407 | } | 2407 | } |
2408 | 2408 | ||
2409 | static int __init omapfb_probe(struct platform_device *pdev) | 2409 | static int omapfb_probe(struct platform_device *pdev) |
2410 | { | 2410 | { |
2411 | struct omapfb2_device *fbdev = NULL; | 2411 | struct omapfb2_device *fbdev = NULL; |
2412 | int r = 0; | 2412 | int r = 0; |
@@ -2468,7 +2468,7 @@ static int __init omapfb_probe(struct platform_device *pdev) | |||
2468 | 2468 | ||
2469 | if (fbdev->num_displays == 0) { | 2469 | if (fbdev->num_displays == 0) { |
2470 | dev_err(&pdev->dev, "no displays\n"); | 2470 | dev_err(&pdev->dev, "no displays\n"); |
2471 | r = -EINVAL; | 2471 | r = -EPROBE_DEFER; |
2472 | goto cleanup; | 2472 | goto cleanup; |
2473 | } | 2473 | } |
2474 | 2474 | ||
@@ -2579,6 +2579,7 @@ static int __exit omapfb_remove(struct platform_device *pdev) | |||
2579 | } | 2579 | } |
2580 | 2580 | ||
2581 | static struct platform_driver omapfb_driver = { | 2581 | static struct platform_driver omapfb_driver = { |
2582 | .probe = omapfb_probe, | ||
2582 | .remove = __exit_p(omapfb_remove), | 2583 | .remove = __exit_p(omapfb_remove), |
2583 | .driver = { | 2584 | .driver = { |
2584 | .name = "omapfb", | 2585 | .name = "omapfb", |
@@ -2586,36 +2587,13 @@ static struct platform_driver omapfb_driver = { | |||
2586 | }, | 2587 | }, |
2587 | }; | 2588 | }; |
2588 | 2589 | ||
2589 | static int __init omapfb_init(void) | ||
2590 | { | ||
2591 | DBG("omapfb_init\n"); | ||
2592 | |||
2593 | if (platform_driver_probe(&omapfb_driver, omapfb_probe)) { | ||
2594 | printk(KERN_ERR "failed to register omapfb driver\n"); | ||
2595 | return -ENODEV; | ||
2596 | } | ||
2597 | |||
2598 | return 0; | ||
2599 | } | ||
2600 | |||
2601 | static void __exit omapfb_exit(void) | ||
2602 | { | ||
2603 | DBG("omapfb_exit\n"); | ||
2604 | platform_driver_unregister(&omapfb_driver); | ||
2605 | } | ||
2606 | |||
2607 | module_param_named(mode, def_mode, charp, 0); | 2590 | module_param_named(mode, def_mode, charp, 0); |
2608 | module_param_named(vram, def_vram, charp, 0); | 2591 | module_param_named(vram, def_vram, charp, 0); |
2609 | module_param_named(rotate, def_rotate, int, 0); | 2592 | module_param_named(rotate, def_rotate, int, 0); |
2610 | module_param_named(vrfb, def_vrfb, bool, 0); | 2593 | module_param_named(vrfb, def_vrfb, bool, 0); |
2611 | module_param_named(mirror, def_mirror, bool, 0); | 2594 | module_param_named(mirror, def_mirror, bool, 0); |
2612 | 2595 | ||
2613 | /* late_initcall to let panel/ctrl drivers loaded first. | 2596 | module_platform_driver(omapfb_driver); |
2614 | * I guess better option would be a more dynamic approach, | ||
2615 | * so that omapfb reacts to new panels when they are loaded */ | ||
2616 | late_initcall(omapfb_init); | ||
2617 | /*module_init(omapfb_init);*/ | ||
2618 | module_exit(omapfb_exit); | ||
2619 | 2597 | ||
2620 | MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@nokia.com>"); | 2598 | MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@nokia.com>"); |
2621 | MODULE_DESCRIPTION("OMAP2/3 Framebuffer"); | 2599 | MODULE_DESCRIPTION("OMAP2/3 Framebuffer"); |