mirror of
https://github.com/torvalds/linux.git
synced 2024-11-19 10:31:48 +00:00
drm/i2c: tda998x: move mutex/waitqueue/timer/work init early
Move the mutex, waitqueue, timer and detect work initialisation early in the driver's initialisation, rather than being after we've registered the CEC device. Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
This commit is contained in:
parent
0adb32858b
commit
d93ae190e2
@ -1475,7 +1475,11 @@ static int tda998x_create(struct i2c_client *client, struct tda998x_priv *priv)
|
||||
u32 video;
|
||||
int rev_lo, rev_hi, ret;
|
||||
|
||||
mutex_init(&priv->audio_mutex); /* Protect access from audio thread */
|
||||
mutex_init(&priv->mutex); /* protect the page access */
|
||||
mutex_init(&priv->audio_mutex); /* protect access from audio thread */
|
||||
init_waitqueue_head(&priv->edid_delay_waitq);
|
||||
timer_setup(&priv->edid_delay_timer, tda998x_edid_delay_done, 0);
|
||||
INIT_WORK(&priv->detect_work, tda998x_detect_work);
|
||||
|
||||
priv->vip_cntrl_0 = VIP_CNTRL_0_SWAP_A(2) | VIP_CNTRL_0_SWAP_B(3);
|
||||
priv->vip_cntrl_1 = VIP_CNTRL_1_SWAP_C(0) | VIP_CNTRL_1_SWAP_D(1);
|
||||
@ -1489,11 +1493,6 @@ static int tda998x_create(struct i2c_client *client, struct tda998x_priv *priv)
|
||||
if (!priv->cec)
|
||||
return -ENODEV;
|
||||
|
||||
mutex_init(&priv->mutex); /* protect the page access */
|
||||
init_waitqueue_head(&priv->edid_delay_waitq);
|
||||
timer_setup(&priv->edid_delay_timer, tda998x_edid_delay_done, 0);
|
||||
INIT_WORK(&priv->detect_work, tda998x_detect_work);
|
||||
|
||||
/* wake up the device: */
|
||||
cec_write(priv, REG_CEC_ENAMODS,
|
||||
CEC_ENAMODS_EN_RXSENS | CEC_ENAMODS_EN_HDMI);
|
||||
|
Loading…
Reference in New Issue
Block a user