diff mbox series

media: imx: Unstage the imx8mq-mipi-csi2 driver

Message ID 20230424082945.2580298-1-martin.kepplinger@puri.sm (mailing list archive)
State New, archived
Headers show
Series media: imx: Unstage the imx8mq-mipi-csi2 driver | expand

Commit Message

Martin Kepplinger April 24, 2023, 8:29 a.m. UTC
The imx8mq-mipi-csi2 mipi receiver driver is used and maintained. There
is no reason to keep it in staging. The accompanying CSI bridge driver that
uses it is in drivers/media/platform/nxp as well.

One TODO is to get rid of csi_state's "state" and "lock" variables. Especially
make sure suspend/resume is working without them. That can very well be worked
on from the new location.

Add a MAINTAINERS section for the imx8mq-mipi-csi2 mipi receiver driver.
It shares the CSI Bridge driver with the one from imx7 and imx8mm so the
sections overlap a bit.

Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
---
 MAINTAINERS                                         | 13 +++++++++++++
 drivers/media/platform/nxp/Kconfig                  | 11 +++++++++++
 drivers/media/platform/nxp/Makefile                 |  1 +
 .../imx => media/platform/nxp}/imx8mq-mipi-csi2.c   |  0
 drivers/staging/media/imx/Kconfig                   | 12 +-----------
 drivers/staging/media/imx/Makefile                  |  2 --
 6 files changed, 26 insertions(+), 13 deletions(-)
 rename drivers/{staging/media/imx => media/platform/nxp}/imx8mq-mipi-csi2.c (100%)

Comments

Laurent Pinchart April 24, 2023, 9:12 a.m. UTC | #1
Hi Martin,

Thank you for the patch.

On Mon, Apr 24, 2023 at 10:29:45AM +0200, Martin Kepplinger wrote:
> The imx8mq-mipi-csi2 mipi receiver driver is used and maintained. There

s/mipi/MIPI CSI-2/

> is no reason to keep it in staging. The accompanying CSI bridge driver that
> uses it is in drivers/media/platform/nxp as well.
> 
> One TODO is to get rid of csi_state's "state" and "lock" variables. Especially
> make sure suspend/resume is working without them. That can very well be worked
> on from the new location.
> 
> Add a MAINTAINERS section for the imx8mq-mipi-csi2 mipi receiver driver.
> It shares the CSI Bridge driver with the one from imx7 and imx8mm so the
> sections overlap a bit.
>
> Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
> ---
>  MAINTAINERS                                         | 13 +++++++++++++
>  drivers/media/platform/nxp/Kconfig                  | 11 +++++++++++
>  drivers/media/platform/nxp/Makefile                 |  1 +
>  .../imx => media/platform/nxp}/imx8mq-mipi-csi2.c   |  0
>  drivers/staging/media/imx/Kconfig                   | 12 +-----------
>  drivers/staging/media/imx/Makefile                  |  2 --
>  6 files changed, 26 insertions(+), 13 deletions(-)
>  rename drivers/{staging/media/imx => media/platform/nxp}/imx8mq-mipi-csi2.c (100%)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index f50945bb7d1b..fcd48408fc1f 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -12919,6 +12919,19 @@ F:	Documentation/devicetree/bindings/media/nxp,imx7-csi.yaml
>  F:	drivers/media/platform/nxp/imx-mipi-csis.c
>  F:	drivers/media/platform/nxp/imx7-media-csi.c
>  
> +MEDIA DRIVERS FOR FREESCALE IMX8MQ
> +M:	Martin Kepplinger <martin.kepplinger@puri.sm>
> +R:	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> +R:	Purism Kernel Team <kernel@puri.sm>
> +L:	linux-media@vger.kernel.org
> +S:	Maintained
> +T:	git git://linuxtv.org/media_tree.git
> +F:	Documentation/admin-guide/media/imx7.rst
> +F:	Documentation/devicetree/bindings/media/nxp,imx7-csi.yaml
> +F:	Documentation/devicetree/bindings/media/nxp,imx8mq-mipi-csi2.yaml
> +F:	drivers/media/platform/nxp/imx7-media-csi.c
> +F:	drivers/media/platform/nxp/imx8mq-mipi-csi.c
> +

