summaryrefslogtreecommitdiff
path: root/drivers/media/radio/si470x/radio-si470x-i2c.c
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2012-06-14 16:43:12 +0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-07-31 01:11:28 +0400
commit779471110c6f0f7f7c223fc696170ec750ac3531 (patch)
tree3c969ef4c615a52f305d55f18405e7f9d1542cea /drivers/media/radio/si470x/radio-si470x-i2c.c
parent86ef3f78b8bae808f41f74c506762ac345fdf893 (diff)
downloadlinux-779471110c6f0f7f7c223fc696170ec750ac3531.tar.xz
[media] radio-si470x: Always use interrupt to wait for tune/seek completion
Since USB receives STATUS_RSSI updates through the interrupt endpoint, there is no need to poll with USB, so get rid of the polling. Note this also changes the order in which the probing of USB devices is done, to avoid si470x_set_chan getting called before the interrupt endpoint is being monitored. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/radio/si470x/radio-si470x-i2c.c')
-rw-r--r--drivers/media/radio/si470x/radio-si470x-i2c.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/media/radio/si470x/radio-si470x-i2c.c b/drivers/media/radio/si470x/radio-si470x-i2c.c
index a80044c5874e..fb401a22b033 100644
--- a/drivers/media/radio/si470x/radio-si470x-i2c.c
+++ b/drivers/media/radio/si470x/radio-si470x-i2c.c
@@ -351,6 +351,7 @@ static int __devinit si470x_i2c_probe(struct i2c_client *client,
radio->client = client;
mutex_init(&radio->lock);
+ init_completion(&radio->completion);
/* video device initialization */
radio->videodev = si470x_viddev_template;
@@ -406,10 +407,6 @@ static int __devinit si470x_i2c_probe(struct i2c_client *client,
radio->rd_index = 0;
init_waitqueue_head(&radio->read_queue);
- /* mark Seek/Tune Complete Interrupt enabled */
- radio->stci_enabled = true;
- init_completion(&radio->completion);
-
retval = request_threaded_irq(client->irq, NULL, si470x_i2c_interrupt,
IRQF_TRIGGER_FALLING, DRIVER_NAME, radio);
if (retval) {