All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/1] drm/bridge: lontium-lt9611uxc: use irq as optional
@ 2026-01-07  3:23 Vladimir Yakovlev
  2026-01-07  3:23 ` [PATCH v2 1/1] drm/bridge: lontium-lt9611uxc: use irq as optional parameter Vladimir Yakovlev
  2026-01-07  9:09 ` [PATCH v2 0/1] drm/bridge: lontium-lt9611uxc: use irq as optional Luca Ceresoli
  0 siblings, 2 replies; 4+ messages in thread
From: Vladimir Yakovlev @ 2026-01-07  3:23 UTC (permalink / raw)
  To: luca.ceresoli
  Cc: Vladimir Yakovlev, Laurent.pinchart, airlied, andrzej.hajda,
	dmitry.baryshkov, dri-devel, jernej.skrabec, jonas, linux-kernel,
	maarten.lankhorst, mripard, neil.armstrong, rfoss, simona,
	tzimmermann

Hello!

This patch add support IRQ as optional for lt9611uxc

Changes in v2:
- As Luca Ceresoli recommended earlier, I added a patch to replace
- request_threaded_irq with devm_request_threaded_irq before making
- these changes.
-
- Since the updates only affected this patch, and the previous patch
- was new, I made v2 just for this one. I apologize if this is incorrect.


Thanks

Vladimir Yakovlev (1):
  drm/bridge: lontium-lt9611uxc: use irq as optional parameter

 drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2 1/1] drm/bridge: lontium-lt9611uxc: use irq as optional parameter
  2026-01-07  3:23 [PATCH v2 0/1] drm/bridge: lontium-lt9611uxc: use irq as optional Vladimir Yakovlev
@ 2026-01-07  3:23 ` Vladimir Yakovlev
  2026-01-07  9:23   ` Luca Ceresoli
  2026-01-07  9:09 ` [PATCH v2 0/1] drm/bridge: lontium-lt9611uxc: use irq as optional Luca Ceresoli
  1 sibling, 1 reply; 4+ messages in thread
From: Vladimir Yakovlev @ 2026-01-07  3:23 UTC (permalink / raw)
  To: luca.ceresoli
  Cc: Vladimir Yakovlev, Laurent.pinchart, airlied, andrzej.hajda,
	dmitry.baryshkov, dri-devel, jernej.skrabec, jonas, linux-kernel,
	maarten.lankhorst, mripard, neil.armstrong, rfoss, simona,
	tzimmermann

On some systems the interrupt pin may not be used.
In this case we exclude DRM_BRIDGE_OP_HPD from supported operations,
after which a polling thread is started to detect the connection.
(the default polling period for DRM is 10 seconds)

Signed-off-by: Vladimir Yakovlev <vovchkir@gmail.com>
---
 drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
index bb5cff021c93..f7a74ec1f170 100644
--- a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
+++ b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
@@ -851,19 +851,25 @@ static int lt9611uxc_probe(struct i2c_client *client)
 	init_waitqueue_head(&lt9611uxc->wq);
 	INIT_WORK(&lt9611uxc->work, lt9611uxc_hpd_work);
 
-	ret = devm_request_threaded_irq(dev, client->irq, NULL,
-					lt9611uxc_irq_thread_handler,
-					IRQF_ONESHOT, "lt9611uxc", lt9611uxc);
-	if (ret) {
-		dev_err(dev, "failed to request irq\n");
-		goto err_disable_regulators;
+	if (client->irq) {
+		ret = devm_request_threaded_irq(dev, client->irq, NULL,
+						lt9611uxc_irq_thread_handler,
+						IRQF_ONESHOT, "lt9611uxc", lt9611uxc);
+		if (ret) {
+			dev_err(dev, "failed to request irq\n");
+			goto err_disable_regulators;
+		}
+		dev_dbg(dev, "Uses IRQ\n");
+	} else {
+		dev_dbg(dev, "The interrupt (IRQ) is not specified in the DTS.\n");
+		dev_dbg(dev, "Check the interrupt (IRQ) or polling will be used!!!\n");
 	}
 
 	i2c_set_clientdata(client, lt9611uxc);
 
 	lt9611uxc->bridge.of_node = client->dev.of_node;
 	lt9611uxc->bridge.ops = DRM_BRIDGE_OP_DETECT | DRM_BRIDGE_OP_EDID;
-	if (lt9611uxc->hpd_supported)
+	if (lt9611uxc->hpd_supported && client->irq)
 		lt9611uxc->bridge.ops |= DRM_BRIDGE_OP_HPD;
 	lt9611uxc->bridge.type = DRM_MODE_CONNECTOR_HDMIA;
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2 0/1] drm/bridge: lontium-lt9611uxc: use irq as optional
  2026-01-07  3:23 [PATCH v2 0/1] drm/bridge: lontium-lt9611uxc: use irq as optional Vladimir Yakovlev
  2026-01-07  3:23 ` [PATCH v2 1/1] drm/bridge: lontium-lt9611uxc: use irq as optional parameter Vladimir Yakovlev
