Thread (6 messages) 6 messages, 4 authors, 2018-02-27

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,

	Hans
quoted
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,
-- 
~Randy

Thanks,
Yong

Thanks,
Yong
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help