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

Message ID 20230425090804.2664466-1-martin.kepplinger@puri.sm (mailing list archive)
State Accepted
Delegated to: Hans Verkuil
Headers
Series [v2] media: imx: Unstage the imx8mq-mipi-csi2 driver |

Commit Message

Martin Kepplinger April 25, 2023, 9:08 a.m. UTC
  The imx8mq-mipi-csi2 MIPI CSI-2 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.

Also add a MAINTAINERS section for the imx8mq-mipi-csi2 mipi receiver
driver.

Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
---

revision history
----------------
v2: (thank you Laurent)
* simplify MAINTAINERS entries by adding to existing one
* minor ordering fixes and drop unrelated changes

v1:
* initial patch
  https://lore.kernel.org/linux-media/20230424091209.GC14888@pendragon.ideasonboard.com/T/#t


 MAINTAINERS                                           |  6 +++++-
 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                     | 10 ----------
 drivers/staging/media/imx/Makefile                    |  2 --
 6 files changed, 17 insertions(+), 13 deletions(-)
 rename drivers/{staging/media/imx => media/platform/nxp}/imx8mq-mipi-csi2.c (100%)
  

Comments

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

Thank you for the patch.

On Tue, Apr 25, 2023 at 11:08:04AM +0200, Martin Kepplinger wrote:
> The imx8mq-mipi-csi2 MIPI CSI-2 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.
> 
> Also add a MAINTAINERS section for the imx8mq-mipi-csi2 mipi receiver
> driver.
> 
> Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
> 
> revision history
> ----------------
> v2: (thank you Laurent)
> * simplify MAINTAINERS entries by adding to existing one
> * minor ordering fixes and drop unrelated changes
> 
> v1:
> * initial patch
>   https://lore.kernel.org/linux-media/20230424091209.GC14888@pendragon.ideasonboard.com/T/#t
> 
> 
>  MAINTAINERS                                           |  6 +++++-
>  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                     | 10 ----------
>  drivers/staging/media/imx/Makefile                    |  2 --
>  6 files changed, 17 insertions(+), 13 deletions(-)
>  rename drivers/{staging/media/imx => media/platform/nxp}/imx8mq-mipi-csi2.c (100%)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index f50945bb7d1b..711aabed0e19 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -12907,17 +12907,21 @@ F:	drivers/staging/media/imx/
>  F:	include/linux/imx-media.h
>  F:	include/media/imx.h
>  
> -MEDIA DRIVERS FOR FREESCALE IMX7
> +MEDIA DRIVERS FOR FREESCALE IMX7/8
>  M:	Rui Miguel Silva <rmfrfs@gmail.com>
>  M:	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> +M:	Martin Kepplinger <martin.kepplinger@puri.sm>
> +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,imx-mipi-csi2.yaml
>  F:	Documentation/devicetree/bindings/media/nxp,imx7-csi.yaml
> +F:	Documentation/devicetree/bindings/media/nxp,imx8mq-mipi-csi2.yaml
>  F:	drivers/media/platform/nxp/imx-mipi-csis.c
>  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>
> diff --git a/drivers/media/platform/nxp/Kconfig b/drivers/media/platform/nxp/Kconfig
> index a0ca6b297fb8..40e3436669e2 100644
> --- a/drivers/media/platform/nxp/Kconfig
> +++ b/drivers/media/platform/nxp/Kconfig
> @@ -17,6 +17,17 @@ config VIDEO_IMX7_CSI
>  	  Driver for the NXP Camera Sensor Interface (CSI) Bridge. This device
>  	  is found in the i.MX6UL/L, i.MX7 and i.MX8M[MQ] 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.
> +
>  config VIDEO_IMX_MIPI_CSIS
>  	tristate "NXP MIPI CSI-2 CSIS receiver found on i.MX7 and i.MX8 models"
>  	depends on ARCH_MXC || COMPILE_TEST
> 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..b42af427b88b 100644
> --- a/drivers/staging/media/imx/Kconfig
> +++ b/drivers/staging/media/imx/Kconfig
> @@ -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
  
Martin Kepplinger May 16, 2023, 7:42 a.m. UTC | #2
Am Dienstag, dem 25.04.2023 um 12:43 +0300 schrieb Laurent Pinchart:
> Hi Martin,
> 
> Thank you for the patch.
> 
> On Tue, Apr 25, 2023 at 11:08:04AM +0200, Martin Kepplinger wrote:
> > The imx8mq-mipi-csi2 MIPI CSI-2 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.
> > 
> > Also add a MAINTAINERS section for the imx8mq-mipi-csi2 mipi
> > receiver
> > driver.
> > 
> > Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Thanks for reviewing Laurent,

Are there any second thoughts to this? If not: It still applies to
todays' next kernel. Who would be able to queue this up?

(This enables Debian and other distributions to use cameras on imx8mq.)

thanks,

                       martin
  
Martin Kepplinger July 17, 2023, 11 a.m. UTC | #3
Am Dienstag, dem 16.05.2023 um 09:42 +0200 schrieb Martin Kepplinger:
> Am Dienstag, dem 25.04.2023 um 12:43 +0300 schrieb Laurent Pinchart:
> > Hi Martin,
> > 
> > Thank you for the patch.
> > 
> > On Tue, Apr 25, 2023 at 11:08:04AM +0200, Martin Kepplinger wrote:
> > > The imx8mq-mipi-csi2 MIPI CSI-2 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.
> > > 
> > > Also add a MAINTAINERS section for the imx8mq-mipi-csi2 mipi
> > > receiver
> > > driver.
> > > 
> > > Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
> > 
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> 
> Thanks for reviewing Laurent,
> 
> Are there any second thoughts to this? If not: It still applies to
> todays' next kernel. Who would be able to queue this up?
> 
> (This enables Debian and other distributions to use cameras on
> imx8mq.)
> 
> thanks,
> 
>                        martin
> 

