drm/i2c: tda998x: move drm_i2c_encoder_destroy call
Currently tda998x_encoder_destroy() calls cec_write() and reg_clear(), as part of the release procedure. Such calls need to access the I2C bus and therefore, we need to call them before drm_i2c_encoder_destroy() which unregisters the I2C device. This commit moves the latter so it's done afterwards. Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Signed-off-by: Ezequiel García <ezequiel@vanguardiasur.com.ar> Cc: <stable@vger.kernel.org> #v3.9+ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
1860e37987
commit
2e48cecb55
|
@ -1183,7 +1183,6 @@ static void
|
|||
tda998x_encoder_destroy(struct drm_encoder *encoder)
|
||||
{
|
||||
struct tda998x_priv *priv = to_tda998x_priv(encoder);
|
||||
drm_i2c_encoder_destroy(encoder);
|
||||
|
||||
/* disable all IRQs and free the IRQ handler */
|
||||
cec_write(priv, REG_CEC_RXSHPDINTENA, 0);
|
||||
|
@ -1193,6 +1192,7 @@ tda998x_encoder_destroy(struct drm_encoder *encoder)
|
|||
|
||||
if (priv->cec)
|
||||
i2c_unregister_device(priv->cec);
|
||||
drm_i2c_encoder_destroy(encoder);
|
||||
kfree(priv);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue