From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Cc: Linux Media Mailing List <linux-media@vger.kernel.org>,
Mauro Carvalho Chehab <mchehab@infradead.org>,
Hans Verkuil <hans.verkuil@cisco.com>,
Arnd Bergmann <arnd@arndb.de>,
Stanimir Varbanov <stanimir.varbanov@linaro.org>,
Benjamin Gaignard <benjamin.gaignard@linaro.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
Subject: Re: [PATCH 02/16] media: omap3isp: allow it to build with COMPILE_TEST
Date: Thu, 05 Apr 2018 21:30:27 +0300 [thread overview]
Message-ID: <2233233.yQEdpcOfql@avalon> (raw)
In-Reply-To: <f618981fec34acc5eee211b34a0018752634af9c.1522949748.git.mchehab@s-opensource.com>
Hi Mauro,
Thank you for the patch.
On Thursday, 5 April 2018 20:54:02 EEST Mauro Carvalho Chehab wrote:
> There aren't much things required for it to build with COMPILE_TEST.
> It just needs to provide stub for an arm-dependent include.
>
> Let's replicate the same solution used by ipmmu-vmsa, in order
> to allow building omap3 with COMPILE_TEST.
>
> The actual logic here came from this driver:
>
> drivers/iommu/ipmmu-vmsa.c
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
> ---
> drivers/media/platform/Kconfig | 8 ++++----
> drivers/media/platform/omap3isp/isp.c | 7 +++++++
> 2 files changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
> index c7a1cf8a1b01..03c9dfeb7781 100644
> --- a/drivers/media/platform/Kconfig
> +++ b/drivers/media/platform/Kconfig
> @@ -62,12 +62,12 @@ config VIDEO_MUX
>
> config VIDEO_OMAP3
> tristate "OMAP 3 Camera support"
> - depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API && ARCH_OMAP3
> + depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
> depends on HAS_DMA && OF
> - depends on OMAP_IOMMU
> - select ARM_DMA_USE_IOMMU
> + depends on ((ARCH_OMAP3 && OMAP_IOMMU) || COMPILE_TEST)
> + select ARM_DMA_USE_IOMMU if OMAP_IOMMU
> select VIDEOBUF2_DMA_CONTIG
> - select MFD_SYSCON
> + select MFD_SYSCON if ARCH_OMAP3
> select V4L2_FWNODE
> ---help---
> Driver for an OMAP 3 camera controller.
> diff --git a/drivers/media/platform/omap3isp/isp.c
> b/drivers/media/platform/omap3isp/isp.c index 8eb000e3d8fd..2a11a709aa4f
> 100644
> --- a/drivers/media/platform/omap3isp/isp.c
> +++ b/drivers/media/platform/omap3isp/isp.c
> @@ -61,7 +61,14 @@
> #include <linux/sched.h>
> #include <linux/vmalloc.h>
>
> +#if defined(CONFIG_ARM) && !defined(CONFIG_IOMMU_DMA)
> #include <asm/dma-iommu.h>
> +#else
> +#define arm_iommu_create_mapping(...) NULL
> +#define arm_iommu_attach_device(...) -ENODEV
> +#define arm_iommu_release_mapping(...) do {} while (0)
> +#define arm_iommu_detach_device(...) do {} while (0)
> +#endif
I don't think it's the job of a driver to define those stubs, sorry. Otherwise
where do you stop ? If you have half of the code that is architecture-
dependent, would you stub it ? And what if the stubs you define here generate
warnings in static analyzers ?
If you want to make drivers compile for all architectures, the APIs they use
must be defined in linux/, not in asm/. They can be stubbed there when not
implemented in a particular architecture, but not in the driver.
> #include <media/v4l2-common.h>
> #include <media/v4l2-fwnode.h>
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2018-04-05 18:30 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-05 17:54 [PATCH 00/16] Make all drivers under drivers/media to build with COMPILE_TEST Mauro Carvalho Chehab
2018-04-05 17:54 ` [PATCH 01/16] omap: omap-iommu.h: allow building drivers " Mauro Carvalho Chehab
2018-04-08 10:12 ` Matthias Schwarzott
2018-04-17 8:52 ` Mauro Carvalho Chehab
2018-04-05 17:54 ` [PATCH 02/16] media: omap3isp: allow it to build " Mauro Carvalho Chehab
2018-04-05 18:30 ` Laurent Pinchart [this message]
2018-04-05 19:44 ` Mauro Carvalho Chehab
2018-04-07 11:56 ` Laurent Pinchart
2018-04-07 13:14 ` Mauro Carvalho Chehab
2018-04-09 8:50 ` Arnd Bergmann
2018-04-09 9:48 ` Mauro Carvalho Chehab
2018-04-07 5:23 ` kbuild test robot
2018-04-05 17:54 ` [PATCH 03/16] media: omap3isp/isp: remove an unused static var Mauro Carvalho Chehab
2018-04-05 18:34 ` Laurent Pinchart
2018-04-05 17:54 ` [PATCH 04/16] media: fsl-viu: mark static functions as such Mauro Carvalho Chehab
2018-04-05 17:54 ` [PATCH 05/16] media: fsl-viu: allow building it with COMPILE_TEST Mauro Carvalho Chehab
2018-04-05 21:35 ` Arnd Bergmann
2018-04-06 9:47 ` Mauro Carvalho Chehab
2018-04-06 9:51 ` Arnd Bergmann
2018-04-06 14:15 ` Mauro Carvalho Chehab
2018-04-06 14:16 ` Arnd Bergmann
2018-04-06 14:26 ` Mauro Carvalho Chehab
2018-04-06 14:37 ` Arnd Bergmann
2018-04-06 14:47 ` Mauro Carvalho Chehab
2018-04-06 19:15 ` kbuild test robot
2018-04-05 17:54 ` [PATCH 06/16] media: cec_gpio: allow building CEC_GPIO " Mauro Carvalho Chehab
2018-04-05 17:54 ` [PATCH 07/16] media: exymos4-is: allow compile test for EXYNOS FIMC-LITE Mauro Carvalho Chehab
2018-04-09 9:49 ` Sylwester Nawrocki
2018-04-05 17:54 ` [PATCH 08/16] media: mmp-camera.h: add missing platform data Mauro Carvalho Chehab
2018-04-05 17:54 ` [PATCH 09/16] media: marvel-ccic: re-enable mmp-driver build Mauro Carvalho Chehab
2018-04-05 17:54 ` [PATCH 10/16] media: mmp-driver: make two functions static Mauro Carvalho Chehab
2018-04-05 17:54 ` [PATCH 11/16] media: davinci: allow building isif code Mauro Carvalho Chehab
2018-04-05 17:54 ` [PATCH 12/16] media: davinci: allow build vpbe_display with COMPILE_TEST Mauro Carvalho Chehab
2018-04-05 17:54 ` [PATCH 13/16] media: vpbe_venc: don't store return codes if they won't be used Mauro Carvalho Chehab
2018-04-05 17:54 ` [PATCH 14/16] media: davinci: get rid of lots of kernel-doc warnings Mauro Carvalho Chehab
2018-04-05 17:54 ` [PATCH 15/16] media: omapfb_dss.h: add stubs to build with COMPILE_TEST Mauro Carvalho Chehab
2018-04-05 18:41 ` Laurent Pinchart
2018-04-05 19:32 ` Mauro Carvalho Chehab
2018-04-05 17:54 ` [PATCH 16/16] media: omap: allow building it " Mauro Carvalho Chehab
2018-04-05 18:15 ` Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2233233.yQEdpcOfql@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=arnd@arndb.de \
--cc=benjamin.gaignard@linaro.org \
--cc=hans.verkuil@cisco.com \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@infradead.org \
--cc=mchehab@s-opensource.com \
--cc=p.zabel@pengutronix.de \
--cc=ramesh.shanmugasundaram@bp.renesas.com \
--cc=stanimir.varbanov@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).