This still applies cleanly and would be helpful. Does anyone want to
queue this?

thanks,
                         martin
  
Hans Verkuil July 18, 2023, 10:33 a.m. UTC | #4
On 17/07/2023 13:00, Martin Kepplinger wrote:
> Am Dienstag, dem 16.05.2023 um 09:42 +0200 schrieb Martin Kepplinger:
>> Am Dienstag, dem 25.04.2023 um 12:43 +0300 schrieb Laurent Pinchart:
>>> Hi Martin,
>>>
>>> Thank you for the patch.
>>>
>>> On Tue, Apr 25, 2023 at 11:08:04AM +0200, Martin Kepplinger wrote:
>>>> The imx8mq-mipi-csi2 MIPI CSI-2 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.
>>>>
>>>> Also add a MAINTAINERS section for the imx8mq-mipi-csi2 mipi
>>>> receiver
>>>> driver.
>>>>
>>>> Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
>>>
>>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>>
>> Thanks for reviewing Laurent,
>>
>> Are there any second thoughts to this? If not: It still applies to
>> todays' next kernel. Who would be able to queue this up?
>>
>> (This enables Debian and other distributions to use cameras on
>> imx8mq.)
>>
>> thanks,
>>
>>                        martin
>>
> 
> This still applies cleanly and would be helpful. Does anyone want to
> queue this?

I'll queue this up, likely later this week.

Regards,

	Hans

> 
> thanks,
>                          martin
>
  
Martin Kepplinger July 21, 2023, 8:49 a.m. UTC | #5
Am Dienstag, dem 18.07.2023 um 12:33 +0200 schrieb Hans Verkuil:
> On 17/07/2023 13:00, Martin Kepplinger wrote:
> > Am Dienstag, dem 16.05.2023 um 09:42 +0200 schrieb Martin
> > Kepplinger:
> > > Am Dienstag, dem 25.04.2023 um 12:43 +0300 schrieb Laurent
> > > Pinchart:
> > > > Hi Martin,
> > > > 
> > > > Thank you for the patch.
> > > > 
> > > > On Tue, Apr 25, 2023 at 11:08:04AM +0200, Martin Kepplinger
> > > > wrote:
> > > > > The imx8mq-mipi-csi2 MIPI CSI-2 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.
> > > > > 
> > > > > Also add a MAINTAINERS section for the imx8mq-mipi-csi2 mipi
> > > > > receiver
> > > > > driver.
> > > > > 
> > > > > Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
> > > > 
> > > > Reviewed-by: Laurent Pinchart <
> > > > laurent.pinchart@ideasonboard.com>
> > > 
> > > Thanks for reviewing Laurent,
> > > 
> > > Are there any second thoughts to this? If not: It still applies
> > > to
> > > todays' next kernel. Who would be able to queue this up?
> > > 
> > > (This enables Debian and other distributions to use cameras on
> > > imx8mq.)
> > > 
> > > thanks,
> > > 
> > >                        martin
> > > 
> > 
> > This still applies cleanly and would be helpful. Does anyone want
> > to
> > queue this?
> 
> I'll queue this up, likely later this week.

Hi Hans, thanks for picking this up, I see it in one of your branches.

                            martin

> 
> Regards,
> 
>         Hans
> 
> > 
> > thanks,
> >                          martin
> > 
>
  

Patch

diff --git a/MAINTAINERS b/MAINTAINERS
index f50945bb7d1b..711aabed0e19 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -12907,17 +12907,21 @@  F:	drivers/staging/media/imx/
 F:	include/linux/imx-media.h
 F:	include/media/imx.h
 
-MEDIA DRIVERS FOR FREESCALE IMX7
+MEDIA DRIVERS FOR FREESCALE IMX7/8
 M:	Rui Miguel Silva <rmfrfs@gmail.com>
 M:	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+M:	Martin Kepplinger <martin.kepplinger@puri.sm>
+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,imx-mipi-csi2.yaml
 F:	Documentation/devicetree/bindings/media/nxp,imx7-csi.yaml
+F:	Documentation/devicetree/bindings/media/nxp,imx8mq-mipi-csi2.yaml
 F:	drivers/media/platform/nxp/imx-mipi-csis.c
 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>
diff --git a/drivers/media/platform/nxp/Kconfig b/drivers/media/platform/nxp/Kconfig
index a0ca6b297fb8..40e3436669e2 100644
--- a/drivers/media/platform/nxp/Kconfig
+++ b/drivers/media/platform/nxp/Kconfig
@@ -17,6 +17,17 @@  config VIDEO_IMX7_CSI
 	  Driver for the NXP Camera Sensor Interface (CSI) Bridge. This device
 	  is found in the i.MX6UL/L, i.MX7 and i.MX8M[MQ] 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.
+
 config VIDEO_IMX_MIPI_CSIS
 	tristate "NXP MIPI CSI-2 CSIS receiver found on i.MX7 and i.MX8 models"
 	depends on ARCH_MXC || COMPILE_TEST
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..b42af427b88b 100644
--- a/drivers/staging/media/imx/Kconfig
+++ b/drivers/staging/media/imx/Kconfig
@@ -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