struct dvb_frontend* s5h1420_attach(const struct s5h1420_config* config, struct i2c_adapter* i2c) 
struct dvb_frontend* s5h1420_attach(const struct s5h1420_config* config, struct i2c_adapter* i2c) 
struct dvb_frontend* s5h1420_attach(const struct s5h1420_config* config, struct i2c_adapter* i2c){	struct s5h1420_state* state = NULL;	u8 identity;	/* allocate memory for the internal state */	state = kmalloc(sizeof(struct s5h1420_state), GFP_KERNEL);	if (state == NULL)		goto error;	/* setup the state */	state->config = config;	state->i2c = i2c;	memcpy(&state->ops, &s5h1420_ops, sizeof(struct dvb_frontend_ops));	state->postlocked = 0;	state->fclk = 88000000;	state->tunedfreq = 0;	state->fec_inner = FEC_NONE;	state->symbol_rate = 0;	/* check if the demod is there + identify it */	identity = s5h1420_readreg(state, 0x00);	if (identity != 0x03)		goto error;	/* create dvb_frontend */	state->frontend.ops = &state->ops;	state->frontend.demodulator_priv = state;	return &state->frontend;error:	kfree(state);	return NULL;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a9d6a80b41c04e8ff4c7442cc35f5df610863841/s5h1420.c/buggy/drivers/media/dvb/frontends/s5h1420.c