I'm not sure overlaps will be properly supported by all tools. I'd
rather avoid them. You can either

- Add this driver to the existing "MEDIA DRIVERS FOR FREESCALE IMX7"
  section (possibly renaming it to 'IMX7/8'), and add yourself as a
  maintainer to that section if desired.

- Create a new section as you're doing here, with just the CSI-2
  receiver driver in it.

Additionally, I'd rename the "MEDIA DRIVERS FOR FREESCALE IMX" entry to
"MEDIA DRIVERS FOR FREESCALE IMX5/6". This could be done in a separate
patch though.

>  MEDIA DRIVERS FOR HELENE
>  M:	Abylay Ospan <aospan@netup.ru>
>  L:	linux-media@vger.kernel.org
> diff --git a/drivers/media/platform/nxp/Kconfig b/drivers/media/platform/nxp/Kconfig
> index a0ca6b297fb8..efa985ec8a5f 100644
> --- a/drivers/media/platform/nxp/Kconfig
> +++ b/drivers/media/platform/nxp/Kconfig
> @@ -28,6 +28,17 @@ config VIDEO_IMX_MIPI_CSIS
>  	  Video4Linux2 sub-device driver for the MIPI CSI-2 CSIS receiver
>  	  v3.3/v3.6.3 found on some i.MX7 and i.MX8 SoCs.
>  
> +config VIDEO_IMX8MQ_MIPI_CSI2

VIDEO_IMX8MQ_MIPI_CSI2 goes before VIDEO_IMX_MIPI_CSIS in alphabetical
order.

> +	tristate "NXP i.MX8MQ MIPI CSI-2 receiver"
> +	depends on ARCH_MXC || COMPILE_TEST
> +	depends on VIDEO_DEV
> +	select MEDIA_CONTROLLER
> +	select V4L2_FWNODE
> +	select VIDEO_V4L2_SUBDEV_API
> +	help
> +	  Video4Linux2 driver for the MIPI CSI-2 receiver found on the i.MX8MQ
> +	  SoC. The i.MX8MQ CSI Bridge is the same as on i.MX7.

Drop the second sentence, it's irrelevant here.

> +
>  source "drivers/media/platform/nxp/imx8-isi/Kconfig"
>  
>  # mem2mem drivers
> diff --git a/drivers/media/platform/nxp/Makefile b/drivers/media/platform/nxp/Makefile
> index b8e672b75fed..4d90eb713652 100644
> --- a/drivers/media/platform/nxp/Makefile
> +++ b/drivers/media/platform/nxp/Makefile
> @@ -5,6 +5,7 @@ obj-y += imx-jpeg/
>  obj-y += imx8-isi/
>  
>  obj-$(CONFIG_VIDEO_IMX7_CSI) += imx7-media-csi.o
>  obj-$(CONFIG_VIDEO_IMX8MQ_MIPI_CSI2) += imx8mq-mipi-csi2.o
>  obj-$(CONFIG_VIDEO_IMX_MIPI_CSIS) += imx-mipi-csis.o
>  obj-$(CONFIG_VIDEO_IMX_PXP) += imx-pxp.o
>  obj-$(CONFIG_VIDEO_MX2_EMMAPRP) += mx2_emmaprp.o
> diff --git a/drivers/staging/media/imx/imx8mq-mipi-csi2.c b/drivers/media/platform/nxp/imx8mq-mipi-csi2.c
> similarity index 100%
> rename from drivers/staging/media/imx/imx8mq-mipi-csi2.c
> rename to drivers/media/platform/nxp/imx8mq-mipi-csi2.c
> diff --git a/drivers/staging/media/imx/Kconfig b/drivers/staging/media/imx/Kconfig
> index 21fd79515042..5b393e29d29e 100644
> --- a/drivers/staging/media/imx/Kconfig
> +++ b/drivers/staging/media/imx/Kconfig
> @@ -15,7 +15,7 @@ config VIDEO_IMX_MEDIA
>  	  driver for the i.MX5/6 SOC.
>  
>  if VIDEO_IMX_MEDIA
> -menu "i.MX5/6/7/8 Media Sub devices"
> +menu "i.MX5/6 Media Sub devices"
>  
>  config VIDEO_IMX_CSI

