u8 ret; u8 reset[] = { IRQ_MASK, 0x00 /* bit 6 is active low software reset *	bits 5-0 are 1 to mask interrupts */ };  ret = i2c_writebytes(state, state->config->demod_address, reset, sizeof(reset)); if (ret == 0) { /* spec says reset takes 100 ns why wait */ /* mdelay(100);    */ /* keep low for 100mS */ reset[1] = 0x7f;      /* force reset high (inactive) * and unmask interrupts */ ret = i2c_writebytes(state, state->config->demod_address, reset, sizeof(reset)); 
switch (state->config->demod_chip) { case LGDT3302: return lgdt3302_SwReset(state); case LGDT3303: return lgdt3303_SwReset(state); default: return -ENODEV; 
int lgdt330x_SwReset(struct lgdt330x_state* state){	u8 ret;	u8 reset[] = {		IRQ_MASK,		0x00 /* bit 6 is active low software reset		      *	bits 5-0 are 1 to mask interrupts */	};	ret = i2c_writebytes(state,			     state->config->demod_address,			     reset, sizeof(reset));	if (ret == 0) {		/* spec says reset takes 100 ns why wait */		/* mdelay(100);    */ /* keep low for 100mS */		reset[1] = 0x7f;      /* force reset high (inactive)				       * and unmask interrupts */		ret = i2c_writebytes(state,				     state->config->demod_address,				     reset, sizeof(reset));	}	/* Spec does not indicate a need for this either */	/*mdelay(5); */               /* wait 5 msec before doing more */	return ret;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/1963c907b21e140082d081b1c8f8c2154593c7d7/lgdt330x.c/buggy/drivers/media/dvb/frontends/lgdt330x.c