On Sun, Jan 19, 2014 at 07:58:43PM +0100, Jean-Francois Moine wrote:[...]This patch adds the optional treatment of the tda998x IRQ.
The interrupt function is used to know the display connection status
without polling and to speedup reading the EDID.
The interrupt number may be defined either in the DT or at encoder set
config time for non-DT boards.
Signed-off-by: Jean-Francois Moine <moinejf@xxxxxxx>
---
@@ -720,6 +787,10 @@ tda998x_encoder_set_config(struct drm_encoder *encoder, void *params)
priv->audio_port = p->audio_cfg;
priv->audio_format = p->audio_format;
}
+
+ priv->irq = p->irq;
+ if (p->irq)
+ tda_irq_init(priv);
If we're going to do it this way, this should probably release the IRQ if
there was one before re-claiming it, just in case this function gets called
more than once by some driver using it.
The alternative is, as I said before, to use the infrastructure which is
already there, namely setting the interrupt via struct i2c_client's
irq member. Yes, that doesn't satisfy Sebastian's comment about using
a GPIO, but there's no sign of GPIO usage in here at the moment anyway.
So we might as well use what's already provided.