On 2012-10-29 10:31, Rob Clark wrote:
From: Rob Clark rob@ti.com
Remove usage of plat/cpu.h and get information from platform data instead. This enables omapdrm to be built with ARCH_MULTIPLATFORM.
Signed-off-by: Rob Clark rob@ti.com
arch/arm/mach-omap2/drm.c | 7 +++++++ drivers/staging/omapdrm/Kconfig | 2 +- drivers/staging/omapdrm/omap_dmm_tiler.h | 1 - drivers/staging/omapdrm/omap_drv.c | 6 +++++- drivers/staging/omapdrm/omap_drv.h | 2 ++ include/linux/platform_data/omap_drm.h | 1 + 6 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/arch/arm/mach-omap2/drm.c b/arch/arm/mach-omap2/drm.c index 72e0f01b..49a7ffb 100644 --- a/arch/arm/mach-omap2/drm.c +++ b/arch/arm/mach-omap2/drm.c @@ -23,15 +23,20 @@ #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 <plat/cpu.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),
}, .name = "omapdrm", .id = 0,.platform_data = &platform_data,
@@ -52,6 +57,8 @@ static int __init omap_init_drm(void) oh->name); }
- platform_data.omaprev = GET_OMAP_REVISION();
- return platform_device_register(&omap_drm_device);
} diff --git a/drivers/staging/omapdrm/Kconfig b/drivers/staging/omapdrm/Kconfig index 81a7cba..b724a41 100644 --- a/drivers/staging/omapdrm/Kconfig +++ b/drivers/staging/omapdrm/Kconfig @@ -2,7 +2,7 @@ config DRM_OMAP tristate "OMAP DRM" depends on DRM && !CONFIG_FB_OMAP2
- depends on ARCH_OMAP2PLUS
- depends on ARCH_OMAP2PLUS || ARCH_MULTIPLATFORM
If you remove the omap include dependencies, is there any reason to keep ARCH_OMAP2PLUS here? And if you remove that, you don't need ARCH_MULTIPLATFORM either.
omapdrm is not a driver for OMAP, even if the name so suggests. It's a driver for a display subsystem hardware, that happens to be used in OMAP (with the help of omapdss driver), and the tiler memory system used in OMAP.
I just recently removed omap dependencies from omapdss driver, and it now compiles fine on x86 config also.
Tomi