I'm tempted to merge the VIDEO_IMX_MEDIA and VIDEO_IMX_CSI Kconfig
symbols. I'll send a patch to do so.

>  	tristate "i.MX5/6 Camera Sensor Interface driver"
> @@ -25,13 +25,3 @@ config VIDEO_IMX_CSI
>  	  A video4linux camera sensor interface driver for i.MX5/6.
>  endmenu
>  endif
> -
> -config VIDEO_IMX8MQ_MIPI_CSI2
> -	tristate "NXP i.MX8MQ MIPI CSI-2 receiver"
> -	depends on ARCH_MXC || COMPILE_TEST
> -	depends on VIDEO_DEV
> -	select MEDIA_CONTROLLER
> -	select V4L2_FWNODE
> -	select VIDEO_V4L2_SUBDEV_API
> -	help
> -	  V4L2 driver for the MIPI CSI-2 receiver found in the i.MX8MQ SoC.
> diff --git a/drivers/staging/media/imx/Makefile b/drivers/staging/media/imx/Makefile
> index 906a422aa656..b69951deff9a 100644
> --- a/drivers/staging/media/imx/Makefile
> +++ b/drivers/staging/media/imx/Makefile
> @@ -13,5 +13,3 @@ obj-$(CONFIG_VIDEO_IMX_MEDIA) += imx-media-common.o
>  obj-$(CONFIG_VIDEO_IMX_CSI) += imx6-media.o
>  obj-$(CONFIG_VIDEO_IMX_CSI) += imx6-media-csi.o
>  obj-$(CONFIG_VIDEO_IMX_CSI) += imx6-mipi-csi2.o
> -
> -obj-$(CONFIG_VIDEO_IMX8MQ_MIPI_CSI2) += imx8mq-mipi-csi2.o
diff mbox series

Patch

diff --git a/MAINTAINERS b/MAINTAINERS
index f50945bb7d1b..fcd48408fc1f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -12919,6 +12919,19 @@  F:	Documentation/devicetree/bindings/media/nxp,imx7-csi.yaml
 F:	drivers/media/platform/nxp/imx-mipi-csis.c
 F:	drivers/media/platform/nxp/imx7-media-csi.c
 
+MEDIA DRIVERS FOR FREESCALE IMX8MQ
+M:	Martin Kepplinger <martin.kepplinger@puri.sm>
+R:	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+R:	Purism Kernel Team <kernel@puri.sm>
+L:	linux-media@vger.kernel.org
+S:	Maintained
+T:	git git://linuxtv.org/media_tree.git
+F:	Documentation/admin-guide/media/imx7.rst
+F:	Documentation/devicetree/bindings/media/nxp,imx7-csi.yaml
+F:	Documentation/devicetree/bindings/media/nxp,imx8mq-mipi-csi2.yaml
+F:	drivers/media/platform/nxp/imx7-media-csi.c
+F:	drivers/media/platform/nxp/imx8mq-mipi-csi.c
+
 MEDIA DRIVERS FOR HELENE
 M:	Abylay Ospan <aospan@netup.ru>
 L:	linux-media@vger.kernel.org
diff --git a/drivers/media/platform/nxp/Kconfig b/drivers/media/platform/nxp/Kconfig
index a0ca6b297fb8..efa985ec8a5f 100644
--- a/drivers/media/platform/nxp/Kconfig
+++ b/drivers/media/platform/nxp/Kconfig
@@ -28,6 +28,17 @@  config VIDEO_IMX_MIPI_CSIS
 	  Video4Linux2 sub-device driver for the MIPI CSI-2 CSIS receiver
 	  v3.3/v3.6.3 found on some i.MX7 and i.MX8 SoCs.
 
