V4L/DVB (10459): radio-mr800: fix amradio_set_freq
authorAlexey Klimov <klimov.linux@gmail.com>
Thu, 5 Feb 2009 11:54:17 +0000 (08:54 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 30 Mar 2009 15:42:40 +0000 (12:42 -0300)
Fixing frequency adjustment to provide better diapason(band?) fit.
Also, add AMRADIO_SET_FREQ to the list of commands.

Signed-off-by: Alexey Klimov <klimov.linux@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/radio/radio-mr800.c

index ebc9d99..0374c6a 100644 (file)
@@ -91,6 +91,7 @@ devices, that would be 76 and 91.  */
  * Commands that device should understand
  * List isnt full and will be updated with implementation of new functions
  */
+#define AMRADIO_SET_FREQ       0xa4
 #define AMRADIO_SET_MUTE       0xab
 
 /* Comfortable defines for amradio_set_mute */
@@ -220,7 +221,7 @@ static int amradio_setfreq(struct amradio_device *radio, int freq)
 {
        int retval;
        int size;
-       unsigned short freq_send = 0x13 + (freq >> 3) / 25;
+       unsigned short freq_send = 0x10 + (freq >> 3) / 25;
 
        /* safety check */
        if (radio->removed)
@@ -232,7 +233,7 @@ static int amradio_setfreq(struct amradio_device *radio, int freq)
        radio->buffer[1] = 0x55;
        radio->buffer[2] = 0xaa;
        radio->buffer[3] = 0x03;
-       radio->buffer[4] = 0xa4;
+       radio->buffer[4] = AMRADIO_SET_FREQ;
        radio->buffer[5] = 0x00;
        radio->buffer[6] = 0x00;
        radio->buffer[7] = 0x08;