public inbox for linux-rockchip@lists.infradead.org
 help / color / mirror / Atom feed
From: Michael Riesch <michael.riesch@wolfvision.net>
To: Mehdi Djait <mehdi.djait@linux.intel.com>
Cc: "Maxime Chevallier" <maxime.chevallier@bootlin.com>,
	"Théo Lebrun" <theo.lebrun@bootlin.com>,
	"Gerald Loacker" <gerald.loacker@wolfvision.net>,
	"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
	"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Heiko Stuebner" <heiko@sntech.de>,
	"Kever Yang" <kever.yang@rock-chips.com>,
	"Nicolas Dufresne" <nicolas.dufresne@collabora.com>,
	"Sebastian Fricke" <sebastian.fricke@collabora.com>,
	"Sebastian Reichel" <sebastian.reichel@collabora.com>,
	"Paul Kocialkowski" <paulk@sys-base.io>,
	"Alexander Shiyan" <eagle.alexander923@gmail.com>,
	"Val Packett" <val@packett.cool>, "Rob Herring" <robh@kernel.org>,
	"Philipp Zabel" <p.zabel@pengutronix.de>,
	"Sakari Ailus" <sakari.ailus@linux.intel.com>,
	linux-media@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org
Subject: Re: [PATCH v4 06/11] media: rockchip: rkcif: add driver for mipi csi-2 host
Date: Thu, 6 Mar 2025 10:05:22 +0100	[thread overview]
Message-ID: <137eeb26-65df-4dfa-bece-08a7758ae5c2@wolfvision.net> (raw)
In-Reply-To: <3fztpczfxlfzt3bdll4alzllrrqvvr3akhkiqtmtam2v2sbw2y@6hb3aok7h62x>

Hi Mehdi,

On 3/4/25 20:41, Mehdi Djait wrote:
> Hi Michael,
> 
> thank you for the patches.
> 
> Sorry for the big delay!

No worries, thanks for your comments!

> 
> On Wed, Feb 19, 2025 at 11:16:37AM +0100, Michael Riesch wrote:
>> The Rockchip RK3568 MIPI CSI-2 Host is a CSI-2 bridge with one input port
>> and one output port. It receives the data with the help of an external
>> MIPI PHY (C-PHY or D-PHY) and passes it to the Rockchip RK3568 Video
>> Capture (VICAP) block. Add a V4L2 subdevice driver for this unit.
>>
>> Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net>
>> ---
>>  drivers/media/platform/rockchip/rkcif/Makefile     |   1 +
>>  .../platform/rockchip/rkcif/rkcif-mipi-csi-host.c  | 731 +++++++++++++++++++++
>>  2 files changed, 732 insertions(+)
>>
>> diff --git a/drivers/media/platform/rockchip/rkcif/Makefile b/drivers/media/platform/rockchip/rkcif/Makefile
>> index 818424972c7b..0c18efd1f1b4 100644
>> --- a/drivers/media/platform/rockchip/rkcif/Makefile
>> +++ b/drivers/media/platform/rockchip/rkcif/Makefile
>> @@ -4,4 +4,5 @@ rockchip-cif-objs += rkcif-dev.o \
>>  	rkcif-capture-dvp.o \
>>  	rkcif-capture-mipi.o \
>>  	rkcif-interface.o \
>> +	rkcif-mipi-csi-host.o \
> 
> [..]
> 
>>  	rkcif-stream.o
>> diff --git a/drivers/media/platform/rockchip/rkcif/rkcif-mipi-csi-host.c b/drivers/media/platform/rockchip/rkcif/rkcif-mipi-csi-host.c
>> new file mode 100644
>> index 000000000000..fa3f42b2dc55
> 
> SNIP
> 
>> --- /dev/null
>> +++ b/drivers/media/platform/rockchip/rkcif/rkcif-mipi-csi-host.c
>> +
>> +static struct platform_driver rkcif_csi_drv = {
>> +	.driver = {
>> +		   .name = "rockchip-mipi-csi",
>> +		   .of_match_table = rkcif_csi_of_match,
>> +		   .pm = &rkcif_csi_pm_ops,
>> +	},
>> +	.probe = rkcif_csi_probe,
>> +	.remove = rkcif_csi_remove,
>> +};
>> +module_platform_driver(rkcif_csi_drv);
> 
> [..]
> 
> When adding the driver for this CSI-2 Host bridge, you added another
> call to  module_platform_driver()
> 
> but in the definition of this macro:
> 
> "Each module may only use this macro once, and
> calling it replaces module_init() and module_exit()"
> 
> and as you can see in the diff of the Makefile,
> rkcif-mipi-csi-host.0 is part of the same module as rkcif-dev.o, where
> you already call module_platform_driver()

