.callback  = dvico_bluebird_xc2028_callback,
        };
        static struct xc2028_ctrl ctl = {
-               .type        = XC2028_FIRM_NORMAL,
                .fname       = "xc3028-dvico-au-01.fw",
                .max_len     = 64,
                .scode_table = ZARLINK456,
 
                .tda9887_conf = TDA9887_PRESENT,
                .tuner_type   = TUNER_XC2028,
                .has_tuner    = 1,
-               .xc2028_type  = XC2028_FIRM_MTS,
+               .mts_firmware = 1,
                .decoder      = EM28XX_TVP5150,
                .input          = {{
                        .type     = EM28XX_VMUX_TELEVISION,
 
                ctl.fname   = XC2028_DEFAULT_FIRMWARE;
                ctl.max_len = 64;
-               ctl.type = em28xx_boards[dev->model].xc2028_type;
+               ctl.mts = em28xx_boards[dev->model].mts_firmware;
 
                xc2028_cfg.tuner = TUNER_XC2028;
                xc2028_cfg.priv  = &ctl;
 
 
        unsigned int has_tuner:1;
        unsigned int has_msp34xx:1;
+       unsigned int mts_firmware:1;
 
        enum em28xx_decoder decoder;
-       int xc2028_type;
 
        struct em28xx_input       input[MAX_EM28XX_INPUT];
 };
 
                        return rc;
        }
 
-       if (priv->ctrl.type == XC2028_FIRM_MTS)
+       if (priv->ctrl.mts)
                type |= MTS;
        if (bandwidth == BANDWIDTH_7_MHZ || bandwidth == BANDWIDTH_8_MHZ)
                type |= F8MHZ;
 
 
 #define XC2028_DEFAULT_FIRMWARE "xc3028-v27.fw"
 
-enum xc2028_firm_type {
-       XC2028_FIRM_NORMAL,
-       XC2028_FIRM_MTS,
-};
-
 struct xc2028_ctrl {
-       enum xc2028_firm_type   type;
        char                    *fname;
        int                     max_len;
-       int                     d2633:1;
        unsigned int            scode_table;
+       unsigned int            mts  :1;
+       unsigned int            d2633:1;
 };
 
 struct xc2028_config {