saa7146_setgpio(saa, 0, SAA7146_GPIO_OUTHI); /* Vcc off */ 
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)	if (slot != 0)		return -EINVAL;	dprintk(1, "ciintf_slot_reset\n");	saa7146_setgpio(saa, 2, SAA7146_GPIO_OUTHI); /* disable card */	saa7146_setgpio(saa, 0, SAA7146_GPIO_OUTHI); /* Vcc off */	msleep(2);	saa7146_setgpio(saa, 0, SAA7146_GPIO_OUTLO); /* Vcc on */	msleep(20); /* 20 ms Vcc settling time */	saa7146_setgpio(saa, 2, SAA7146_GPIO_OUTLO); /* enable card */	/* This should have been based on pin 16 READY of the pcmcia port,	 * but AFAICS it is not routed to the saa7146 */	while (--timeout > 0 && ciintf_read_attribute_mem(ca, slot, 0) != 0x1d)		msleep(100);	if (timeout <= 0)	{		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;	}	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b548747d78f8840024ac3439b7149348a282e086/budget-av.c/buggy/drivers/media/dvb/ttpci/budget-av.c