Browse Source

V4L/DVB (10459): radio-mr800: fix amradio_set_freq

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>
Alexey Klimov 16 years ago
parent
commit
f7c1a3809b
1 changed files with 3 additions and 2 deletions
  1. 3 2
      drivers/media/radio/radio-mr800.c

+ 3 - 2
drivers/media/radio/radio-mr800.c

@@ -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;