]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/media/dvb/ttpci/budget-av.c
Merge master.kernel.org:/home/rmk/linux-2.6-serial
[karo-tx-linux.git] / drivers / media / dvb / ttpci / budget-av.c
index 9746d2bb916f3fcfe711772a729a503e709ced52..7692cd23f839cb13fb865c25196b179aa1f279c2 100644 (file)
@@ -192,7 +192,7 @@ static int ciintf_slot_reset(struct dvb_ca_en50221 *ca, int slot)
 {
        struct budget_av *budget_av = (struct budget_av *) ca->data;
        struct saa7146_dev *saa = budget_av->budget.dev;
-       int timeout = 50; // 5 seconds (4.4.6 Ready)
+       int timeout = 500; // 5 seconds (4.4.6 Ready)
 
        if (slot != 0)
                return -EINVAL;
@@ -217,7 +217,6 @@ static int ciintf_slot_reset(struct dvb_ca_en50221 *ca, int slot)
        {
                printk(KERN_ERR "budget-av: cam reset failed (timeout).\n");
                saa7146_setgpio(saa, 2, SAA7146_GPIO_OUTHI); /* disable card */
-               saa7146_setgpio(saa, 0, SAA7146_GPIO_OUTHI); /* Vcc off */
                return -ETIMEDOUT;
        }
 
@@ -276,7 +275,6 @@ static int ciintf_poll_slot_status(struct dvb_ca_en50221 *ca, int slot, int open
                {
                        printk(KERN_INFO "budget-av: cam ejected\n");
                        saa7146_setgpio(saa, 2, SAA7146_GPIO_OUTHI); /* disable card */
-                       saa7146_setgpio(saa, 0, SAA7146_GPIO_OUTHI); /* Vcc off */
                        budget_av->slot_status = 0;
                }
        }
@@ -453,9 +451,9 @@ static int philips_su1278_ty_ci_set_symbol_rate(struct dvb_frontend *fe, u32 sra
 }
 
 static int philips_su1278_ty_ci_pll_set(struct dvb_frontend *fe,
+                                       struct i2c_adapter *i2c,
                                        struct dvb_frontend_parameters *params)
 {
-       struct budget_av *budget_av = (struct budget_av *) fe->dvb->priv;
        u32 div;
        u8 buf[4];
        struct i2c_msg msg = {.addr = 0x61,.flags = 0,.buf = buf,.len = sizeof(buf) };
@@ -481,7 +479,7 @@ static int philips_su1278_ty_ci_pll_set(struct dvb_frontend *fe,
        else if (params->frequency < 2150000)
                buf[3] |= 0xC0;
 
-       if (i2c_transfer(&budget_av->budget.i2c_adap, &msg, 1) != 1)
+       if (i2c_transfer(i2c, &msg, 1) != 1)
                return -EIO;
        return 0;
 }
@@ -745,6 +743,7 @@ static void frontend_init(struct budget_av *budget_av)
                case SUBID_DVBC_KNC1_PLUS:
                case SUBID_DVBT_KNC1_PLUS:
                        // Enable / PowerON Frontend
+                       saa7146_setgpio(saa, 0, SAA7146_GPIO_OUTLO);
                        saa7146_setgpio(saa, 3, SAA7146_GPIO_OUTHI);
                        break;
        }