From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; dkim=none Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [IPv6:2a0a:edc0:2:b01:1d::104]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E9D11186 for ; Mon, 27 Nov 2023 03:38:57 -0800 (PST) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1r7Zwb-0002vG-1v; Mon, 27 Nov 2023 12:38:29 +0100 Received: from [2a0a:edc0:0:900:1d::4e] (helo=lupine) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1r7ZwY-00Bvkh-VA; Mon, 27 Nov 2023 12:38:26 +0100 Received: from pza by lupine with local (Exim 4.96) (envelope-from ) id 1r7ZwT-000AAH-2o; Mon, 27 Nov 2023 12:38:21 +0100 Message-ID: Subject: Re: [PATCH v8 3/5] media: stm32-dcmipp: STM32 DCMIPP camera interface driver From: Philipp Zabel To: Alain Volmat , Hugues Fruchet , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Maxime Coquelin , Alexandre Torgue , Russell King Cc: Sakari Ailus , Laurent Pinchart , Dan Scally , linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Date: Mon, 27 Nov 2023 12:38:21 +0100 In-Reply-To: <20231122073927.788810-4-alain.volmat@foss.st.com> References: <20231122073927.788810-1-alain.volmat@foss.st.com> <20231122073927.788810-4-alain.volmat@foss.st.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.4-2 Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: p.zabel@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: devicetree@vger.kernel.org On Mi, 2023-11-22 at 08:39 +0100, Alain Volmat wrote: > From: Hugues Fruchet >=20 > This V4L2 subdev driver enables Digital Camera Memory Interface > Pixel Processor(DCMIPP) of STMicroelectronics STM32 SoC series. >=20 > Signed-off-by: Hugues Fruchet > Signed-off-by: Alain Volmat > --- [...] > diff --git a/drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c b= /drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c > new file mode 100644 > index 000000000000..28ddb26314c3 > --- /dev/null > +++ b/drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c > @@ -0,0 +1,604 @@ [...] > +struct dcmipp_device { > + /* The platform device */ > + struct platform_device pdev; > + struct device *dev; > + > + /* Hardware resources */ > + struct reset_control *rstc; As long as rstc is only used in dcmipp_probe(), there is no need to carry it around in struct dcmipp_device. [...] > +static int dcmipp_probe(struct platform_device *pdev) > +{ > + struct dcmipp_device *dcmipp; > + struct clk *kclk; rstc could be a local variable here. [...] > + /* Get hardware resources from devicetree */ > + dcmipp->rstc =3D devm_reset_control_get_exclusive(&pdev->dev, NULL); > + if (IS_ERR(dcmipp->rstc)) > + return dev_err_probe(&pdev->dev, PTR_ERR(dcmipp->rstc), > + "Could not get reset control\n"); [...] > + /* Reset device */ > + ret =3D reset_control_assert(dcmipp->rstc); > + if (ret) { > + dev_err(&pdev->dev, "Failed to assert the reset line\n"); > + return ret; > + } > + > + usleep_range(3000, 5000); > + > + ret =3D reset_control_deassert(dcmipp->rstc); > + if (ret) { > + dev_err(&pdev->dev, "Failed to deassert the reset line\n"); > + return ret; > + } regards Philipp