[PATCH] media: imx: Unstage the imx8mq-mipi-csi2 driver

From: Martin Kepplinger
Date: Mon Apr 24 2023 - 04:30:29 EST


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@xxxxxxx>
---
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@xxxxxxx>
+R: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
+R: Purism Kernel Team <kernel@xxxxxxx>
+L: linux-media@xxxxxxxxxxxxxxx
+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@xxxxxxxx>
L: linux-media@xxxxxxxxxxxxxxx
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
--
2.30.2