Thread (31 messages) 31 messages, 5 authors, 2021-09-29

Re: [PATCH v4 02/10] drm/ingenic: Add support for JZ4780 and HDMI output

flat view

From: H. Nikolaus Schaller <hidden>
Date: 2021-09-29 13:25:39
Also in: dri-devel, linux-mips, lkml

Hi Paul,

Am 28.09.2021 um 14:06 schrieb H. Nikolaus Schaller [off-list ref]:

Hi Paul,
quoted
Am 28.09.2021 um 12:21 schrieb H. Nikolaus Schaller [off-list ref]:
quoted
quoted
@@ -1492,10 +1555,16 @@ static int ingenic_drm_init(void)
{
	int err;
+	if (IS_ENABLED(CONFIG_DRM_INGENIC_DW_HDMI)) {
+		err = platform_driver_register(ingenic_dw_hdmi_driver_ptr);
+		if (err)
+			return err;
+	}
I don't see why you need to register the ingenic-dw-hdmi driver here. Just register it in the ingenic-dw-hdmi driver.
Ok, I never though about this (as the code was not from me). We apparently just followed the IPU code pattern (learning by example).

It indeed looks not necessary and would also avoid the ingenic_dw_hdmi_driver_ptr dependency.

But: what is ingenic_ipu_driver_ptr then good for?

If we can get rid of this as well, we can drop patch 1/10 ("drm/ingenic: Fix drm_init error path if IPU was registered") completely.
A quick test shows that it *is* required. At least if I configure everything as modules.
But like you I can't explain why.

Well, just a very rough idea (may be wrong): the bridge chain is not like an i2c bus and
clients are not automatically loaded/probed if linked in the device tree. Therefore the
consumer (ingenic_drm_drv) must register the "clients" like IPU and HDMI.
Any suggestion how to proceed here for v5?

BR,
Nikolaus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help