diff options
Diffstat (limited to 'arch/arm/mach-omap2/drm.c')
| -rw-r--r-- | arch/arm/mach-omap2/drm.c | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/arch/arm/mach-omap2/drm.c b/arch/arm/mach-omap2/drm.c index 72e0f01b715..facd7406a03 100644 --- a/arch/arm/mach-omap2/drm.c +++ b/arch/arm/mach-omap2/drm.c @@ -23,39 +23,31 @@ #include <linux/init.h> #include <linux/platform_device.h> #include <linux/dma-mapping.h> +#include <linux/platform_data/omap_drm.h> -#include <plat/omap_device.h> -#include <plat/omap_hwmod.h> +#include "soc.h" +#include "display.h" -#if defined(CONFIG_DRM_OMAP) || (CONFIG_DRM_OMAP_MODULE) +#if defined(CONFIG_DRM_OMAP) || defined(CONFIG_DRM_OMAP_MODULE) + +static struct omap_drm_platform_data platform_data; static struct platform_device omap_drm_device = { .dev = { .coherent_dma_mask = DMA_BIT_MASK(32), + .platform_data = &platform_data, }, .name = "omapdrm", .id = 0, }; -static int __init omap_init_drm(void) +int __init omap_init_drm(void) { - struct omap_hwmod *oh = NULL; - struct platform_device *pdev; - - /* lookup and populate the DMM information, if present - OMAP4+ */ - oh = omap_hwmod_lookup("dmm"); - - if (oh) { - pdev = omap_device_build(oh->name, -1, oh, NULL, 0, NULL, 0, - false); - WARN(IS_ERR(pdev), "Could not build omap_device for %s\n", - oh->name); - } + platform_data.omaprev = GET_OMAP_TYPE; return platform_device_register(&omap_drm_device); } - -arch_initcall(omap_init_drm); - +#else +int __init omap_init_drm(void) { return 0; } #endif |
