Re: [PATCH v7 2/2] media: V3s: Add support for Allwinner CSI.
From: Yong <hidden>
Date: 2018-02-27 01:18:47
Also in:
linux-arm-kernel, linux-media, lkml
Hi, On Mon, 26 Feb 2018 12:06:37 +0100 Hans Verkuil [off-list ref] wrote:
Hi all, On 01/30/2018 03:48 AM, Yong wrote:quoted
Hi, On Mon, 29 Jan 2018 13:49:14 -0800 Randy Dunlap [off-list ref] wrote:quoted
On 01/29/2018 01:21 AM, Yong Deng wrote:quoted
Allwinner V3s SoC features two CSI module. CSI0 is used for MIPI CSI-2 interface and CSI1 is used for parallel interface. This is not documented in datasheet but by test and guess. This patch implement a v4l2 framework driver for it. Currently, the driver only support the parallel interface. MIPI-CSI2, ISP's support are not included in this patch. Tested-by: Maxime Ripard <maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org> Signed-off-by: Yong Deng <yong.deng-+3dxTMOEIRNWk0Htik3J/w@public.gmane.org> ---A previous version (I think v6) had a build error with the use of PHYS_OFFSET, so Kconfig was modified to depend on ARM and ARCH_SUNXI (one of which seems to be overkill). As is here, the COMPILE_TEST piece is meaningless for all arches except ARM. If you care enough for COMPILE_TEST (and I would), then you could make COMPILE_TEST useful on any arch by removing the "depends on ARM" (the ARCH_SUNXI takes care of that) and by having an alternate value for PHYS_OFFSET, like so: +#if defined(CONFIG_COMPILE_TEST) && !defined(PHYS_OFFSET) +#define PHYS_OFFSET 0 +#endif With those 2 changes, the driver builds for me on x86_64.I have considered this method. But it's so sick to put these code in dirver (for my own). I mean this is meaningless for the driver itself and make people confused. I grepped the driver/ code and I found many drivers writing Kconfig like this. For example: ARM && COMPILE_TEST MIPS && COMPILE_TEST PPC64 && COMPILE_TEST BTW, for my own, I do not care about COMPILE_TEST.There was a discussion about this in the v6 patch, but it petered out. I want to merge this driver, but I would very much prefer that this compiles with COMPILE_TEST. So unless someone has a better solution, then adding 'hack' that defines PHYS_OFFSET to 0 for COMPILE_TEST would be required.
If so, I will take the advice of Randy.
Otherwise this driver looks good, so it is just this issue blocking it. Regards, Hansquoted
quoted
quoted
diff --git a/drivers/media/platform/sunxi/sun6i-csi/Kconfig b/drivers/media/platform/sunxi/sun6i-csi/Kconfig new file mode 100644 index 0000000..f80c965 --- /dev/null +++ b/drivers/media/platform/sunxi/sun6i-csi/Kconfig@@ -0,0 +1,10 @@ +config VIDEO_SUN6I_CSI + tristate "Allwinner V3s Camera Sensor Interface driver" + depends on ARM + depends on VIDEO_V4L2 && COMMON_CLK && VIDEO_V4L2_SUBDEV_API && HAS_DMA + depends on ARCH_SUNXI || COMPILE_TEST + select VIDEOBUF2_DMA_CONTIG + select REGMAP_MMIO + select V4L2_FWNODE + ---help--- + Support for the Allwinner Camera Sensor Interface Controller on V3s.thanks, -- ~RandyThanks, Yong
Thanks, Yong