Commit 2e48cecb authored by Guido Martínez's avatar Guido Martínez Committed by Russell King

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: default avatarGuido Martínez <guido@vanguardiasur.com.ar>
Signed-off-by: default avatarEzequiel García <ezequiel@vanguardiasur.com.ar>
Cc: <stable@vger.kernel.org> #v3.9+
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 1860e379
...@@ -1183,7 +1183,6 @@ static void ...@@ -1183,7 +1183,6 @@ static void
tda998x_encoder_destroy(struct drm_encoder *encoder) tda998x_encoder_destroy(struct drm_encoder *encoder)
{ {
struct tda998x_priv *priv = to_tda998x_priv(encoder); struct tda998x_priv *priv = to_tda998x_priv(encoder);
drm_i2c_encoder_destroy(encoder);
/* disable all IRQs and free the IRQ handler */ /* disable all IRQs and free the IRQ handler */
cec_write(priv, REG_CEC_RXSHPDINTENA, 0); cec_write(priv, REG_CEC_RXSHPDINTENA, 0);
...@@ -1193,6 +1192,7 @@ tda998x_encoder_destroy(struct drm_encoder *encoder) ...@@ -1193,6 +1192,7 @@ tda998x_encoder_destroy(struct drm_encoder *encoder)
if (priv->cec) if (priv->cec)
i2c_unregister_device(priv->cec); i2c_unregister_device(priv->cec);
drm_i2c_encoder_destroy(encoder);
kfree(priv); kfree(priv);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment