V4L/DVB (6822): s5h1409: use VSB IF frequency ( 44 / 5.38 MHz ) unless otherwise...
authorMichael Krufky <mkrufky@linuxtv.org>
Thu, 13 Dec 2007 13:11:49 +0000 (10:11 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Fri, 25 Jan 2008 21:03:45 +0000 (19:03 -0200)
use VSB IF frequency ( 44 / 5.38 MHz ) if qam_if is invalid or unspecified

Acked-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/dvb/frontends/s5h1409.c

index b80a3ee91ba469c435137f410f71da5de18781b7..d3b148ddad2bf6fed03ede93cbba88b91d1ccd7e 100644 (file)
@@ -355,28 +355,26 @@ static int s5h1409_softreset(struct dvb_frontend* fe)
 static int s5h1409_set_if_freq(struct dvb_frontend* fe, int KHz)
 {
        struct s5h1409_state* state = fe->demodulator_priv;
-       int ret = 0;
 
        dprintk("%s(%d KHz)\n", __FUNCTION__, KHz);
 
-       if( (KHz == 44000) || (KHz == 5380) ) {
-               s5h1409_writereg(state, 0x87, 0x01be);
-               s5h1409_writereg(state, 0x88, 0x0436);
-               s5h1409_writereg(state, 0x89, 0x054d);
-       } else
-       if (KHz == 4000) {
+       switch (KHz) {
+       case 4000:
                s5h1409_writereg(state, 0x87, 0x014b);
                s5h1409_writereg(state, 0x88, 0x0cb5);
                s5h1409_writereg(state, 0x89, 0x03e2);
-       } else {
-               printk("%s() Invalid arg = %d KHz\n", __FUNCTION__, KHz);
-               ret = -1;
+               break;
+       case 5380:
+       case 44000:
+       default:
+               s5h1409_writereg(state, 0x87, 0x01be);
+               s5h1409_writereg(state, 0x88, 0x0436);
+               s5h1409_writereg(state, 0x89, 0x054d);
+               break;
        }
+       state->if_freq = KHz;
 
-       if (0 == ret)
-               state->if_freq = KHz;
-
-       return ret;
+       return 0;
 }
 
 static int s5h1409_set_spectralinversion(struct dvb_frontend* fe, int inverted)