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>
diff --git a/drivers/media/radio/radio-mr800.c b/drivers/media/radio/radio-mr800.c
index ebc9d99..0374c6a 100644
--- a/drivers/media/radio/radio-mr800.c
+++ b/drivers/media/radio/radio-mr800.c
@@ -91,6 +91,7 @@
* 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 @@
{
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 @@
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;