Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 115613
b: refs/heads/master
c: a17c001
h: refs/heads/master
i:
  115611: 1da708c
v: v3
  • Loading branch information
Tobias Lorenz authored and Mauro Carvalho Chehab committed Oct 17, 2008
1 parent 7155ab0 commit e36f06a
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 18 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 374ab68615592043dadbbe54f3beadf9556704f8
refs/heads/master: a17c0019f24e46c608945d988375cc14a8bbde28
47 changes: 30 additions & 17 deletions trunk/drivers/media/radio/radio-si470x.c
Original file line number Diff line number Diff line change
Expand Up @@ -667,23 +667,29 @@ static int si470x_get_freq(struct si470x_device *radio, unsigned int *freq)
int retval;

/* Spacing (kHz) */
switch (space) {
switch ((radio->registers[SYSCONFIG2] & SYSCONFIG2_SPACE) >> 4) {
/* 0: 200 kHz (USA, Australia) */
case 0 : spacing = 0.200 * FREQ_MUL; break;
case 0:
spacing = 0.200 * FREQ_MUL; break;
/* 1: 100 kHz (Europe, Japan) */
case 1 : spacing = 0.100 * FREQ_MUL; break;
case 1:
spacing = 0.100 * FREQ_MUL; break;
/* 2: 50 kHz */
default: spacing = 0.050 * FREQ_MUL; break;
default:
spacing = 0.050 * FREQ_MUL; break;
};

/* Bottom of Band (MHz) */
switch (band) {
switch ((radio->registers[SYSCONFIG2] & SYSCONFIG2_BAND) >> 6) {
/* 0: 87.5 - 108 MHz (USA, Europe) */
case 0 : band_bottom = 87.5 * FREQ_MUL; break;
case 0:
band_bottom = 87.5 * FREQ_MUL; break;
/* 1: 76 - 108 MHz (Japan wide band) */
default: band_bottom = 76 * FREQ_MUL; break;
default:
band_bottom = 76 * FREQ_MUL; break;
/* 2: 76 - 90 MHz (Japan) */
case 2 : band_bottom = 76 * FREQ_MUL; break;
case 2:
band_bottom = 76 * FREQ_MUL; break;
};

/* read channel */
Expand All @@ -706,23 +712,29 @@ static int si470x_set_freq(struct si470x_device *radio, unsigned int freq)
unsigned short chan;

/* Spacing (kHz) */
switch (space) {
switch ((radio->registers[SYSCONFIG2] & SYSCONFIG2_SPACE) >> 4) {
/* 0: 200 kHz (USA, Australia) */
case 0 : spacing = 0.200 * FREQ_MUL; break;
case 0:
spacing = 0.200 * FREQ_MUL; break;
/* 1: 100 kHz (Europe, Japan) */
case 1 : spacing = 0.100 * FREQ_MUL; break;
case 1:
spacing = 0.100 * FREQ_MUL; break;
/* 2: 50 kHz */
default: spacing = 0.050 * FREQ_MUL; break;
default:
spacing = 0.050 * FREQ_MUL; break;
};

/* Bottom of Band (MHz) */
switch (band) {
switch ((radio->registers[SYSCONFIG2] & SYSCONFIG2_BAND) >> 6) {
/* 0: 87.5 - 108 MHz (USA, Europe) */
case 0 : band_bottom = 87.5 * FREQ_MUL; break;
case 0:
band_bottom = 87.5 * FREQ_MUL; break;
/* 1: 76 - 108 MHz (Japan wide band) */
default: band_bottom = 76 * FREQ_MUL; break;
default:
band_bottom = 76 * FREQ_MUL; break;
/* 2: 76 - 90 MHz (Japan) */
case 2 : band_bottom = 76 * FREQ_MUL; break;
case 2:
band_bottom = 76 * FREQ_MUL; break;
};

/* Chan = [ Freq (Mhz) - Bottom of Band (MHz) ] / Spacing (kHz) */
Expand Down Expand Up @@ -1425,7 +1437,8 @@ static int si470x_vidioc_g_tuner(struct file *file, void *priv,
goto done;

strcpy(tuner->name, "FM");
switch (band) {
/* range limits */
switch ((radio->registers[SYSCONFIG2] & SYSCONFIG2_BAND) >> 6) {
/* 0: 87.5 - 108 MHz (USA, Europe, default) */
default:
tuner->rangelow = 87.5 * FREQ_MUL;
Expand Down

0 comments on commit e36f06a

Please sign in to comment.