| /* | 
 |  * DRM/KMS device registration for TI OMAP platforms | 
 |  * | 
 |  * Copyright (C) 2012 Texas Instruments | 
 |  * Author: Rob Clark <rob.clark@linaro.org> | 
 |  * | 
 |  * This program is free software; you can redistribute it and/or modify it | 
 |  * under the terms of the GNU General Public License version 2 as published by | 
 |  * the Free Software Foundation. | 
 |  * | 
 |  * This program is distributed in the hope that it will be useful, but WITHOUT | 
 |  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | 
 |  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for | 
 |  * more details. | 
 |  * | 
 |  * You should have received a copy of the GNU General Public License along with | 
 |  * this program.  If not, see <http://www.gnu.org/licenses/>. | 
 |  */ | 
 |  | 
 | #include <linux/module.h> | 
 | #include <linux/kernel.h> | 
 | #include <linux/mm.h> | 
 | #include <linux/init.h> | 
 | #include <linux/platform_device.h> | 
 | #include <linux/dma-mapping.h> | 
 | #include <linux/platform_data/omap_drm.h> | 
 |  | 
 | #include "soc.h" | 
 | #include "omap_device.h" | 
 | #include "omap_hwmod.h" | 
 |  | 
 | #if defined(CONFIG_DRM_OMAP) || (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) | 
 | { | 
 | 	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); | 
 | 		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); | 
 |  | 
 | } | 
 |  | 
 | omap_arch_initcall(omap_init_drm); | 
 |  | 
 | #endif |