+config VIDEO_IMX8MQ_MIPI_CSI2
+	tristate "NXP i.MX8MQ MIPI CSI-2 receiver"
+	depends on ARCH_MXC || COMPILE_TEST
+	depends on VIDEO_DEV
+	select MEDIA_CONTROLLER
+	select V4L2_FWNODE
+	select VIDEO_V4L2_SUBDEV_API
+	help
+	  Video4Linux2 driver for the MIPI CSI-2 receiver found on the i.MX8MQ
+	  SoC. The i.MX8MQ CSI Bridge is the same as on i.MX7.
+
 source "drivers/media/platform/nxp/imx8-isi/Kconfig"
 
 # mem2mem drivers
diff --git a/drivers/media/platform/nxp/Makefile b/drivers/media/platform/nxp/Makefile
index b8e672b75fed..4d90eb713652 100644
--- a/drivers/media/platform/nxp/Makefile
+++ b/drivers/media/platform/nxp/Makefile
@@ -5,6 +5,7 @@  obj-y += imx-jpeg/
 obj-y += imx8-isi/
 
 obj-$(CONFIG_VIDEO_IMX7_CSI) += imx7-media-csi.o
+obj-$(CONFIG_VIDEO_IMX8MQ_MIPI_CSI2) += imx8mq-mipi-csi2.o
 obj-$(CONFIG_VIDEO_IMX_MIPI_CSIS) += imx-mipi-csis.o
 obj-$(CONFIG_VIDEO_IMX_PXP) += imx-pxp.o
 obj-$(CONFIG_VIDEO_MX2_EMMAPRP) += mx2_emmaprp.o
diff --git a/drivers/staging/media/imx/imx8mq-mipi-csi2.c b/drivers/media/platform/nxp/imx8mq-mipi-csi2.c
similarity index 100%
rename from drivers/staging/media/imx/imx8mq-mipi-csi2.c
rename to drivers/media/platform/nxp/imx8mq-mipi-csi2.c
diff --git a/drivers/staging/media/imx/Kconfig b/drivers/staging/media/imx/Kconfig
index 21fd79515042..5b393e29d29e 100644
--- a/drivers/staging/media/imx/Kconfig
+++ b/drivers/staging/media/imx/Kconfig
@@ -15,7 +15,7 @@  config VIDEO_IMX_MEDIA
 	  driver for the i.MX5/6 SOC.
 
 if VIDEO_IMX_MEDIA
-menu "i.MX5/6/7/8 Media Sub devices"
+menu "i.MX5/6 Media Sub devices"
 
 config VIDEO_IMX_CSI
 	tristate "i.MX5/6 Camera Sensor Interface driver"
@@ -25,13 +25,3 @@  config VIDEO_IMX_CSI
 	  A video4linux camera sensor interface driver for i.MX5/6.
 endmenu
 endif
-
-config VIDEO_IMX8MQ_MIPI_CSI2
-	tristate "NXP i.MX8MQ MIPI CSI-2 receiver"
-	depends on ARCH_MXC || COMPILE_TEST
-	depends on VIDEO_DEV
-	select MEDIA_CONTROLLER
-	select V4L2_FWNODE
-	select VIDEO_V4L2_SUBDEV_API
-	help
-	  V4L2 driver for the MIPI CSI-2 receiver found in the i.MX8MQ SoC.
diff --git a/drivers/staging/media/imx/Makefile b/drivers/staging/media/imx/Makefile
index 906a422aa656..b69951deff9a 100644
--- a/drivers/staging/media/imx/Makefile
+++ b/drivers/staging/media/imx/Makefile
@@ -13,5 +13,3 @@  obj-$(CONFIG_VIDEO_IMX_MEDIA) += imx-media-common.o
 obj-$(CONFIG_VIDEO_IMX_CSI) += imx6-media.o
 obj-$(CONFIG_VIDEO_IMX_CSI) += imx6-media-csi.o
 obj-$(CONFIG_VIDEO_IMX_CSI) += imx6-mipi-csi2.o
-
-obj-$(CONFIG_VIDEO_IMX8MQ_MIPI_CSI2) += imx8mq-mipi-csi2.o