Commit 6cc72658 authored by Tobias Lorenz's avatar Tobias Lorenz Committed by Mauro Carvalho Chehab

V4L/DVB (7994): si470x: let si470x_get_freq return errno


This patch brings the following changes:
- version bumped to 1.0.8 for all the following patches
- si470x_get_freq now returns errno
Signed-off-by: default avatarTobias Lorenz <tobias.lorenz@gmx.net>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent ce5829e5
...@@ -23,6 +23,19 @@ ...@@ -23,6 +23,19 @@
*/ */
/*
* User Notes:
* - USB Audio is provided by the alsa snd_usb_audio module.
* For listing you have to redirect the sound, for example using:
* arecord -D hw:1,0 -r96000 -c2 -f S16_LE | artsdsp aplay -B -
* - regarding module parameters in /sys/module/radio_si470x/parameters:
* the contents of read-only files (0444) are not updated, even if
* space, band and de are changed using private video controls
* - increase tune_timeout, if you often get -EIO errors
* - hw_freq_seek returns -EAGAIN, when timed out or band limit is reached
*/
/* /*
* History: * History:
* 2008-01-12 Tobias Lorenz <tobias.lorenz@gmx.net> * 2008-01-12 Tobias Lorenz <tobias.lorenz@gmx.net>
...@@ -86,6 +99,9 @@ ...@@ -86,6 +99,9 @@
* Version 1.0.7 * Version 1.0.7
* - usb autosuspend support * - usb autosuspend support
* - unplugging fixed * - unplugging fixed
* 2008-05-07 Tobias Lorenz <tobias.lorenz@gmx.net>
* Version 1.0.8
* - let si470x_get_freq return errno
* *
* ToDo: * ToDo:
* - add seeking support * - add seeking support
...@@ -98,10 +114,10 @@ ...@@ -98,10 +114,10 @@
/* driver definitions */ /* driver definitions */
#define DRIVER_AUTHOR "Tobias Lorenz <tobias.lorenz@gmx.net>" #define DRIVER_AUTHOR "Tobias Lorenz <tobias.lorenz@gmx.net>"
#define DRIVER_NAME "radio-si470x" #define DRIVER_NAME "radio-si470x"
#define DRIVER_KERNEL_VERSION KERNEL_VERSION(1, 0, 7) #define DRIVER_KERNEL_VERSION KERNEL_VERSION(1, 0, 8)
#define DRIVER_CARD "Silicon Labs Si470x FM Radio Receiver" #define DRIVER_CARD "Silicon Labs Si470x FM Radio Receiver"
#define DRIVER_DESC "USB radio driver for Si470x FM Radio Receivers" #define DRIVER_DESC "USB radio driver for Si470x FM Radio Receivers"
#define DRIVER_VERSION "1.0.7" #define DRIVER_VERSION "1.0.8"
/* kernel includes */ /* kernel includes */
...@@ -631,9 +647,9 @@ static int si470x_set_chan(struct si470x_device *radio, unsigned short chan) ...@@ -631,9 +647,9 @@ static int si470x_set_chan(struct si470x_device *radio, unsigned short chan)
/* /*
* si470x_get_freq - get the frequency * si470x_get_freq - get the frequency
*/ */
static unsigned int si470x_get_freq(struct si470x_device *radio) static int si470x_get_freq(struct si470x_device *radio, unsigned int *freq)
{ {
unsigned int spacing, band_bottom, freq; unsigned int spacing, band_bottom;
unsigned short chan; unsigned short chan;
int retval; int retval;
...@@ -659,14 +675,12 @@ static unsigned int si470x_get_freq(struct si470x_device *radio) ...@@ -659,14 +675,12 @@ static unsigned int si470x_get_freq(struct si470x_device *radio)
/* read channel */ /* read channel */
retval = si470x_get_register(radio, READCHAN); retval = si470x_get_register(radio, READCHAN);
if (retval < 0)
return retval;
chan = radio->registers[READCHAN] & READCHAN_READCHAN; chan = radio->registers[READCHAN] & READCHAN_READCHAN;
/* Frequency (MHz) = Spacing (kHz) x Channel + Bottom of Band (MHz) */ /* Frequency (MHz) = Spacing (kHz) x Channel + Bottom of Band (MHz) */
freq = chan * spacing + band_bottom; *freq = chan * spacing + band_bottom;
return freq; return retval;
} }
...@@ -1351,9 +1365,7 @@ static int si470x_vidioc_g_frequency(struct file *file, void *priv, ...@@ -1351,9 +1365,7 @@ static int si470x_vidioc_g_frequency(struct file *file, void *priv,
return -EIO; return -EIO;
freq->type = V4L2_TUNER_RADIO; freq->type = V4L2_TUNER_RADIO;
freq->frequency = si470x_get_freq(radio); return si470x_get_freq(radio, &radio->frequency);
return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment