Re: [PATCH v2 07/38] media: platform: place NXP drivers on a separate dir

From: Mauro Carvalho Chehab
Date: Sat Mar 12 2022 - 10:55:25 EST


Em Fri, 11 Mar 2022 16:39:51 +0100
Jacopo Mondi <jacopo@xxxxxxxxxx> escreveu:

> Hi Mauro,
>
> On Fri, Mar 11, 2022 at 03:07:20PM +0100, Mauro Carvalho Chehab wrote:
> > In order to cleanup the main platform media directory, move NXP
> > driver to its own directory.
>
> Hans has collected my CSIS patches
> https://git.linuxtv.org/hverkuil/media_tree.git/commit/?h=for-v5.18a&id=85fa189b2c829a005224cab3c2d88635dd36d777
> in
> https://git.linuxtv.org/hverkuil/media_tree.git/log/?h=for-v5.18a
>
> which creates a drivers/media/platform/imx directory.
>
> Should that one be re-used ?

Hi Jacopo,

I was planning to merge imx and imx-jpeg on a separate patch series that
would also group drivers from other manufacturers, but, it should be ok
to merge on v3.

I won't be touching the Kconfig menuconfig/if/endif on this series, though.
I'll do that in a more uniform way at the followup series.


The idea would be to have a followup series organizing the drivers
per manufacturer, e. g. make menuconfig would display something
like:

Media platform drivers
Drivers for <manufacturer 1>
<driver name a>
<driver name b>
...
Drivers for <manufacturer 2>
<driver name c>
<driver name d>
...
Drivers for <manufacturer 3>
<driver name e>
<driver name f>
...
...


