Lines Matching refs:priv
46 static void horus3a_i2c_debug(struct horus3a_priv *priv, in horus3a_i2c_debug() argument
49 dev_dbg(&priv->i2c->dev, "horus3a: I2C %s reg 0x%02x size %d\n", in horus3a_i2c_debug()
55 static int horus3a_write_regs(struct horus3a_priv *priv, in horus3a_write_regs() argument
62 .addr = priv->i2c_address, in horus3a_write_regs()
70 dev_warn(&priv->i2c->dev,"wr reg=%04x: len=%d is too big!\n", in horus3a_write_regs()
75 horus3a_i2c_debug(priv, reg, 1, data, len); in horus3a_write_regs()
78 ret = i2c_transfer(priv->i2c, msg, 1); in horus3a_write_regs()
82 dev_warn(&priv->i2c->dev, in horus3a_write_regs()
90 static int horus3a_write_reg(struct horus3a_priv *priv, u8 reg, u8 val) in horus3a_write_reg() argument
92 return horus3a_write_regs(priv, reg, &val, 1); in horus3a_write_reg()
95 static int horus3a_enter_power_save(struct horus3a_priv *priv) in horus3a_enter_power_save() argument
99 dev_dbg(&priv->i2c->dev, "%s()\n", __func__); in horus3a_enter_power_save()
100 if (priv->state == STATE_SLEEP) in horus3a_enter_power_save()
103 horus3a_write_reg(priv, 0x2a, 0x79); in horus3a_enter_power_save()
105 horus3a_write_reg(priv, 0x29, 0x70); in horus3a_enter_power_save()
107 horus3a_write_reg(priv, 0x28, 0x3e); in horus3a_enter_power_save()
109 horus3a_write_reg(priv, 0x2a, 0x19); in horus3a_enter_power_save()
111 horus3a_write_reg(priv, 0x1c, 0x00); in horus3a_enter_power_save()
117 horus3a_write_regs(priv, 0x11, data, sizeof(data)); in horus3a_enter_power_save()
118 priv->state = STATE_SLEEP; in horus3a_enter_power_save()
122 static int horus3a_leave_power_save(struct horus3a_priv *priv) in horus3a_leave_power_save() argument
126 dev_dbg(&priv->i2c->dev, "%s()\n", __func__); in horus3a_leave_power_save()
127 if (priv->state == STATE_ACTIVE) in horus3a_leave_power_save()
134 horus3a_write_regs(priv, 0x11, data, sizeof(data)); in horus3a_leave_power_save()
136 horus3a_write_reg(priv, 0x2a, 0x79); in horus3a_leave_power_save()
138 horus3a_write_reg(priv, 0x1c, 0xc0); in horus3a_leave_power_save()
140 horus3a_write_reg(priv, 0x29, 0x71); in horus3a_leave_power_save()
142 priv->state = STATE_ACTIVE; in horus3a_leave_power_save()
148 struct horus3a_priv *priv = fe->tuner_priv; in horus3a_init() local
150 dev_dbg(&priv->i2c->dev, "%s()\n", __func__); in horus3a_init()
156 struct horus3a_priv *priv = fe->tuner_priv; in horus3a_release() local
158 dev_dbg(&priv->i2c->dev, "%s()\n", __func__); in horus3a_release()
166 struct horus3a_priv *priv = fe->tuner_priv; in horus3a_sleep() local
168 dev_dbg(&priv->i2c->dev, "%s()\n", __func__); in horus3a_sleep()
169 horus3a_enter_power_save(priv); in horus3a_sleep()
176 struct horus3a_priv *priv = fe->tuner_priv; in horus3a_set_params() local
187 dev_dbg(&priv->i2c->dev, "%s(): frequency %dkHz symbol_rate %dksps\n", in horus3a_set_params()
189 if (priv->set_tuner) in horus3a_set_params()
190 priv->set_tuner(priv->set_tuner_data, 0); in horus3a_set_params()
191 if (priv->state == STATE_SLEEP) in horus3a_set_params()
192 horus3a_leave_power_save(priv); in horus3a_set_params()
206 dev_err(&priv->i2c->dev, "horus3a: invalid frequency %d\n", in horus3a_set_params()
289 dev_err(&priv->i2c->dev, in horus3a_set_params()
314 dev_err(&priv->i2c->dev, in horus3a_set_params()
325 horus3a_write_regs(priv, 0x00, data, sizeof(data)); in horus3a_set_params()
327 horus3a_write_reg(priv, 0x09, (u8)((g_ctl << 5) | f_ctl)); in horus3a_set_params()
329 horus3a_write_reg(priv, 0x37, (u8)(0x80 | (fc_lpf << 1))); in horus3a_set_params()
331 horus3a_write_reg(priv, 0x05, 0x80); in horus3a_set_params()
333 horus3a_write_reg(priv, 0x2a, 0x7b); in horus3a_set_params()
337 priv->frequency = ms * 2 * 1000 / mixdiv; in horus3a_set_params()
343 struct horus3a_priv *priv = fe->tuner_priv; in horus3a_get_frequency() local
345 *frequency = priv->frequency; in horus3a_get_frequency()
368 struct horus3a_priv *priv = NULL; in horus3a_attach() local
370 priv = kzalloc(sizeof(struct horus3a_priv), GFP_KERNEL); in horus3a_attach()
371 if (priv == NULL) in horus3a_attach()
373 priv->i2c_address = (config->i2c_address >> 1); in horus3a_attach()
374 priv->i2c = i2c; in horus3a_attach()
375 priv->set_tuner_data = config->set_tuner_priv; in horus3a_attach()
376 priv->set_tuner = config->set_tuner_callback; in horus3a_attach()
384 horus3a_write_reg(priv, 0x2a, 0x79); in horus3a_attach()
390 horus3a_write_regs(priv, 0x6, buf, 3); in horus3a_attach()
392 horus3a_write_reg(priv, 0x0a, 0x40); in horus3a_attach()
405 dev_warn(&priv->i2c->dev, in horus3a_attach()
411 horus3a_write_reg(priv, 0x0e, val); in horus3a_attach()
412 horus3a_enter_power_save(priv); in horus3a_attach()
420 fe->tuner_priv = priv; in horus3a_attach()
421 dev_info(&priv->i2c->dev, in horus3a_attach()
423 priv->i2c_address, priv->i2c); in horus3a_attach()