Indeed. Found that only after submitting v4... :-/

> I think the solution here is to call
> platform_register_drivers(drivers, ARRAY_SIZE(drivers)) in rkcif-dev.c
> 
> with
> 
> static struct platform_driver * const drivers[] = {
> 	&rkcif_csi_drv,
> 	&rkcif_plat_drv,
> };
> 
> then define module_init() and module_exit()

Ah, I haven't thought of that approach. Actually, I was going to split
the cif part and the mipi host part into two modules. This would keep
things modular (literally). What do you think about that?

> 
> Btw. MODULE_DEVICE_TABLE() is missing both here and in rkcif-dev.c

Huh, indeed. Nice catch, thanks!

Best regards,
Michael

> 
>> +
>> +MODULE_DESCRIPTION("Rockchip MIPI CSI-2 Host platform driver");
>> +MODULE_LICENSE("GPL");
>>
>> -- 
>> 2.34.1
>>
> 
> --
> Kind Regards
> Mehdi Djait


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

  reply	other threads:[~2025-03-06  9:18 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-19 10:16 [PATCH v4 00/11] media: rockchip: add a driver for the rockchip camera interface Michael Riesch
2025-02-19 10:16 ` [PATCH v4 01/11] media: dt-bindings: media: video-interfaces: add defines for sampling modes Michael Riesch
2025-02-19 10:16 ` [PATCH v4 02/11] media: dt-bindings: media: add bindings for rockchip px30 vip Michael Riesch
2025-02-19 10:16 ` [PATCH v4 03/11] media: dt-bindings: media: add bindings for rockchip rk3568 vicap Michael Riesch
2025-02-21 14:10   ` Sakari Ailus
2025-02-24 10:21     ` Michael Riesch
2025-02-24 12:42       ` Sakari Ailus
2025-02-19 10:16 ` [PATCH v4 04/11] media: dt-bindings: media: add bindings for rockchip mipi csi host Michael Riesch
2025-02-21 14:13   ` Sakari Ailus
2025-02-21 22:20     ` Rob Herring
2025-02-19 10:16 ` [PATCH v4 05/11] media: rockchip: add a driver for the rockchip camera interface Michael Riesch
2025-02-19 12:54   ` Markus Elfring
2025-02-19 10:16 ` [PATCH v4 06/11] media: rockchip: rkcif: add driver for mipi csi-2 host Michael Riesch
2025-03-04 19:41   ` Mehdi Djait
2025-03-06  9:05     ` Michael Riesch [this message]
2025-02-19 10:16 ` [PATCH v4 07/11] media: rockchip: rkcif: add support for mipi csi-2 receiver Michael Riesch
2025-02-19 10:16 ` [PATCH v4 08/11] arm64: dts: rockchip: add the vip node to px30 Michael Riesch
2025-02-19 10:16 ` [PATCH v4 09/11] arm64: dts: rockchip: add vicap node to rk356x Michael Riesch
2025-02-19 10:16 ` [PATCH v4 10/11] arm64: dts: rockchip: add mipi csi host " Michael Riesch
2025-02-19 10:16 ` [PATCH v4 11/11] arm64: dts: rockchip: enable vicap dvp on wolfvision pf5 io expander Michael Riesch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=137eeb26-65df-4dfa-bece-08a7758ae5c2@wolfvision.net \
    --to=michael.riesch@wolfvision.net \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=eagle.alexander923@gmail.com \
    --cc=gerald.loacker@wolfvision.net \
    --cc=heiko@sntech.de \
    --cc=kever.yang@rock-chips.com \
    --cc=krzk+dt@kernel.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=maxime.chevallier@bootlin.com \
    --cc=mchehab@kernel.org \
    --cc=mehdi.djait@linux.intel.com \
    --cc=nicolas.dufresne@collabora.com \
    --cc=p.zabel@pengutronix.de \
    --cc=paulk@sys-base.io \
    --cc=robh+dt@kernel.org \
    --cc=robh@kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=sebastian.fricke@collabora.com \
    --cc=sebastian.reichel@collabora.com \
    --cc=theo.lebrun@bootlin.com \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=val@packett.cool \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox