summaryrefslogtreecommitdiffstats
path: root/drivers/media/common/tuners/mxl5007t.c
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2008-07-26 20:43:17 +0200
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-07-27 16:07:35 +0200
commit74b9ef21162fd81d9de87319c4373f523e2869cd (patch)
tree2c6a4f202511838d328f7e8841744c38a4f24f9b /drivers/media/common/tuners/mxl5007t.c
parentV4L/DVB (8531): mxl5007t: move i2c gate handling outside of mutex protected c... (diff)
downloadlinux-74b9ef21162fd81d9de87319c4373f523e2869cd.tar.xz
linux-74b9ef21162fd81d9de87319c4373f523e2869cd.zip
V4L/DVB (8532): mxl5007t: remove excessive locks
The use of mutex locking is overly paranoid in this driver. The only locks we need are around the manipulation of the register arrays. The other locks are not needed - remove them. Thanks to Steven Toth for pointing this out. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/common/tuners/mxl5007t.c')
-rw-r--r--drivers/media/common/tuners/mxl5007t.c16
1 files changed, 0 insertions, 16 deletions
diff --git a/drivers/media/common/tuners/mxl5007t.c b/drivers/media/common/tuners/mxl5007t.c
index 4a1ea5425850..cb25e43502fe 100644
--- a/drivers/media/common/tuners/mxl5007t.c
+++ b/drivers/media/common/tuners/mxl5007t.c
@@ -663,8 +663,6 @@ static int mxl5007t_get_status(struct dvb_frontend *fe, u32 *status)
if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 1);
- mutex_lock(&state->lock);
-
ret = mxl5007t_synth_lock_status(state, &rf_locked, &ref_locked);
if (mxl_fail(ret))
goto fail;
@@ -676,8 +674,6 @@ static int mxl5007t_get_status(struct dvb_frontend *fe, u32 *status)
goto fail;
mxl_debug("rf input power: %d", rf_input_level);
fail:
- mutex_unlock(&state->lock);
-
if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 0);
@@ -839,8 +835,6 @@ static int mxl5007t_init(struct dvb_frontend *fe)
if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 1);
- mutex_lock(&state->lock);
-
ret = mxl5007t_read_reg(state, 0x05, &d);
if (mxl_fail(ret))
goto fail;
@@ -848,8 +842,6 @@ static int mxl5007t_init(struct dvb_frontend *fe)
ret = mxl5007t_write_reg(state, 0x05, d | 0x01);
mxl_fail(ret);
fail:
- mutex_unlock(&state->lock);
-
if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 0);
@@ -865,8 +857,6 @@ static int mxl5007t_sleep(struct dvb_frontend *fe)
if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 1);
- mutex_lock(&state->lock);
-
ret = mxl5007t_read_reg(state, 0x05, &d);
if (mxl_fail(ret))
goto fail;
@@ -874,8 +864,6 @@ static int mxl5007t_sleep(struct dvb_frontend *fe)
ret = mxl5007t_write_reg(state, 0x05, d & ~0x01);
mxl_fail(ret);
fail:
- mutex_unlock(&state->lock);
-
if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 0);
@@ -1001,12 +989,8 @@ struct dvb_frontend *mxl5007t_attach(struct dvb_frontend *fe,
if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 1);
- mutex_lock(&state->lock);
-
ret = mxl5007t_get_chip_id(state);
- mutex_unlock(&state->lock);
-
if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 0);