aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/omapdrm
diff options
context:
space:
mode:
authorRob Clark <rob@ti.com>2012-10-29 09:31:12 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-10-30 11:10:00 -0700
commit5e3b08749951e5746d3e747f1ffae37eff2d08d5 (patch)
treebfab9efe3cc06d1208ab4a1b7cc180154d07a91f /drivers/staging/omapdrm
parentstaging: drm/omap: remove global drm_device ptr (diff)
downloadlinux-dev-5e3b08749951e5746d3e747f1ffae37eff2d08d5.tar.xz
linux-dev-5e3b08749951e5746d3e747f1ffae37eff2d08d5.zip
staging: drm/omap: add support for ARCH_MULTIPLATFORM
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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/omapdrm')
-rw-r--r--drivers/staging/omapdrm/Kconfig2
-rw-r--r--drivers/staging/omapdrm/omap_dmm_tiler.h1
-rw-r--r--drivers/staging/omapdrm/omap_drv.c6
-rw-r--r--drivers/staging/omapdrm/omap_drv.h2
4 files changed, 8 insertions, 3 deletions
diff --git a/drivers/staging/omapdrm/Kconfig b/drivers/staging/omapdrm/Kconfig
index 81a7cba4a0c5..b724a4131435 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
select DRM_KMS_HELPER
select OMAP2_DSS
select FB_SYS_FILLRECT
diff --git a/drivers/staging/omapdrm/omap_dmm_tiler.h b/drivers/staging/omapdrm/omap_dmm_tiler.h
index c0271a2ac877..4fdd61e54bd2 100644
--- a/drivers/staging/omapdrm/omap_dmm_tiler.h
+++ b/drivers/staging/omapdrm/omap_dmm_tiler.h
@@ -16,7 +16,6 @@
#ifndef OMAP_DMM_TILER_H
#define OMAP_DMM_TILER_H
-#include <plat/cpu.h>
#include "omap_drv.h"
#include "tcm.h"
diff --git a/drivers/staging/omapdrm/omap_drv.c b/drivers/staging/omapdrm/omap_drv.c
index 09653b88e0ec..6ae2f763b27a 100644
--- a/drivers/staging/omapdrm/omap_drv.c
+++ b/drivers/staging/omapdrm/omap_drv.c
@@ -417,13 +417,14 @@ static void omap_modeset_free(struct drm_device *dev)
static int ioctl_get_param(struct drm_device *dev, void *data,
struct drm_file *file_priv)
{
+ struct omap_drm_private *priv = dev->dev_private;
struct drm_omap_param *args = data;
DBG("%p: param=%llu", dev, args->param);
switch (args->param) {
case OMAP_PARAM_CHIPSET_ID:
- args->value = GET_OMAP_TYPE;
+ args->value = priv->omaprev;
break;
default:
DBG("unknown parameter %lld", args->param);
@@ -555,6 +556,7 @@ struct drm_ioctl_desc ioctls[DRM_COMMAND_END - DRM_COMMAND_BASE] = {
*/
static int dev_load(struct drm_device *dev, unsigned long flags)
{
+ struct omap_drm_platform_data *pdata = dev->dev->platform_data;
struct omap_drm_private *priv;
int ret;
@@ -566,6 +568,8 @@ static int dev_load(struct drm_device *dev, unsigned long flags)
return -ENOMEM;
}
+ priv->omaprev = pdata->omaprev;
+
dev->dev_private = priv;
priv->wq = alloc_ordered_workqueue("omapdrm", 0);
diff --git a/drivers/staging/omapdrm/omap_drv.h b/drivers/staging/omapdrm/omap_drv.h
index 9dc72d143ff3..8f7c447930fa 100644
--- a/drivers/staging/omapdrm/omap_drv.h
+++ b/drivers/staging/omapdrm/omap_drv.h
@@ -40,6 +40,8 @@
#define MAX_MAPPERS 2
struct omap_drm_private {
+ uint32_t omaprev;
+
unsigned int num_crtcs;
struct drm_crtc *crtcs[8];