Lines Matching refs:state

72 lgs8gl5_write_reg(struct lgs8gl5_state *state, u8 reg, u8 data)  in lgs8gl5_write_reg()  argument
77 .addr = state->config->demod_address, in lgs8gl5_write_reg()
83 ret = i2c_transfer(state->i2c, &msg, 1); in lgs8gl5_write_reg()
93 lgs8gl5_read_reg(struct lgs8gl5_state *state, u8 reg) in lgs8gl5_read_reg() argument
100 .addr = state->config->demod_address, in lgs8gl5_read_reg()
106 .addr = state->config->demod_address, in lgs8gl5_read_reg()
113 ret = i2c_transfer(state->i2c, msg, 2); in lgs8gl5_read_reg()
122 lgs8gl5_update_reg(struct lgs8gl5_state *state, u8 reg, u8 data) in lgs8gl5_update_reg() argument
124 lgs8gl5_read_reg(state, reg); in lgs8gl5_update_reg()
125 lgs8gl5_write_reg(state, reg, data); in lgs8gl5_update_reg()
133 lgs8gl5_update_alt_reg(struct lgs8gl5_state *state, u8 reg, u8 data) in lgs8gl5_update_alt_reg() argument
141 .addr = state->config->demod_address + 2, in lgs8gl5_update_alt_reg()
147 .addr = state->config->demod_address + 2, in lgs8gl5_update_alt_reg()
153 .addr = state->config->demod_address + 2, in lgs8gl5_update_alt_reg()
160 ret = i2c_transfer(state->i2c, msg, 3); in lgs8gl5_update_alt_reg()
166 lgs8gl5_soft_reset(struct lgs8gl5_state *state) in lgs8gl5_soft_reset() argument
172 val = lgs8gl5_read_reg(state, REG_RESET); in lgs8gl5_soft_reset()
173 lgs8gl5_write_reg(state, REG_RESET, val & ~REG_RESET_OFF); in lgs8gl5_soft_reset()
174 lgs8gl5_write_reg(state, REG_RESET, val | REG_RESET_OFF); in lgs8gl5_soft_reset()
181 lgs8gl5_start_demod(struct lgs8gl5_state *state) in lgs8gl5_start_demod() argument
188 lgs8gl5_update_alt_reg(state, 0xc2, 0x28); in lgs8gl5_start_demod()
189 lgs8gl5_soft_reset(state); in lgs8gl5_start_demod()
190 lgs8gl5_update_reg(state, REG_07, 0x10); in lgs8gl5_start_demod()
191 lgs8gl5_update_reg(state, REG_07, 0x10); in lgs8gl5_start_demod()
192 lgs8gl5_write_reg(state, REG_09, 0x0e); in lgs8gl5_start_demod()
193 lgs8gl5_write_reg(state, REG_0A, 0xe5); in lgs8gl5_start_demod()
194 lgs8gl5_write_reg(state, REG_0B, 0x35); in lgs8gl5_start_demod()
195 lgs8gl5_write_reg(state, REG_0C, 0x30); in lgs8gl5_start_demod()
197 lgs8gl5_update_reg(state, REG_03, 0x00); in lgs8gl5_start_demod()
198 lgs8gl5_update_reg(state, REG_7E, 0x01); in lgs8gl5_start_demod()
199 lgs8gl5_update_alt_reg(state, 0xc5, 0x00); in lgs8gl5_start_demod()
200 lgs8gl5_update_reg(state, REG_04, 0x02); in lgs8gl5_start_demod()
201 lgs8gl5_update_reg(state, REG_37, 0x01); in lgs8gl5_start_demod()
202 lgs8gl5_soft_reset(state); in lgs8gl5_start_demod()
206 val = lgs8gl5_read_reg(state, REG_STRENGTH); in lgs8gl5_start_demod()
217 val = lgs8gl5_read_reg(state, REG_STATUS); in lgs8gl5_start_demod()
226 lgs8gl5_write_reg(state, REG_7D, lgs8gl5_read_reg(state, REG_A2)); in lgs8gl5_start_demod()
227 lgs8gl5_soft_reset(state); in lgs8gl5_start_demod()
234 struct lgs8gl5_state *state = fe->demodulator_priv; in lgs8gl5_init() local
238 lgs8gl5_update_alt_reg(state, 0xc2, 0x28); in lgs8gl5_init()
239 lgs8gl5_soft_reset(state); in lgs8gl5_init()
240 lgs8gl5_update_reg(state, REG_07, 0x10); in lgs8gl5_init()
241 lgs8gl5_update_reg(state, REG_07, 0x10); in lgs8gl5_init()
242 lgs8gl5_write_reg(state, REG_09, 0x0e); in lgs8gl5_init()
243 lgs8gl5_write_reg(state, REG_0A, 0xe5); in lgs8gl5_init()
244 lgs8gl5_write_reg(state, REG_0B, 0x35); in lgs8gl5_init()
245 lgs8gl5_write_reg(state, REG_0C, 0x30); in lgs8gl5_init()
254 struct lgs8gl5_state *state = fe->demodulator_priv; in lgs8gl5_read_status() local
255 u8 level = lgs8gl5_read_reg(state, REG_STRENGTH); in lgs8gl5_read_status()
256 u8 flags = lgs8gl5_read_reg(state, REG_STATUS); in lgs8gl5_read_status()
285 struct lgs8gl5_state *state = fe->demodulator_priv; in lgs8gl5_read_signal_strength() local
286 u8 level = lgs8gl5_read_reg(state, REG_STRENGTH); in lgs8gl5_read_signal_strength()
296 struct lgs8gl5_state *state = fe->demodulator_priv; in lgs8gl5_read_snr() local
297 u8 level = lgs8gl5_read_reg(state, REG_STRENGTH); in lgs8gl5_read_snr()
317 struct lgs8gl5_state *state = fe->demodulator_priv; in lgs8gl5_set_frontend() local
332 lgs8gl5_start_demod(state); in lgs8gl5_set_frontend()
342 struct lgs8gl5_state *state = fe->demodulator_priv; in lgs8gl5_get_frontend() local
343 u8 inv = lgs8gl5_read_reg(state, REG_INVERSION); in lgs8gl5_get_frontend()
373 struct lgs8gl5_state *state = fe->demodulator_priv; in lgs8gl5_release() local
374 kfree(state); in lgs8gl5_release()
384 struct lgs8gl5_state *state = NULL; in lgs8gl5_attach() local
389 state = kzalloc(sizeof(struct lgs8gl5_state), GFP_KERNEL); in lgs8gl5_attach()
390 if (state == NULL) in lgs8gl5_attach()
394 state->config = config; in lgs8gl5_attach()
395 state->i2c = i2c; in lgs8gl5_attach()
398 if (lgs8gl5_read_reg(state, REG_RESET) < 0) in lgs8gl5_attach()
402 memcpy(&state->frontend.ops, &lgs8gl5_ops, in lgs8gl5_attach()
404 state->frontend.demodulator_priv = state; in lgs8gl5_attach()
405 return &state->frontend; in lgs8gl5_attach()
408 kfree(state); in lgs8gl5_attach()