Skip to content

Commit

Permalink
drm/i2c: tda998x: move CEC device initialisation later
Browse files Browse the repository at this point in the history
We no longer use the CEC client to access the CEC part itself, so we can
move this later in the initialisation sequence.

Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  • Loading branch information
Russell King committed Apr 3, 2018
1 parent 6a765c3 commit 101e996
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions drivers/gpu/drm/i2c/tda998x_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -1489,9 +1489,6 @@ static int tda998x_create(struct i2c_client *client, struct tda998x_priv *priv)
priv->cec_addr = 0x34 + (client->addr & 0x03);
priv->current_page = 0xff;
priv->hdmi = client;
priv->cec = i2c_new_dummy(client->adapter, priv->cec_addr);
if (!priv->cec)
return -ENODEV;

/* wake up the device: */
cec_write(priv, REG_CEC_ENAMODS,
Expand Down Expand Up @@ -1578,6 +1575,12 @@ static int tda998x_create(struct i2c_client *client, struct tda998x_priv *priv)
cec_write(priv, REG_CEC_RXSHPDINTENA, CEC_RXSHPDLEV_HPD);
}

priv->cec = i2c_new_dummy(client->adapter, priv->cec_addr);
if (!priv->cec) {
ret = -ENODEV;
goto fail;
}

/* enable EDID read irq: */
reg_set(priv, REG_INT_FLAGS_2, INT_FLAGS_2_EDID_BLK_RD);

Expand All @@ -1594,14 +1597,14 @@ static int tda998x_create(struct i2c_client *client, struct tda998x_priv *priv)

ret = tda998x_get_audio_ports(priv, np);
if (ret)
goto err_audio;
goto fail;

if (priv->audio_port[0].format != AFMT_UNUSED)
tda998x_audio_codec_init(priv, &client->dev);

return 0;

err_audio:
fail:
if (client->irq)
free_irq(client->irq, priv);
err_irq:
Expand Down

0 comments on commit 101e996

Please sign in to comment.