>
> >
> > Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
> > ---
> >
> > To avoid mailbombing on a large number of people, only mailing lists were C/C on the cover.
> > See [PATCH v2 00/38] at: https://lore.kernel.org/all/cover.1647006877.git.mchehab@xxxxxxxxxx/
> >
> > MAINTAINERS | 2 +-
> > drivers/media/platform/Kconfig | 37 +----------------
> > drivers/media/platform/Makefile | 4 +-
> > drivers/media/platform/nxp/Kconfig | 40 +++++++++++++++++++
> > drivers/media/platform/nxp/Makefile | 5 +++
> > drivers/media/platform/{ => nxp}/fsl-viu.c | 0
> > drivers/media/platform/{ => nxp}/imx-pxp.c | 0
> > drivers/media/platform/{ => nxp}/imx-pxp.h | 0
> > .../media/platform/{ => nxp}/mx2_emmaprp.c | 0
> > 9 files changed, 49 insertions(+), 39 deletions(-)
> > create mode 100644 drivers/media/platform/nxp/Kconfig
> > create mode 100644 drivers/media/platform/nxp/Makefile
> > rename drivers/media/platform/{ => nxp}/fsl-viu.c (100%)
> > rename drivers/media/platform/{ => nxp}/imx-pxp.c (100%)
> > rename drivers/media/platform/{ => nxp}/imx-pxp.h (100%)
> > rename drivers/media/platform/{ => nxp}/mx2_emmaprp.c (100%)
> >
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index 1b6f48a660de..780ef2ef3362 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -11841,7 +11841,7 @@ M: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
> > L: linux-media@xxxxxxxxxxxxxxx
> > S: Maintained
> > T: git git://linuxtv.org/media_tree.git
> > -F: drivers/media/platform/imx-pxp.[ch]
> > +F: drivers/media/platform/nxp/imx-pxp.[ch]
> >
> > MEDIA DRIVERS FOR ASCOT2E
> > M: Sergey Kozlov <serjk@xxxxxxxx>
> > diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
> > index ad95a25ae2fc..f5ef28d3e53c 100644
> > --- a/drivers/media/platform/Kconfig
> > +++ b/drivers/media/platform/Kconfig
> > @@ -36,6 +36,8 @@ config V4L_MEM2MEM_DRIVERS
> > to capture and output drivers, which use memory buffers for just
> > one of those.
> >
> > +source "drivers/media/platform/nxp/Kconfig"
> > +
> > # V4L platform drivers
> >
> > source "drivers/media/platform/marvell-ccic/Kconfig"
> > @@ -68,19 +70,6 @@ config VIDEO_SH_VOU
> > help
> > Support for the Video Output Unit (VOU) on SuperH SoCs.
> >
> > -config VIDEO_VIU
> > - tristate "Freescale VIU Video Driver"
> > - depends on V4L_PLATFORM_DRIVERS
> > - depends on VIDEO_V4L2 && (PPC_MPC512x || COMPILE_TEST) && I2C
> > - select VIDEOBUF_DMA_CONTIG
> > - default y
> > - help
> > - Support for Freescale VIU video driver. This device captures
> > - video data, or overlays video on DIU frame buffer.
> > -
> > - Say Y here if you want to enable VIU device on MPC5121e Rev2+.
> > - In doubt, say N.
> > -
> > config VIDEO_MUX
> > tristate "Video Multiplexer"
> > depends on V4L_PLATFORM_DRIVERS
> > @@ -281,16 +270,6 @@ config VIDEO_CODA
> > config VIDEO_IMX_VDOA
> > def_tristate VIDEO_CODA if SOC_IMX6Q || COMPILE_TEST
> >
> > -config VIDEO_IMX_PXP
> > - tristate "i.MX Pixel Pipeline (PXP)"
> > - depends on V4L_MEM2MEM_DRIVERS
> > - depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
> > - select VIDEOBUF2_DMA_CONTIG
> > - select V4L2_MEM2MEM_DEV
> > - help
> > - The i.MX Pixel Pipeline is a memory-to-memory engine for scaling,
> > - color space conversion, and rotation.
> > -
> > source "drivers/media/platform/imx-jpeg/Kconfig"
> >
> > config VIDEO_MEDIATEK_JPEG
> > @@ -431,18 +410,6 @@ config VIDEO_SAMSUNG_S5P_MFC
> > help
> > MFC 5.1 and 6.x driver for V4L2
> >
> > -config VIDEO_MX2_EMMAPRP
> > - tristate "MX2 eMMa-PrP support"
> > - depends on V4L_MEM2MEM_DRIVERS
> > - depends on VIDEO_DEV && VIDEO_V4L2
> > - depends on SOC_IMX27 || COMPILE_TEST
> > - select VIDEOBUF2_DMA_CONTIG
> > - select V4L2_MEM2MEM_DEV
> > - help
> > - MX2X chips have a PrP that can be used to process buffers from
> > - memory to memory. Operations include resizing and format
> > - conversion.
> > -
> > config VIDEO_SAMSUNG_EXYNOS_GSC
> > tristate "Samsung Exynos G-Scaler driver"
> > depends on V4L_MEM2MEM_DRIVERS
> > diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile
> > index 1a52a1a784b5..e9f982eb034b 100644
> > --- a/drivers/media/platform/Makefile
> > +++ b/drivers/media/platform/Makefile
> > @@ -22,6 +22,7 @@ obj-y += mtk-jpeg/
> > obj-y += mtk-mdp/
> > obj-y += mtk-vcodec/
> > obj-y += mtk-vpu/
> > +obj-y += nxp/
> > obj-y += omap/
> > obj-y += omap3isp/
> > obj-y += qcom/camss/
> > @@ -45,10 +46,8 @@ obj-y += vsp1/
> > obj-y += xilinx/
> >
> > # Please place here only ancillary drivers that aren't SoC-specific
> > -obj-$(CONFIG_VIDEO_IMX_PXP) += imx-pxp.o
> > obj-$(CONFIG_VIDEO_MEM2MEM_DEINTERLACE) += m2m-deinterlace.o
> > obj-$(CONFIG_VIDEO_MUX) += video-mux.o
> > -obj-$(CONFIG_VIDEO_MX2_EMMAPRP) += mx2_emmaprp.o
> > obj-$(CONFIG_VIDEO_PXA27x) += pxa_camera.o
> > obj-$(CONFIG_VIDEO_RCAR_DRIF) += rcar_drif.o
> > obj-$(CONFIG_VIDEO_RCAR_ISP) += rcar-isp.o
> > @@ -58,4 +57,3 @@ obj-$(CONFIG_VIDEO_RENESAS_FDP1) += rcar_fdp1.o
> > obj-$(CONFIG_VIDEO_RENESAS_JPU) += rcar_jpu.o
> > obj-$(CONFIG_VIDEO_SH_VOU) += sh_vou.o
> > obj-$(CONFIG_VIDEO_VIA_CAMERA) += via-camera.o
> > -obj-$(CONFIG_VIDEO_VIU) += fsl-viu.o
> > diff --git a/drivers/media/platform/nxp/Kconfig b/drivers/media/platform/nxp/Kconfig
> > new file mode 100644
> > index 000000000000..92724121ff91
> > --- /dev/null
> > +++ b/drivers/media/platform/nxp/Kconfig
> > @@ -0,0 +1,40 @@
> > +# SPDX-License-Identifier: GPL-2.0-only
> > +
> > +# V4L drivers
> > +
> > +config VIDEO_VIU
> > + tristate "Freescale/NXP VIU Video Driver"
> > + depends on V4L_PLATFORM_DRIVERS
> > + depends on VIDEO_V4L2 && (PPC_MPC512x || COMPILE_TEST) && I2C
> > + select VIDEOBUF_DMA_CONTIG
> > + default y
> > + help
> > + Support for Freescale VIU video driver. This device captures
> > + video data, or overlays video on DIU frame buffer.
> > +
> > + Say Y here if you want to enable VIU device on MPC5121e Rev2+.
> > + In doubt, say N.
> > +
> > +# mem2mem drivers
> > +
> > +config VIDEO_IMX_PXP
> > + tristate "i.MX Pixel Pipeline (PXP)"
> > + depends on V4L_MEM2MEM_DRIVERS
> > + depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
> > + select VIDEOBUF2_DMA_CONTIG
> > + select V4L2_MEM2MEM_DEV
> > + help
> > + The i.MX Pixel Pipeline is a memory-to-memory engine for scaling,
> > + color space conversion, and rotation.
> > +
> > +config VIDEO_MX2_EMMAPRP
> > + tristate "Freescale/NXP MX2 eMMa-PrP support"
> > + depends on V4L_MEM2MEM_DRIVERS
> > + depends on VIDEO_DEV && VIDEO_V4L2
> > + depends on SOC_IMX27 || COMPILE_TEST
> > + select VIDEOBUF2_DMA_CONTIG
> > + select V4L2_MEM2MEM_DEV
> > + help
> > + MX2X chips have a PrP that can be used to process buffers from
> > + memory to memory. Operations include resizing and format
> > + conversion.
> > diff --git a/drivers/media/platform/nxp/Makefile b/drivers/media/platform/nxp/Makefile
> > new file mode 100644
> > index 000000000000..147bd7ad4ef4
> > --- /dev/null
> > +++ b/drivers/media/platform/nxp/Makefile
> > @@ -0,0 +1,5 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +
> > +obj-$(CONFIG_VIDEO_IMX_PXP) += imx-pxp.o
> > +obj-$(CONFIG_VIDEO_VIU) += fsl-viu.o
> > +obj-$(CONFIG_VIDEO_MX2_EMMAPRP) += mx2_emmaprp.o
> > diff --git a/drivers/media/platform/fsl-viu.c b/drivers/media/platform/nxp/fsl-viu.c
> > similarity index 100%
> > rename from drivers/media/platform/fsl-viu.c
> > rename to drivers/media/platform/nxp/fsl-viu.c
> > diff --git a/drivers/media/platform/imx-pxp.c b/drivers/media/platform/nxp/imx-pxp.c
> > similarity index 100%
> > rename from drivers/media/platform/imx-pxp.c
> > rename to drivers/media/platform/nxp/imx-pxp.c
> > diff --git a/drivers/media/platform/imx-pxp.h b/drivers/media/platform/nxp/imx-pxp.h
> > similarity index 100%
> > rename from drivers/media/platform/imx-pxp.h
> > rename to drivers/media/platform/nxp/imx-pxp.h
> > diff --git a/drivers/media/platform/mx2_emmaprp.c b/drivers/media/platform/nxp/mx2_emmaprp.c
> > similarity index 100%
> > rename from drivers/media/platform/mx2_emmaprp.c
> > rename to drivers/media/platform/nxp/mx2_emmaprp.c
> > --
> > 2.35.1
> >



Thanks,
Mauro