On Tue, Oct 30, 2018 at 1:49 PM Yong Deng <yong.deng@xxxxxxxxxxxx> wrote: > > Allwinner V3s SoC features a CSI module with parallel interface. > > This patch implement a v4l2 framework driver for it. > > Reviewed-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> > Reviewed-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxx> > Tested-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxx> > Signed-off-by: Yong Deng <yong.deng@xxxxxxxxxxxx> > --- > MAINTAINERS | 8 + > drivers/media/platform/Kconfig | 1 + > drivers/media/platform/Makefile | 2 + > drivers/media/platform/sunxi/sun6i-csi/Kconfig | 9 + > drivers/media/platform/sunxi/sun6i-csi/Makefile | 3 + > drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c | 915 +++++++++++++++++++++ > drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.h | 135 +++ > .../media/platform/sunxi/sun6i-csi/sun6i_csi_reg.h | 196 +++++ > .../media/platform/sunxi/sun6i-csi/sun6i_video.c | 678 +++++++++++++++ > .../media/platform/sunxi/sun6i-csi/sun6i_video.h | 38 + > 10 files changed, 1985 insertions(+) > create mode 100644 drivers/media/platform/sunxi/sun6i-csi/Kconfig > create mode 100644 drivers/media/platform/sunxi/sun6i-csi/Makefile > create mode 100644 drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c > create mode 100644 drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.h > create mode 100644 drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_reg.h > create mode 100644 drivers/media/platform/sunxi/sun6i-csi/sun6i_video.c > create mode 100644 drivers/media/platform/sunxi/sun6i-csi/sun6i_video.h > > diff --git a/MAINTAINERS b/MAINTAINERS > index 23021e0df5d7..42d73b35ed3e 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -3900,6 +3900,14 @@ M: Jaya Kumar <jayakumar.alsa@xxxxxxxxx> > S: Maintained > F: sound/pci/cs5535audio/ > > +CSI DRIVERS FOR ALLWINNER V3s > +M: Yong Deng <yong.deng@xxxxxxxxxxxx> > +L: linux-media@xxxxxxxxxxxxxxx > +T: git git://linuxtv.org/media_tree.git > +S: Maintained > +F: drivers/media/platform/sunxi/sun6i-csi/ > +F: Documentation/devicetree/bindings/media/sun6i-csi.txt > + > CW1200 WLAN driver > M: Solomon Peachy <pizza@xxxxxxxxxxxx> > S: Maintained > diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig > index 0edacfb01f3a..be6626ed0ec8 100644 > --- a/drivers/media/platform/Kconfig > +++ b/drivers/media/platform/Kconfig > @@ -138,6 +138,7 @@ source "drivers/media/platform/am437x/Kconfig" > source "drivers/media/platform/xilinx/Kconfig" > source "drivers/media/platform/rcar-vin/Kconfig" > source "drivers/media/platform/atmel/Kconfig" > +source "drivers/media/platform/sunxi/sun6i-csi/Kconfig" [snip] > + > + return 0; > +} > + > +static int sun6i_subdev_notify_complete(struct v4l2_async_notifier *notifier) > +{ > + struct sun6i_csi *csi = container_of(notifier, struct sun6i_csi, > + notifier); > + struct v4l2_device *v4l2_dev = &csi->v4l2_dev; > + struct v4l2_subdev *sd; > + int ret; > + > + dev_dbg(csi->dev, "notify complete, all subdevs registered\n"); > + > + if (notifier->num_subdevs != 1) drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c: In function ‘sun6i_subdev_notify_complete’: drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c:646:14: error: ‘struct v4l2_async_notifier’ has no member named ‘num_subdevs’