[PATCH] ARM: OMAP3: fix build on !CONFIG_IOMMU_API
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Thu Jan 12 07:07:13 EST 2012
Hi Ohad,
On Wednesday 11 January 2012 14:28:11 Ohad Ben-Cohen wrote:
> omap3isp depends on CONFIG_IOMMU_API, so avoid registering its
> device (and defining its configuration structs) on !CONFIG_IOMMU_API.
>
> This is generally nice to have, but more importantly, it fixes:
>
> arch/arm/plat-omap/include/plat/iommu.h: In function 'dev_to_omap_iommu':
> arch/arm/plat-omap/include/plat/iommu.h:135: error: 'struct
> dev_archdata' has no member named 'iommu'
> arch/arm/mach-omap2/devices.c: In function 'omap3_init_camera':
> arch/arm/mach-omap2/devices.c:222: error: 'struct dev_archdata' has no
> member named 'iommu'
> make[1]: *** [arch/arm/mach-omap2/devices.o] Error 1
> make: *** [arch/arm/mach-omap2] Error 2
>
> Which happens because while setting up the omap3isp device we try
> to access the (now nonexistent) iommu member of dev_archdata.
>
> Compile tested with omap2plus_defconfig on today's:
>
> commit e343a895a9f342f239c5e3c5ffc6c0b1707e6244
> Merge: 06792c4 193a667
> Author: Linus Torvalds <torvalds at linux-foundation.org>
> Date: Tue Jan 10 18:04:27 2012 -0800
>
> Merge tag 'for-linus' of
> git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
>
> Reported-by: Govindraj Raja <govindraj.raja at ti.com>
> Reported-by: Arik Nemtsov <arik at wizery.com>
> Signed-off-by: Ohad Ben-Cohen <ohad at wizery.com>
> Cc: Tony Lindgren <tony at atomide.com>
> Cc: Joerg Roedel <Joerg.Roedel at amd.com>
> Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Acked-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> Sorry guys, my bad.
>
> arch/arm/mach-omap2/devices.c | 14 +++++++++++++-
> 1 files changed, 13 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
> index 46dfd1a..0b510ad 100644
> --- a/arch/arm/mach-omap2/devices.c
> +++ b/arch/arm/mach-omap2/devices.c
> @@ -28,7 +28,6 @@
> #include <plat/board.h>
> #include <plat/mcbsp.h>
> #include <plat/mmc.h>
> -#include <plat/iommu.h>
> #include <plat/dma.h>
> #include <plat/omap_hwmod.h>
> #include <plat/omap_device.h>
> @@ -128,6 +127,10 @@ static struct platform_device omap2cam_device = {
> };
> #endif
>
> +#if defined(CONFIG_IOMMU_API)
> +
> +#include <plat/iommu.h>
> +
> static struct resource omap3isp_resources[] = {
> {
> .start = OMAP3430_ISP_BASE,
> @@ -224,6 +227,15 @@ int omap3_init_camera(struct isp_platform_data *pdata)
> return platform_device_register(&omap3isp_device);
> }
>
> +#else /* !CONFIG_IOMMU_API */
> +
> +int omap3_init_camera(struct isp_platform_data *pdata)
> +{
> + return 0;
> +}
> +
> +#endif
> +
> static inline void omap_init_camera(void)
> {
> #if defined(CONFIG_VIDEO_OMAP2) || defined(CONFIG_VIDEO_OMAP2_MODULE)
--
Regards,
Laurent Pinchart
More information about the linux-arm-kernel
mailing list