V4L/DVB (7996): si470x: afc indication
authorTobias Lorenz <tobias.lorenz@gmx.net>
Sat, 31 May 2008 18:09:07 +0000 (15:09 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Sun, 20 Jul 2008 10:08:38 +0000 (07:08 -0300)
This patch brings the following changes:
- afc indication:
  device has no indication whether freq is too low or too high
  therefore afc always return 1, when freq is wrong

Signed-off-by: Tobias Lorenz <tobias.lorenz@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/radio/radio-si470x.c

index 954ba997895d75d22ca450434231a6e02c82c2a4..db9d64a228bb607eac9347617709442aa874aa35 100644 (file)
  *             - unplugging fixed
  * 2008-05-07  Tobias Lorenz <tobias.lorenz@gmx.net>
  *             Version 1.0.8
+ *             - afc indication
  *             - more safety checks, let si470x_get_freq return errno
  *
  * ToDo:
@@ -1390,7 +1391,8 @@ static int si470x_vidioc_g_tuner(struct file *file, void *priv,
                                * 0x0101;
 
        /* automatic frequency control: -1: freq to low, 1 freq to high */
-       tuner->afc = 0;
+       /* AFCRL does only indicate that freq. differs, not if too low/high */
+       tuner->afc = (radio->registers[STATUSRSSI] & STATUSRSSI_AFCRL) ? 1 : 0;
 
 done:
        if (retval < 0)