Hello Louis, On Sun, May 12, 2019 at 02:00:01PM +0800, Louis Kuo wrote: > Hello, > > This is the RFC patch adding Sensor Inferface(seninf) driver on > Mediatek mt8183 SoC, which will be used in camera features on CrOS application. > It belongs to the first Mediatek's camera driver series based on V4L2 and media controller framework. > I posted the main part of the seninf driver as RFC to discuss first and would like some review comments > on the overall structure of the driver. > > The driver is implemented with V4L2 framework. > 1. Register as a V4L2 sub-device. > 2. Only one entity with sink pads linked to camera sensors for choosing desired camera sensor by setup link > and with source pads linked to cam-io for routing different types of decoded packet datas to PASS1 driver > to generate sensor image frame and meta-data. > > The overall file structure of the seninf driver is as following: > > * mtk_seninf.c: Implement software and HW control flow of seninf driver. > * mtk_seninf_def.h: Define data structure and enumeration. > * mtk_seninf_reg.h: Define HW register R/W macros and HW register names. > > [ v2: use recommended coding style, fix v4l2-compliance issue, add v4l2 async notifier operations, remove redundant code] Thanks for the style fixes. I made a number of review comments on V1 of the driver patch. Please take a look at those if you haven't already. > > media: platform: mtk-isp: Add Mediatek sensor interface driver > media: platform: Add Mediatek sensor interface driver KConfig > dt-bindings: mt8183: Add sensor interface dt-bindings > dts: arm64: mt8183: Add sensor interface nodes > > .../bindings/media/mediatek-seninf.txt | 52 + > arch/arm64/boot/dts/mediatek/mt8183.dtsi | 34 + > drivers/media/platform/Makefile | 2 + > drivers/media/platform/mtk-isp/Kconfig | 16 + > drivers/media/platform/mtk-isp/Makefile | 14 + > .../media/platform/mtk-isp/isp_50/Makefile | 17 + > .../platform/mtk-isp/isp_50/seninf/Makefile | 4 + > .../mtk-isp/isp_50/seninf/mtk_seninf.c | 1366 +++++++++++++++++ > .../mtk-isp/isp_50/seninf/mtk_seninf_def.h | 170 ++ > .../mtk-isp/isp_50/seninf/mtk_seninf_reg.h | 992 ++++++++++++ > 10 files changed, 2667 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/mediatek-seninf.txt > create mode 100644 drivers/media/platform/mtk-isp/Kconfig > create mode 100644 drivers/media/platform/mtk-isp/Makefile > create mode 100644 drivers/media/platform/mtk-isp/isp_50/Makefile > create mode 100644 drivers/media/platform/mtk-isp/isp_50/seninf/Makefile > create mode 100644 drivers/media/platform/mtk-isp/isp_50/seninf/mtk_seninf.c > create mode 100644 drivers/media/platform/mtk-isp/isp_50/seninf/mtk_seninf_def.h > create mode 100644 drivers/media/platform/mtk-isp/isp_50/seninf/mtk_seninf_reg.h > >