.is_em2800    = 1,
                .vchannels    = 2,
                .tda9887_conf = TDA9887_PRESENT,
-               .has_tuner    = 1,
                .decoder      = EM28XX_SAA7113,
                .input           = { {
                        .type     = EM28XX_VMUX_COMPOSITE1,
        [EM2820_BOARD_UNKNOWN] = {
                .name         = "Unknown EM2750/28xx video grabber",
                .is_em2800    = 0,
+               .tuner_type   = TUNER_ABSENT,
        },
        [EM2820_BOARD_KWORLD_PVRTV2800RF] = {
                .name         = "Kworld PVR TV 2800 RF",
                .is_em2800    = 0,
                .vchannels    = 2,
+               .tuner_type   = TUNER_TEMIC_PAL,
                .tda9887_conf = TDA9887_PRESENT,
-               .has_tuner    = 1,
                .decoder      = EM28XX_SAA7113,
                .input           = { {
                        .type     = EM28XX_VMUX_COMPOSITE1,
                .vchannels    = 3,
                .tuner_type   = TUNER_LG_PAL_NEW_TAPC,
                .tda9887_conf = TDA9887_PRESENT,
-               .has_tuner    = 1,
                .decoder      = EM28XX_SAA7113,
                .input          = { {
                        .type     = EM28XX_VMUX_TELEVISION,
                .vchannels    = 3,
                .tuner_type   = TUNER_LG_PAL_NEW_TAPC,
                .tda9887_conf = TDA9887_PRESENT,
-               .has_tuner    = 1,
                .decoder      = EM28XX_SAA7113,
                .input          = { {
                        .type     = EM28XX_VMUX_TELEVISION,
                .tda9887_conf = TDA9887_PRESENT |
                                TDA9887_PORT1_ACTIVE|
                                TDA9887_PORT2_ACTIVE,
-               .has_tuner    = 1,
                .decoder      = EM28XX_TVP5150,
                .has_msp34xx  = 1,
                /*FIXME: S-Video not tested */
                .vchannels    = 3,
                .tda9887_conf = TDA9887_PRESENT,
                .tuner_type   = TUNER_XC2028,
-               .has_tuner    = 1,
                .mts_firmware = 1,
                .decoder      = EM28XX_TVP5150,
                .input          = { {
                .vchannels      = 3,
                .tda9887_conf   = TDA9887_PRESENT,
                .tuner_type     = TUNER_XC2028,
-               .has_tuner      = 1,
                .mts_firmware   = 1,
                .has_12mhz_i2s  = 1,
                .decoder        = EM28XX_TVP5150,
                .name         = "Terratec Hybrid XS",
                .vchannels    = 3,
                .tda9887_conf = TDA9887_PRESENT,
-               .has_tuner    = 1,
                .tuner_type   = TUNER_XC2028,
                .decoder      = EM28XX_TVP5150,
                .input          = { {
                .name         = "Terratec Prodigy XS",
                .vchannels    = 3,
                .tda9887_conf = TDA9887_PRESENT,
-               .has_tuner    = 1,
                .tuner_type   = TUNER_XC2028,
                .decoder      = EM28XX_TVP5150,
                .input          = { {
                .tda9887_conf      = TDA9887_PRESENT      |
                                     TDA9887_PORT1_ACTIVE |
                                     TDA9887_PORT2_ACTIVE,
-               .has_tuner         = 1,
                .max_range_640_480 = 1,
 
                .decoder           = EM28XX_SAA7114,
                .vchannels    = 3,
                .tuner_type   = TUNER_LG_PAL_NEW_TAPC,
                .tda9887_conf = TDA9887_PRESENT,
-               .has_tuner    = 1,
                .decoder      = EM28XX_SAA7113,
                .input          = { {
                        .type     = EM28XX_VMUX_TELEVISION,
                .vchannels    = 3,
                .tuner_type   = TUNER_LG_PAL_NEW_TAPC,
                .tda9887_conf = TDA9887_PRESENT,
-               .has_tuner    = 1,
                .decoder      = EM28XX_SAA7113,
                .input          = { {
                        .type     = EM28XX_VMUX_TELEVISION,
                .vchannels    = 3,
                .tuner_type   = TUNER_PHILIPS_ATSC,
                .tda9887_conf = TDA9887_PRESENT,
-               .has_tuner    = 1,
                .decoder      = EM28XX_SAA7113,
                .input          = { {
                        .type     = EM28XX_VMUX_TELEVISION,
        [EM2820_BOARD_PINNACLE_DVC_90] = {
                .name         = "Pinnacle Dazzle DVC 90/DVC 100",
                .vchannels    = 3,
-               .has_tuner    = 0,
+               .tuner_type   = TUNER_ABSENT,
                .decoder      = EM28XX_SAA7113,
                .input          = { {
                        .type     = EM28XX_VMUX_COMPOSITE1,
                .vchannels    = 3,
                .tuner_type   = TUNER_LG_PAL_NEW_TAPC,
                .tda9887_conf = TDA9887_PRESENT,
-               .has_tuner    = 1,
                .decoder      = EM28XX_SAA7113,
                .input          = { {
                        .type     = EM28XX_VMUX_TELEVISION,
                .name         = "Pixelview Prolink PlayTV USB 2.0",
                .vchannels    = 3,
                .tda9887_conf = TDA9887_PRESENT,
-               .has_tuner    = 1,
+               .tuner_type   = TUNER_YMEC_TVF_5533MF,
                .decoder      = EM28XX_SAA7113,
                .input          = { {
                        .type     = EM28XX_VMUX_TELEVISION,
        struct tuner_setup           tun_setup;
        struct v4l2_frequency        f;
 
-       if (!dev->has_tuner)
+       if (dev->tuner_type == TUNER_ABSENT)
                return;
 
        tun_setup.mode_mask = T_ANALOG_TV | T_RADIO;
 static void em28xx_set_model(struct em28xx *dev)
 {
        dev->is_em2800 = em28xx_boards[dev->model].is_em2800;
-       dev->has_tuner = em28xx_boards[dev->model].has_tuner;
        dev->has_msp34xx = em28xx_boards[dev->model].has_msp34xx;
        dev->tda9887_conf = em28xx_boards[dev->model].tda9887_conf;
        dev->decoder = em28xx_boards[dev->model].decoder;
        dev->analog_gpio = em28xx_boards[dev->model].analog_gpio;
        dev->has_12mhz_i2s = em28xx_boards[dev->model].has_12mhz_i2s;
        dev->max_range_640_480 = em28xx_boards[dev->model].max_range_640_480;
-
-       if (!em28xx_boards[dev->model].has_tuner)
-               dev->tuner_type = UNSET;
 }
 
 /* ----------------------------------------------------------------------- */
                tveeprom_hauppauge_analog(&dev->i2c_client, &tv, dev->eedata);
 
                dev->tuner_type = tv.tuner_type;
+
                if (tv.audio_processor == AUDIO_CHIP_MSP34XX) {
                        dev->i2s_speed = 2048000;
                        dev->has_msp34xx = 1;
                request_module("saa7115");
        if (dev->decoder == EM28XX_TVP5150)
                request_module("tvp5150");
-       if (dev->has_tuner)
+       if (dev->tuner_type != TUNER_ABSENT)
                request_module("tuner");
 #endif