public inbox for linux-kernel@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox