diff options
-rw-r--r-- | drivers/media/radio/radio-mr800.c | 5 | ||||
-rw-r--r-- | drivers/media/radio/radio-wl1273.c | 3 | ||||
-rw-r--r-- | drivers/media/radio/si470x/radio-si470x-common.c | 6 | ||||
-rw-r--r-- | drivers/media/radio/wl128x/fmdrv_rx.c | 2 | ||||
-rw-r--r-- | drivers/media/radio/wl128x/fmdrv_v4l2.c | 4 | ||||
-rw-r--r-- | sound/i2c/other/tea575x-tuner.c | 4 |
6 files changed, 16 insertions, 8 deletions
diff --git a/drivers/media/radio/radio-mr800.c b/drivers/media/radio/radio-mr800.c index 94cb6bc690f5..3182b26d6efa 100644 --- a/drivers/media/radio/radio-mr800.c +++ b/drivers/media/radio/radio-mr800.c | |||
@@ -295,7 +295,8 @@ static int vidioc_g_tuner(struct file *file, void *priv, | |||
295 | v->type = V4L2_TUNER_RADIO; | 295 | v->type = V4L2_TUNER_RADIO; |
296 | v->rangelow = FREQ_MIN * FREQ_MUL; | 296 | v->rangelow = FREQ_MIN * FREQ_MUL; |
297 | v->rangehigh = FREQ_MAX * FREQ_MUL; | 297 | v->rangehigh = FREQ_MAX * FREQ_MUL; |
298 | v->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO; | 298 | v->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO | |
299 | V4L2_TUNER_CAP_HWSEEK_WRAP; | ||
299 | v->rxsubchans = is_stereo ? V4L2_TUNER_SUB_STEREO : V4L2_TUNER_SUB_MONO; | 300 | v->rxsubchans = is_stereo ? V4L2_TUNER_SUB_STEREO : V4L2_TUNER_SUB_MONO; |
300 | v->audmode = radio->stereo ? | 301 | v->audmode = radio->stereo ? |
301 | V4L2_TUNER_MODE_STEREO : V4L2_TUNER_MODE_MONO; | 302 | V4L2_TUNER_MODE_STEREO : V4L2_TUNER_MODE_MONO; |
@@ -372,7 +373,7 @@ static int vidioc_s_hw_freq_seek(struct file *file, void *priv, | |||
372 | timeout = jiffies + msecs_to_jiffies(30000); | 373 | timeout = jiffies + msecs_to_jiffies(30000); |
373 | for (;;) { | 374 | for (;;) { |
374 | if (time_after(jiffies, timeout)) { | 375 | if (time_after(jiffies, timeout)) { |
375 | retval = -EAGAIN; | 376 | retval = -ENODATA; |
376 | break; | 377 | break; |
377 | } | 378 | } |
378 | if (schedule_timeout_interruptible(msecs_to_jiffies(10))) { | 379 | if (schedule_timeout_interruptible(msecs_to_jiffies(10))) { |
diff --git a/drivers/media/radio/radio-wl1273.c b/drivers/media/radio/radio-wl1273.c index f1b607099b6c..e8428f573ccd 100644 --- a/drivers/media/radio/radio-wl1273.c +++ b/drivers/media/radio/radio-wl1273.c | |||
@@ -1514,7 +1514,8 @@ static int wl1273_fm_vidioc_g_tuner(struct file *file, void *priv, | |||
1514 | tuner->rangehigh = WL1273_FREQ(WL1273_BAND_OTHER_HIGH); | 1514 | tuner->rangehigh = WL1273_FREQ(WL1273_BAND_OTHER_HIGH); |
1515 | 1515 | ||
1516 | tuner->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_RDS | | 1516 | tuner->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_RDS | |
1517 | V4L2_TUNER_CAP_STEREO | V4L2_TUNER_CAP_RDS_BLOCK_IO; | 1517 | V4L2_TUNER_CAP_STEREO | V4L2_TUNER_CAP_RDS_BLOCK_IO | |
1518 | V4L2_TUNER_CAP_HWSEEK_BOUNDED | V4L2_TUNER_CAP_HWSEEK_WRAP; | ||
1518 | 1519 | ||
1519 | if (radio->stereo) | 1520 | if (radio->stereo) |
1520 | tuner->audmode = V4L2_TUNER_MODE_STEREO; | 1521 | tuner->audmode = V4L2_TUNER_MODE_STEREO; |
diff --git a/drivers/media/radio/si470x/radio-si470x-common.c b/drivers/media/radio/si470x/radio-si470x-common.c index 969cf494d85b..d485b79222fd 100644 --- a/drivers/media/radio/si470x/radio-si470x-common.c +++ b/drivers/media/radio/si470x/radio-si470x-common.c | |||
@@ -363,7 +363,7 @@ stop: | |||
363 | 363 | ||
364 | /* try again, if timed out */ | 364 | /* try again, if timed out */ |
365 | if (retval == 0 && timed_out) | 365 | if (retval == 0 && timed_out) |
366 | return -EAGAIN; | 366 | return -ENODATA; |
367 | return retval; | 367 | return retval; |
368 | } | 368 | } |
369 | 369 | ||
@@ -596,7 +596,9 @@ static int si470x_vidioc_g_tuner(struct file *file, void *priv, | |||
596 | strcpy(tuner->name, "FM"); | 596 | strcpy(tuner->name, "FM"); |
597 | tuner->type = V4L2_TUNER_RADIO; | 597 | tuner->type = V4L2_TUNER_RADIO; |
598 | tuner->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO | | 598 | tuner->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO | |
599 | V4L2_TUNER_CAP_RDS | V4L2_TUNER_CAP_RDS_BLOCK_IO; | 599 | V4L2_TUNER_CAP_RDS | V4L2_TUNER_CAP_RDS_BLOCK_IO | |
600 | V4L2_TUNER_CAP_HWSEEK_BOUNDED | | ||
601 | V4L2_TUNER_CAP_HWSEEK_WRAP; | ||
600 | 602 | ||
601 | /* range limits */ | 603 | /* range limits */ |
602 | switch ((radio->registers[SYSCONFIG2] & SYSCONFIG2_BAND) >> 6) { | 604 | switch ((radio->registers[SYSCONFIG2] & SYSCONFIG2_BAND) >> 6) { |
diff --git a/drivers/media/radio/wl128x/fmdrv_rx.c b/drivers/media/radio/wl128x/fmdrv_rx.c index 43fb72291bea..3dd9fc097c47 100644 --- a/drivers/media/radio/wl128x/fmdrv_rx.c +++ b/drivers/media/radio/wl128x/fmdrv_rx.c | |||
@@ -251,7 +251,7 @@ again: | |||
251 | if (!timeleft) { | 251 | if (!timeleft) { |
252 | fmerr("Timeout(%d sec),didn't get tune ended int\n", | 252 | fmerr("Timeout(%d sec),didn't get tune ended int\n", |
253 | jiffies_to_msecs(FM_DRV_RX_SEEK_TIMEOUT) / 1000); | 253 | jiffies_to_msecs(FM_DRV_RX_SEEK_TIMEOUT) / 1000); |
254 | return -ETIMEDOUT; | 254 | return -ENODATA; |
255 | } | 255 | } |
256 | 256 | ||
257 | int_reason = fmdev->irq_info.flag & (FM_TUNE_COMPLETE | FM_BAND_LIMIT); | 257 | int_reason = fmdev->irq_info.flag & (FM_TUNE_COMPLETE | FM_BAND_LIMIT); |
diff --git a/drivers/media/radio/wl128x/fmdrv_v4l2.c b/drivers/media/radio/wl128x/fmdrv_v4l2.c index 080b96a61f1a..49a11ec1f449 100644 --- a/drivers/media/radio/wl128x/fmdrv_v4l2.c +++ b/drivers/media/radio/wl128x/fmdrv_v4l2.c | |||
@@ -285,7 +285,9 @@ static int fm_v4l2_vidioc_g_tuner(struct file *file, void *priv, | |||
285 | tuner->rxsubchans = V4L2_TUNER_SUB_MONO | V4L2_TUNER_SUB_STEREO | | 285 | tuner->rxsubchans = V4L2_TUNER_SUB_MONO | V4L2_TUNER_SUB_STEREO | |
286 | ((fmdev->rx.rds.flag == FM_RDS_ENABLE) ? V4L2_TUNER_SUB_RDS : 0); | 286 | ((fmdev->rx.rds.flag == FM_RDS_ENABLE) ? V4L2_TUNER_SUB_RDS : 0); |
287 | tuner->capability = V4L2_TUNER_CAP_STEREO | V4L2_TUNER_CAP_RDS | | 287 | tuner->capability = V4L2_TUNER_CAP_STEREO | V4L2_TUNER_CAP_RDS | |
288 | V4L2_TUNER_CAP_LOW; | 288 | V4L2_TUNER_CAP_LOW | |
289 | V4L2_TUNER_CAP_HWSEEK_BOUNDED | | ||
290 | V4L2_TUNER_CAP_HWSEEK_WRAP; | ||
289 | tuner->audmode = (stereo_mono_mode ? | 291 | tuner->audmode = (stereo_mono_mode ? |
290 | V4L2_TUNER_MODE_MONO : V4L2_TUNER_MODE_STEREO); | 292 | V4L2_TUNER_MODE_MONO : V4L2_TUNER_MODE_STEREO); |
291 | 293 | ||
diff --git a/sound/i2c/other/tea575x-tuner.c b/sound/i2c/other/tea575x-tuner.c index 582aace20ea3..ba2bc511d777 100644 --- a/sound/i2c/other/tea575x-tuner.c +++ b/sound/i2c/other/tea575x-tuner.c | |||
@@ -191,6 +191,8 @@ static int vidioc_g_tuner(struct file *file, void *priv, | |||
191 | strcpy(v->name, "FM"); | 191 | strcpy(v->name, "FM"); |
192 | v->type = V4L2_TUNER_RADIO; | 192 | v->type = V4L2_TUNER_RADIO; |
193 | v->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO; | 193 | v->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO; |
194 | if (!tea->cannot_read_data) | ||
195 | v->capability |= V4L2_TUNER_CAP_HWSEEK_BOUNDED; | ||
194 | v->rangelow = FREQ_LO; | 196 | v->rangelow = FREQ_LO; |
195 | v->rangehigh = FREQ_HI; | 197 | v->rangehigh = FREQ_HI; |
196 | v->rxsubchans = tea->stereo ? V4L2_TUNER_SUB_STEREO : V4L2_TUNER_SUB_MONO; | 198 | v->rxsubchans = tea->stereo ? V4L2_TUNER_SUB_STEREO : V4L2_TUNER_SUB_MONO; |
@@ -299,7 +301,7 @@ static int vidioc_s_hw_freq_seek(struct file *file, void *fh, | |||
299 | } | 301 | } |
300 | tea->val &= ~TEA575X_BIT_SEARCH; | 302 | tea->val &= ~TEA575X_BIT_SEARCH; |
301 | snd_tea575x_set_freq(tea); | 303 | snd_tea575x_set_freq(tea); |
302 | return -EAGAIN; | 304 | return -ENODATA; |
303 | } | 305 | } |
304 | 306 | ||
305 | static int tea575x_s_ctrl(struct v4l2_ctrl *ctrl) | 307 | static int tea575x_s_ctrl(struct v4l2_ctrl *ctrl) |