* [PATCH 0/3] Add ARCH_MULTIPLATFORM support @ 2012-10-29 8:31 Rob Clark 2012-10-29 8:31 ` [PATCH 1/3] drm/omap: add support for ARCH_MULTIPLATFORM Rob Clark ` (2 more replies) 0 siblings, 3 replies; 9+ messages in thread From: Rob Clark @ 2012-10-29 8:31 UTC (permalink / raw) To: dri-devel; +Cc: patches, Greg KH, Tomi Valkeinen, Rob Clark From: Rob Clark <rob@ti.com> I was updating omapdrm to support ARCH_MULTIPLATFORM, and noticed that imx and exynos only required a Kconfig change, so I went ahead and updated them too. The shmobile driver didn't seem so straightforward due to backlight device stuff, so I skipped it. Having ARCH_MULTIPLATFORM support is quite convenient to be able to at least compile test the different ARM DRM devices without having to switch configs. Rob Clark (3): drm/omap: add support for ARCH_MULTIPLATFORM drm/exynos: add support for ARCH_MULTIPLATFORM drm/imx: add support for ARCH_MULTIPLATFORM arch/arm/mach-omap2/drm.c | 7 +++++++ drivers/gpu/drm/exynos/Kconfig | 2 +- drivers/staging/imx-drm/Kconfig | 2 +- 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 + 8 files changed, 18 insertions(+), 5 deletions(-) -- 1.7.9.5 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/3] drm/omap: add support for ARCH_MULTIPLATFORM 2012-10-29 8:31 [PATCH 0/3] Add ARCH_MULTIPLATFORM support Rob Clark @ 2012-10-29 8:31 ` Rob Clark 2012-10-29 9:04 ` Tomi Valkeinen 2012-10-29 8:31 ` [PATCH 2/3] drm/exynos: " Rob Clark 2012-10-29 8:31 ` [PATCH 3/3] drm/imx: " Rob Clark 2 siblings, 1 reply; 9+ messages in thread From: Rob Clark @ 2012-10-29 8:31 UTC (permalink / raw) To: dri-devel; +Cc: patches, Greg KH, Tomi Valkeinen, Rob Clark 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), + .platform_data = &platform_data, }, .name = "omapdrm", .id = 0, @@ -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 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 c0271a2..4fdd61e 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 c27d091..4f5b4c7 100644 --- a/drivers/staging/omapdrm/omap_drv.c +++ b/drivers/staging/omapdrm/omap_drv.c @@ -278,13 +278,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); @@ -416,6 +417,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; @@ -427,6 +429,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 834b4f1..b2f1751 100644 --- a/drivers/staging/omapdrm/omap_drv.h +++ b/drivers/staging/omapdrm/omap_drv.h @@ -89,6 +89,8 @@ int omap_irq_wait(struct drm_device *dev, struct omap_irq_wait *wait, unsigned long timeout); struct omap_drm_private { + uint32_t omaprev; + unsigned int num_crtcs; struct drm_crtc *crtcs[8]; diff --git a/include/linux/platform_data/omap_drm.h b/include/linux/platform_data/omap_drm.h index 3da73bdc..f4e4a237 100644 --- a/include/linux/platform_data/omap_drm.h +++ b/include/linux/platform_data/omap_drm.h @@ -46,6 +46,7 @@ struct omap_kms_platform_data { }; struct omap_drm_platform_data { + uint32_t omaprev; struct omap_kms_platform_data *kms_pdata; }; -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] drm/omap: add support for ARCH_MULTIPLATFORM 2012-10-29 8:31 ` [PATCH 1/3] drm/omap: add support for ARCH_MULTIPLATFORM Rob Clark @ 2012-10-29 9:04 ` Tomi Valkeinen 2012-10-29 9:27 ` Rob Clark 0 siblings, 1 reply; 9+ messages in thread From: Tomi Valkeinen @ 2012-10-29 9:04 UTC (permalink / raw) To: Rob Clark; +Cc: patches, Greg KH, dri-devel, Rob Clark [-- Attachment #1.1: Type: text/plain, Size: 2547 bytes --] 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), > + .platform_data = &platform_data, > }, > .name = "omapdrm", > .id = 0, > @@ -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 [-- Attachment #1.2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 897 bytes --] [-- Attachment #2: Type: text/plain, Size: 159 bytes --] _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] drm/omap: add support for ARCH_MULTIPLATFORM 2012-10-29 9:04 ` Tomi Valkeinen @ 2012-10-29 9:27 ` Rob Clark 0 siblings, 0 replies; 9+ messages in thread From: Rob Clark @ 2012-10-29 9:27 UTC (permalink / raw) To: Tomi Valkeinen; +Cc: patches, Greg KH, dri-devel On Mon, Oct 29, 2012 at 10:04 AM, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote: > 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), >> + .platform_data = &platform_data, >> }, >> .name = "omapdrm", >> .id = 0, >> @@ -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. I suppose probably not.. although it does seem a bit pointless to build it for x86 for the most point, other than compile testing changes in drm core. I could go with whichever approach that people prefer. BR, -R > 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 > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/3] drm/exynos: add support for ARCH_MULTIPLATFORM 2012-10-29 8:31 [PATCH 0/3] Add ARCH_MULTIPLATFORM support Rob Clark 2012-10-29 8:31 ` [PATCH 1/3] drm/omap: add support for ARCH_MULTIPLATFORM Rob Clark @ 2012-10-29 8:31 ` Rob Clark 2012-10-30 18:08 ` Greg KH 2012-10-29 8:31 ` [PATCH 3/3] drm/imx: " Rob Clark 2 siblings, 1 reply; 9+ messages in thread From: Rob Clark @ 2012-10-29 8:31 UTC (permalink / raw) To: dri-devel; +Cc: patches, Greg KH, Tomi Valkeinen, Rob Clark From: Rob Clark <rob@ti.com> Exynos does not seem to have any dependency on anything from platform headers so just needs Kconfig updated to build in ARCH_MULTIPLATFORM builds. Signed-off-by: Rob Clark <rob@ti.com> --- drivers/gpu/drm/exynos/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/exynos/Kconfig b/drivers/gpu/drm/exynos/Kconfig index 59a26e5..fc345d4 100644 --- a/drivers/gpu/drm/exynos/Kconfig +++ b/drivers/gpu/drm/exynos/Kconfig @@ -1,6 +1,6 @@ config DRM_EXYNOS tristate "DRM Support for Samsung SoC EXYNOS Series" - depends on DRM && PLAT_SAMSUNG + depends on DRM && (PLAT_SAMSUNG || ARCH_MULTIPLATFORM) select DRM_KMS_HELPER select FB_CFB_FILLRECT select FB_CFB_COPYAREA -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] drm/exynos: add support for ARCH_MULTIPLATFORM 2012-10-29 8:31 ` [PATCH 2/3] drm/exynos: " Rob Clark @ 2012-10-30 18:08 ` Greg KH 2012-10-31 0:52 ` Inki Dae 0 siblings, 1 reply; 9+ messages in thread From: Greg KH @ 2012-10-30 18:08 UTC (permalink / raw) To: Rob Clark; +Cc: patches, dri-devel, Tomi Valkeinen, Rob Clark On Mon, Oct 29, 2012 at 09:31:13AM +0100, Rob Clark wrote: > From: Rob Clark <rob@ti.com> > > Exynos does not seem to have any dependency on anything from > platform headers so just needs Kconfig updated to build in > ARCH_MULTIPLATFORM builds. > > Signed-off-by: Rob Clark <rob@ti.com> > --- > drivers/gpu/drm/exynos/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) As this isn't in the drivers/staging/ directory, I can't take this, it should go through the drm tree. thanks, greg k-h ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] drm/exynos: add support for ARCH_MULTIPLATFORM 2012-10-30 18:08 ` Greg KH @ 2012-10-31 0:52 ` Inki Dae 0 siblings, 0 replies; 9+ messages in thread From: Inki Dae @ 2012-10-31 0:52 UTC (permalink / raw) To: Greg KH; +Cc: Tomi Valkeinen, patches, Rob Clark, dri-devel, Rob Clark 2012/10/31 Greg KH <greg@kroah.com>: > On Mon, Oct 29, 2012 at 09:31:13AM +0100, Rob Clark wrote: >> From: Rob Clark <rob@ti.com> >> >> Exynos does not seem to have any dependency on anything from >> platform headers so just needs Kconfig updated to build in >> ARCH_MULTIPLATFORM builds. >> >> Signed-off-by: Rob Clark <rob@ti.com> >> --- >> drivers/gpu/drm/exynos/Kconfig | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) > > As this isn't in the drivers/staging/ directory, I can't take this, it > should go through the drm tree. > > thanks, Applied. Thank you, Inki Dae > > greg k-h > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 3/3] drm/imx: add support for ARCH_MULTIPLATFORM 2012-10-29 8:31 [PATCH 0/3] Add ARCH_MULTIPLATFORM support Rob Clark 2012-10-29 8:31 ` [PATCH 1/3] drm/omap: add support for ARCH_MULTIPLATFORM Rob Clark 2012-10-29 8:31 ` [PATCH 2/3] drm/exynos: " Rob Clark @ 2012-10-29 8:31 ` Rob Clark 2012-10-29 8:36 ` Sascha Hauer 2 siblings, 1 reply; 9+ messages in thread From: Rob Clark @ 2012-10-29 8:31 UTC (permalink / raw) To: dri-devel; +Cc: patches, Greg KH, Tomi Valkeinen, Rob Clark From: Rob Clark <rob@ti.com> No dependency on plat headers, so only needs Kconfig update to build for ARCH_MULTIPLATFORM. Signed-off-by: Rob Clark <rob@ti.com> --- drivers/staging/imx-drm/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/imx-drm/Kconfig b/drivers/staging/imx-drm/Kconfig index 14b4449..be7e2e3 100644 --- a/drivers/staging/imx-drm/Kconfig +++ b/drivers/staging/imx-drm/Kconfig @@ -3,7 +3,7 @@ config DRM_IMX select DRM_KMS_HELPER select DRM_GEM_CMA_HELPER select DRM_KMS_CMA_HELPER - depends on DRM && ARCH_MXC + depends on DRM && (ARCH_MXC || ARCH_MULTIPLATFORM) help enable i.MX graphics support -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] drm/imx: add support for ARCH_MULTIPLATFORM 2012-10-29 8:31 ` [PATCH 3/3] drm/imx: " Rob Clark @ 2012-10-29 8:36 ` Sascha Hauer 0 siblings, 0 replies; 9+ messages in thread From: Sascha Hauer @ 2012-10-29 8:36 UTC (permalink / raw) To: Rob Clark; +Cc: patches, Greg KH, dri-devel, Tomi Valkeinen, Rob Clark On Mon, Oct 29, 2012 at 09:31:14AM +0100, Rob Clark wrote: > From: Rob Clark <rob@ti.com> > > No dependency on plat headers, so only needs Kconfig update to > build for ARCH_MULTIPLATFORM. > > Signed-off-by: Rob Clark <rob@ti.com> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Sascha > --- > drivers/staging/imx-drm/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/staging/imx-drm/Kconfig b/drivers/staging/imx-drm/Kconfig > index 14b4449..be7e2e3 100644 > --- a/drivers/staging/imx-drm/Kconfig > +++ b/drivers/staging/imx-drm/Kconfig > @@ -3,7 +3,7 @@ config DRM_IMX > select DRM_KMS_HELPER > select DRM_GEM_CMA_HELPER > select DRM_KMS_CMA_HELPER > - depends on DRM && ARCH_MXC > + depends on DRM && (ARCH_MXC || ARCH_MULTIPLATFORM) > help > enable i.MX graphics support > > -- > 1.7.9.5 > > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-10-31 0:52 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-10-29 8:31 [PATCH 0/3] Add ARCH_MULTIPLATFORM support Rob Clark 2012-10-29 8:31 ` [PATCH 1/3] drm/omap: add support for ARCH_MULTIPLATFORM Rob Clark 2012-10-29 9:04 ` Tomi Valkeinen 2012-10-29 9:27 ` Rob Clark 2012-10-29 8:31 ` [PATCH 2/3] drm/exynos: " Rob Clark 2012-10-30 18:08 ` Greg KH 2012-10-31 0:52 ` Inki Dae 2012-10-29 8:31 ` [PATCH 3/3] drm/imx: " Rob Clark 2012-10-29 8:36 ` Sascha Hauer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).