struct cx23885_i2c *i2c_bus = NULL;
        struct videobuf_dvb_frontend *fe0;
 
-       fe0 = videobuf_dvb_get_frontend(&port->frontends, 0);
+       fe0 = videobuf_dvb_get_frontend(&port->frontends, 1);
        if (!fe0)
                return -EINVAL;
 
                break;
        case CX23885_BOARD_HAUPPAUGE_HVR1800:
                i2c_bus = &dev->i2c_bus[0];
-               switch (alt_tuner) { // XXXXXX multifrontend?
+               switch (alt_tuner) {
                case 1:
                        fe0->dvb.frontend =
                                dvb_attach(s5h1409_attach,
        struct cx23885_dev *dev = port->dev;
        int err;
 
-       fe0 = videobuf_dvb_get_frontend(&port->frontends, 0);
+       fe0 = videobuf_dvb_get_frontend(&port->frontends, 1);
        if (!fe0)
                err = -EINVAL;
 
 {
        struct videobuf_dvb_frontend *fe0;
 
-       fe0 = videobuf_dvb_get_frontend(&port->frontends, 0);
+       fe0 = videobuf_dvb_get_frontend(&port->frontends, 1);
        /* dvb */
        if(fe0->dvb.frontend)
                videobuf_dvb_unregister_bus(&port->frontends);
 
                cx88_card_list(core, pci);
        }
 
-       memset(&core->board, 0, sizeof(core->board));
        memcpy(&core->board, &cx88_boards[core->boardnr], sizeof(core->board));
 
        if (!core->board.num_frontends)
 
                return -EINVAL;
        }
 
-
        drv = cx8802_get_driver(dev, CX88_MPEG_DVB);
        if (drv) {
                if (acquire){
                .ctrl      = &ctl,
        };
 
-/* Get the first frontend */
+       /* Get the first frontend */
        fe0 = videobuf_dvb_get_frontend(&dev->frontends, 1);
        if (!fe0)
                return -EINVAL;
                udelay(1000);
                break;
 
-       case CX88_BOARD_HAUPPAUGE_HVR3000: /* ? */
-               if(core->dvbdev->frontends.active_fe_id == 1) {
-                       /* DVB-S/S2 Enabled */
-
-                       /* Toggle reset on cx22702 leaving i2c active */
-                       cx_write(MO_GP0_IO, core->board.input[0].gpio0);
-                       udelay(1000);
-                       cx_clear(MO_GP0_IO, 0x00000080);
-                       udelay(50);
-                       cx_set(MO_GP0_IO, 0x00000080); /* cx22702 out of reset */
-                       cx_set(MO_GP0_IO, 0x00000004); /* tri-state the cx22702 pins */
-                       udelay(1000);
-
-                       cx_write(MO_SRST_IO, 1); /* Take the cx24116/cx24123 out of reset */
-                       core->dvbdev->ts_gen_cntrl = 0x02; /* Parallel IO */
-               } else
-               if (core->dvbdev->frontends.active_fe_id == 2) {
-                       /* DVB-T Enabled */
-
-                       /* Put the cx24116/cx24123 into reset */
-                       cx_write(MO_SRST_IO, 0);
-
-                       /* cx22702 out of reset and enable it */
-                       cx_set(MO_GP0_IO,   0x00000080);
-                       cx_clear(MO_GP0_IO, 0x00000004);
-                       core->dvbdev->ts_gen_cntrl = 0x0c; /* Serial IO */
-                       udelay(1000);
-               }
-               break;
+       case CX88_BOARD_HAUPPAUGE_HVR3000:
        case CX88_BOARD_HAUPPAUGE_HVR4000:
                if(core->dvbdev->frontends.active_fe_id == 1) {
                        /* DVB-S/S2 Enabled */
 {
        struct cx88_core *core = drv->core;
        struct cx8802_dev *dev = drv->core->dvbdev;
-       int err,i;
+       int err, i;
        struct videobuf_dvb_frontend *fe;
 
        dprintk( 1, "%s\n", __func__);
        if (err != 0)
                printk(KERN_ERR "%s/2: dvb_register failed (err = %d)\n",
                       core->name, err);
-
- fail_core:
+fail_core:
        return err;
 }
 
 
        case CX88_BOARD_PINNACLE_PCTV_HD_800i:
                ircode = ir_decode_biphase(ir->samples, ir->scount, 5, 7);
                ir_dprintk("biphase decoded: %x\n", ircode);
-//TODO Darron has other code here
                if ((ircode & 0xfffff000) != 0x3000)
                        break;
                ir_input_keydown(ir->input, &ir->ir, ircode & 0x3f, ircode);
 
 {
        struct videobuf_dvb_frontend *fe0;
 
-       fe0 = videobuf_dvb_get_frontend(&dev->frontends, 0);
+       /* Get the first frontend */
+       fe0 = videobuf_dvb_get_frontend(&dev->frontends, 1);
 
        fe0->dvb.frontend = dvb_attach(tda10046_attach, cdec_conf, &dev->i2c_adap);
        if (fe0->dvb.frontend) {
        struct videobuf_dvb_frontend *fe0;
 
        /* Get the first frontend */
-       fe0 = videobuf_dvb_get_frontend(&dev->frontends, 0);
+       fe0 = videobuf_dvb_get_frontend(&dev->frontends, 1);
        if (!fe0)
                return -EINVAL;
 
                                         &tda827x_cfg_0) < 0)
                        goto dettach_frontend;
                break;
-       case SAA7134_BOARD_FLYDVB_TRIO: // XXXXXX multifrontend
+       case SAA7134_BOARD_FLYDVB_TRIO:
                if (!use_frontend) {    /* terrestrial */
                        if (configure_tda827x_fe(dev, &lifeview_trio_config,
                                                 &tda827x_cfg_0) < 0)
 
        dvb->dmxdev.filternum    = 256;
        dvb->dmxdev.demux        = &dvb->demux.dmx;
        dvb->dmxdev.capabilities = 0;
-       //result = dvb_dmxdev_init(&dvb->dmxdev, &dvb->adapter);
        result = dvb_dmxdev_init(&dvb->dmxdev, adapter);
 
        if (result < 0) {
        dvb_unregister_frontend(dvb->frontend);
 fail_frontend:
        dvb_frontend_detach(dvb->frontend);
-       dvb_unregister_adapter(&dvb->adapter);
+       dvb_unregister_adapter(adapter);
 
        return result;
 }