Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp5330533rwr; Mon, 24 Apr 2023 02:24:22 -0700 (PDT) X-Google-Smtp-Source: AKy350YLaHkchoZtAoPNc9u/QSGJ7nqXTAUqs8K6L4/kp5+pdycktEPGD6SuHoVYneq1a95HjanP X-Received: by 2002:a05:6a20:e405:b0:ee:b372:207b with SMTP id nh5-20020a056a20e40500b000eeb372207bmr11751342pzb.54.1682328262403; Mon, 24 Apr 2023 02:24:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682328262; cv=none; d=google.com; s=arc-20160816; b=uxKuViZ4rN5giTpCxsqDii6w94b5AQiFSXA7FWGv3z7JHR1seUqiqPQERS9TvTVuJa X7jqhmn+9bObmjfxlO1Zwt+XqDGLFiicUxX8TH5YYzXbdV7zW7patBtVMRVuyyEu8cgJ S62YYP4Fpjmry+GbePuWhU0GDNSZqd1xw0ViWAXHSJpW8kTxzqAlVqwwu+kfTWIL/PoA Qo6Z7t+kdHqTfXGFgqaZqsmPa9mujcxVHrC11C5eCTvAV43Cx5tb0N+8Pipq+0IxS9le 65KnoHX9x8OXw+EK9ZLR/w5rf2xuVQK6huduUZiMr8ycT5kotLUMO70ZFU8x8Y6x0wGi Aa1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=PdamqkrQ6/6CCvwKG0oumVkH+yptK8dXrMUBth1nTak=; b=r05shv4oakXOXaOLiYU/VI5bzD7Putpteto+sDCkJvbEi3Es8scPV26p5CfT73vIhh OWm7dqPZfFTZMZrClwWZ/SokveqefJdGf3fk8hQJyG8Af6F4VzMaycKU1jqwZB1/1JLL R6nnuG5A5/p6uK3NiRqBsf3EhHf7I0ai2YOIJ9lHRhufO3GUFnQj+Ug6Esn0StW0Wt3s Oko/Vub/qvNN5s3Hwq+3bhn77j2SjihlIY43keeYfV0uKz5QwZnVoC0ZM2DJXwXv/9C2 nrZDJPGN+p3OW/SL/YZQXdwdCE+0UGRKgGmEM8TbZaUeWzPythcQUi6DKrk+ld1ZXFYN 3UDQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=hWWKK+BZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e7-20020a635447000000b0051ade38b397si10907037pgm.264.2023.04.24.02.24.08; Mon, 24 Apr 2023 02:24:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=hWWKK+BZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231431AbjDXJMC (ORCPT + 99 others); Mon, 24 Apr 2023 05:12:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49594 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231278AbjDXJMA (ORCPT ); Mon, 24 Apr 2023 05:12:00 -0400 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0E1A8E76; Mon, 24 Apr 2023 02:11:59 -0700 (PDT) Received: from pendragon.ideasonboard.com (133-32-181-51.west.xps.vectant.ne.jp [133.32.181.51]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 68EB79DE; Mon, 24 Apr 2023 11:11:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1682327507; bh=JttGT14krNRj5WYQKdQI7bhCw/cOBk/ZkWpXFncAIpg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=hWWKK+BZL+C7MgV3YcFmIMKYEnjNsg7Mf91X2aIHJlyrWt1QJwBvoloZEgVMQFTBA R2nj+k83UMoPtkEQZK6h/dxUYGD7HyiTygZPC1362dh8z4SR5hmpqGqs0ZCNDlxQAG lzLvjaLi1g6T9atDtnceUCksIvN9SEFQMzvA4fcY= Date: Mon, 24 Apr 2023 12:12:09 +0300 From: Laurent Pinchart To: Martin Kepplinger Cc: mchehab@kernel.org, shawnguo@kernel.org, festevam@gmail.com, slongerbeam@gmail.com, gregkh@linuxfoundation.org, hverkuil-cisco@xs4all.nl, rmfrfs@gmail.com, kernel@pengutronix.de, linux-imx@nxp.com, kernel@puri.sm, linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: Re: [PATCH] media: imx: Unstage the imx8mq-mipi-csi2 driver Message-ID: <20230424091209.GC14888@pendragon.ideasonboard.com> References: <20230424082945.2580298-1-martin.kepplinger@puri.sm> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20230424082945.2580298-1-martin.kepplinger@puri.sm> X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > --- > 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 > +R: Laurent Pinchart > +R: Purism Kernel Team > +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 > 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 -- Regards, Laurent Pinchart