@ 2026-01-07  9:09 ` Luca Ceresoli
  1 sibling, 0 replies; 4+ messages in thread
From: Luca Ceresoli @ 2026-01-07  9:09 UTC (permalink / raw)
  To: Vladimir Yakovlev
  Cc: Laurent.pinchart, airlied, andrzej.hajda, dmitry.baryshkov,
	dri-devel, jernej.skrabec, jonas, linux-kernel, maarten.lankhorst,
	mripard, neil.armstrong, rfoss, simona, tzimmermann

On Wed Jan 7, 2026 at 4:23 AM CET, Vladimir Yakovlev wrote:
> Hello!
>
> This patch add support IRQ as optional for lt9611uxc
>
> Changes in v2:
> - As Luca Ceresoli recommended earlier, I added a patch to replace
> - request_threaded_irq with devm_request_threaded_irq before making
> - these changes.
> -
> - Since the updates only affected this patch, and the previous patch
> - was new, I made v2 just for this one. I apologize if this is incorrect.

This series depends on "[PATCH] drm/bridge: lontium-lt9611uxc: change to
use devm_request_threaded_irq" which you have sent separately, so it cannot
be applied as-is. The best thing to do would have been sending a v2 series
with 2 patches: first the devm conversion, then this one.

However no need to send again just for this, it can be handled while
applying.

Luca

--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2 1/1] drm/bridge: lontium-lt9611uxc: use irq as optional parameter
  2026-01-07  3:23 ` [PATCH v2 1/1] drm/bridge: lontium-lt9611uxc: use irq as optional parameter Vladimir Yakovlev
@ 2026-01-07  9:23   ` Luca Ceresoli
  0 siblings, 0 replies; 4+ messages in thread
From: Luca Ceresoli @ 2026-01-07  9:23 UTC (permalink / raw)
  To: Vladimir Yakovlev
  Cc: Laurent.pinchart, airlied, andrzej.hajda, dmitry.baryshkov,
	dri-devel, jernej.skrabec, jonas, linux-kernel, maarten.lankhorst,
	mripard, neil.armstrong, rfoss, simona, tzimmermann

On Wed Jan 7, 2026 at 4:23 AM CET, Vladimir Yakovlev wrote:
> On some systems the interrupt pin may not be used.
> In this case we exclude DRM_BRIDGE_OP_HPD from supported operations,
> after which a polling thread is started to detect the connection.
> (the default polling period for DRM is 10 seconds)
>
> Signed-off-by: Vladimir Yakovlev <vovchkir@gmail.com>
> ---
>  drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 20 +++++++++++++-------
>  1 file changed, 13 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
> index bb5cff021c93..f7a74ec1f170 100644
> --- a/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
> +++ b/drivers/gpu/drm/bridge/lontium-lt9611uxc.c
> @@ -851,19 +851,25 @@ static int lt9611uxc_probe(struct i2c_client *client)
>  	init_waitqueue_head(&lt9611uxc->wq);
>  	INIT_WORK(&lt9611uxc->work, lt9611uxc_hpd_work);
>
> -	ret = devm_request_threaded_irq(dev, client->irq, NULL,
> -					lt9611uxc_irq_thread_handler,
> -					IRQF_ONESHOT, "lt9611uxc", lt9611uxc);
> -	if (ret) {
> -		dev_err(dev, "failed to request irq\n");
> -		goto err_disable_regulators;
> +	if (client->irq) {
> +		ret = devm_request_threaded_irq(dev, client->irq, NULL,
> +						lt9611uxc_irq_thread_handler,
> +						IRQF_ONESHOT, "lt9611uxc", lt9611uxc);
> +		if (ret) {
> +			dev_err(dev, "failed to request irq\n");
> +			goto err_disable_regulators;
> +		}
> +		dev_dbg(dev, "Uses IRQ\n");
> +	} else {
> +		dev_dbg(dev, "The interrupt (IRQ) is not specified in the DTS.\n");
> +		dev_dbg(dev, "Check the interrupt (IRQ) or polling will be used!!!\n");
>  	}

Thanks for having moved form a warning to a dbg. However these 2 lines are
overly verbose and that's not really needed. I would prefer to see all
those 3 dev_dbg() disappear honestly, being polling a perfectly supported
use case here. But if you really really want to keep them, at least replace
these 2 lines with just a "Uses polling\n" which gives the same info. Also
the 2 consecutive dev_dbg() may mix with other logging, making it awkward
to read in the logs.

Luca

--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-01-07  9:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-07  3:23 [PATCH v2 0/1] drm/bridge: lontium-lt9611uxc: use irq as optional Vladimir Yakovlev
2026-01-07  3:23 ` [PATCH v2 1/1] drm/bridge: lontium-lt9611uxc: use irq as optional parameter Vladimir Yakovlev
2026-01-07  9:23   ` Luca Ceresoli
2026-01-07  9:09 ` [PATCH v2 0/1] drm/bridge: lontium-lt9611uxc: use irq as optional Luca Ceresoli

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.