Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[pandora-kernel.git] / drivers / media / dvb / frontends / lgdt330x.c
index f0195c8..056387b 100644 (file)
@@ -226,11 +226,16 @@ static int lgdt330x_init(struct dvb_frontend* fe)
                0x4c, 0x14
        };
 
-       static u8 flip_lgdt3303_init_data[] = {
+       static u8 flip_1_lgdt3303_init_data[] = {
                0x4c, 0x14,
                0x87, 0xf3
        };
 
+       static u8 flip_2_lgdt3303_init_data[] = {
+               0x4c, 0x14,
+               0x87, 0xda
+       };
+
        struct lgdt330x_state* state = fe->demodulator_priv;
        char  *chip_name;
        int    err;
@@ -243,10 +248,19 @@ static int lgdt330x_init(struct dvb_frontend* fe)
                break;
        case LGDT3303:
                chip_name = "LGDT3303";
-               if (state->config->clock_polarity_flip) {
-                       err = i2c_write_demod_bytes(state, flip_lgdt3303_init_data,
-                                                   sizeof(flip_lgdt3303_init_data));
-               } else {
+               switch (state->config->clock_polarity_flip) {
+               case 2:
+                       err = i2c_write_demod_bytes(state,
+                                       flip_2_lgdt3303_init_data,
+                                       sizeof(flip_2_lgdt3303_init_data));
+                       break;
+               case 1:
+                       err = i2c_write_demod_bytes(state,
+                                       flip_1_lgdt3303_init_data,
+                                       sizeof(flip_1_lgdt3303_init_data));
+                       break;
+               case 0:
+               default:
                        err = i2c_write_demod_bytes(state, lgdt3303_init_data,
                                                    sizeof(lgdt3303_init_data));
                }