struct mt312_state *state = (struct mt312_state*) fe->demodulator_priv; 
struct mt312_state *state = fe->demodulator_priv; 
static int mt312_send_master_cmd(struct dvb_frontend* fe,				 struct dvb_diseqc_master_cmd *c){	struct mt312_state *state = (struct mt312_state*) fe->demodulator_priv;	int ret;	u8 diseqc_mode;	if ((c->msg_len == 0) || (c->msg_len > sizeof(c->msg)))		return -EINVAL;	if ((ret = mt312_readreg(state, DISEQC_MODE, &diseqc_mode)) < 0)		return ret;	if ((ret =	     mt312_write(state, (0x80 | DISEQC_INSTR), c->msg, c->msg_len)) < 0)		return ret;	if ((ret =	     mt312_writereg(state, DISEQC_MODE,			    (diseqc_mode & 0x40) | ((c->msg_len - 1) << 3)			    | 0x04)) < 0)		return ret;	/* set DISEQC_MODE[2:0] to zero if a return message is expected */	if (c->msg[0] & 0x02)		if ((ret =		     mt312_writereg(state, DISEQC_MODE, (diseqc_mode & 0x40))) < 0)			return ret;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b8742700f13163ffa00cddce2a3c940b9ab2ab5a/mt312.c/clean/drivers/media/dvb/frontends/mt312.c