[media] cx88: Fix radio support for Leadtek DTV2000H J
authorMiroslav Slugen <thunder.mmm@gmail.com>
Tue, 13 Dec 2011 18:36:15 +0000 (15:36 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 6 Jan 2012 19:16:34 +0000 (17:16 -0200)
Leadtek DTV2000H J has Philips a FMD1216MEX tuner,
and not a FMD1216ME.

Signed-off-by: Miroslav Slugen <thunder.mmm@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/cx88/cx88-cards.c
drivers/media/video/cx88/cx88-dvb.c
drivers/media/video/tuner-core.c

index 0d719fa..8b66b64 100644 (file)
@@ -1306,7 +1306,7 @@ static const struct cx88_board cx88_boards[] = {
        },
        [CX88_BOARD_WINFAST_DTV2000H_J] = {
                .name           = "WinFast DTV2000 H rev. J",
-               .tuner_type     = TUNER_PHILIPS_FMD1216ME_MK3,
+               .tuner_type     = TUNER_PHILIPS_FMD1216MEX_MK3,
                .radio_type     = UNSET,
                .tuner_addr     = ADDR_UNSET,
                .radio_addr     = ADDR_UNSET,
@@ -3232,6 +3232,7 @@ static void cx88_card_setup_pre_i2c(struct cx88_core *core)
                cx_set(MO_GP0_IO, 0x00001010);
                break;
 
+       case CX88_BOARD_WINFAST_DTV2000H_J:
        case CX88_BOARD_HAUPPAUGE_HVR3000:
        case CX88_BOARD_HAUPPAUGE_HVR4000:
                /* Init GPIO */
index 0829a4f..003937c 100644 (file)
@@ -1000,7 +1000,6 @@ static int dvb_register(struct cx8802_dev *dev)
                }
                break;
        case CX88_BOARD_WINFAST_DTV2000H:
-       case CX88_BOARD_WINFAST_DTV2000H_J:
        case CX88_BOARD_HAUPPAUGE_HVR1100:
        case CX88_BOARD_HAUPPAUGE_HVR1100LP:
        case CX88_BOARD_HAUPPAUGE_HVR1300:
@@ -1014,6 +1013,17 @@ static int dvb_register(struct cx8802_dev *dev)
                                goto frontend_detach;
                }
                break;
+       case CX88_BOARD_WINFAST_DTV2000H_J:
+               fe0->dvb.frontend = dvb_attach(cx22702_attach,
+                                              &hauppauge_hvr_config,
+                                              &core->i2c_adap);
+               if (fe0->dvb.frontend != NULL) {
+                       if (!dvb_attach(simple_tuner_attach, fe0->dvb.frontend,
+                                  &core->i2c_adap, 0x61,
+                                  TUNER_PHILIPS_FMD1216MEX_MK3))
+                               goto frontend_detach;
+               }
+               break;
        case CX88_BOARD_HAUPPAUGE_HVR3000:
                /* MFE frontend 1 */
                mfe_shared = 1;
index 11cc980..4059ea1 100644 (file)
@@ -326,6 +326,7 @@ static void set_type(struct i2c_client *c, unsigned int type,
                t->mode_mask = T_RADIO;
                break;
        case TUNER_PHILIPS_FMD1216ME_MK3:
+       case TUNER_PHILIPS_FMD1216MEX_MK3:
                buffer[0] = 0x0b;
                buffer[1] = 0xdc;
                buffer[2] = 0x9c;