struct dib3000_state* state = (struct dib3000_state*) fe->demodulator_priv; 
struct dib3000_state* state = fe->demodulator_priv; 
static int dib3000mc_read_snr(struct dvb_frontend* fe, u16 *snr){	struct dib3000_state* state = (struct dib3000_state*) fe->demodulator_priv;	u16 val = rd(DIB3000MC_REG_SIGNAL_NOISE_LSB),		val2 = rd(DIB3000MC_REG_SIGNAL_NOISE_MSB);	u16 sig,noise;	sig =   (((val >> 6) & 0xff) << 8) + (val & 0x3f);	noise = (((val >> 4) & 0xff) << 8) + ((val & 0xf) << 2) + ((val2 >> 14) & 0x3);	if (noise == 0)		*snr = 0xffff;	else		*snr = (u16) sig/noise;	deb_stat("signal: mantisse = %d, exponent = %d\n",(sig >> 8) & 0xff, sig & 0xff);	deb_stat("noise:  mantisse = %d, exponent = %d\n",(noise >> 8) & 0xff, noise & 0xff);	deb_stat("snr: %d\n",*snr);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b8742700f13163ffa00cddce2a3c940b9ab2ab5a/dib3000mc.c/clean/drivers/media/dvb/frontends/dib3000mc.c