Lines Matching refs:s

59 static int msi001_wreg(struct msi001 *s, u32 data)  in msi001_wreg()  argument
62 return spi_write(s->spi, &data, 3); in msi001_wreg()
65 static int msi001_set_gain(struct msi001 *s, int lna_gain, int mixer_gain, in msi001_set_gain() argument
71 dev_dbg(&s->spi->dev, "lna=%d mixer=%d if=%d\n", in msi001_set_gain()
81 ret = msi001_wreg(s, reg); in msi001_set_gain()
87 dev_dbg(&s->spi->dev, "failed %d\n", ret); in msi001_set_gain()
91 static int msi001_set_tuner(struct msi001 *s) in msi001_set_tuner() argument
133 unsigned int f_rf = s->f_tuner; in msi001_set_tuner()
150 dev_dbg(&s->spi->dev, "f_rf=%d f_if=%d\n", f_rf, f_if); in msi001_set_tuner()
184 bandwidth = s->bandwidth->val; in msi001_set_tuner()
199 s->bandwidth->val = bandwidth_lut[i].freq; in msi001_set_tuner()
201 dev_dbg(&s->spi->dev, "bandwidth selected=%d\n", bandwidth_lut[i].freq); in msi001_set_tuner()
227 dev_dbg(&s->spi->dev, "rf=%u:%u n=%d thresh=%d frac=%d\n", in msi001_set_tuner()
230 ret = msi001_wreg(s, 0x00000e); in msi001_set_tuner()
234 ret = msi001_wreg(s, 0x000003); in msi001_set_tuner()
244 ret = msi001_wreg(s, reg); in msi001_set_tuner()
252 ret = msi001_wreg(s, reg); in msi001_set_tuner()
259 ret = msi001_wreg(s, reg); in msi001_set_tuner()
263 ret = msi001_set_gain(s, s->lna_gain->cur.val, s->mixer_gain->cur.val, in msi001_set_tuner()
264 s->if_gain->cur.val); in msi001_set_tuner()
271 ret = msi001_wreg(s, reg); in msi001_set_tuner()
277 dev_dbg(&s->spi->dev, "failed %d\n", ret); in msi001_set_tuner()
283 struct msi001 *s = sd_to_msi001(sd); in msi001_s_power() local
286 dev_dbg(&s->spi->dev, "on=%d\n", on); in msi001_s_power()
291 ret = msi001_wreg(s, 0x000000); in msi001_s_power()
302 struct msi001 *s = sd_to_msi001(sd); in msi001_g_tuner() local
304 dev_dbg(&s->spi->dev, "index=%d\n", v->index); in msi001_g_tuner()
317 struct msi001 *s = sd_to_msi001(sd); in msi001_s_tuner() local
319 dev_dbg(&s->spi->dev, "index=%d\n", v->index); in msi001_s_tuner()
325 struct msi001 *s = sd_to_msi001(sd); in msi001_g_frequency() local
327 dev_dbg(&s->spi->dev, "tuner=%d\n", f->tuner); in msi001_g_frequency()
328 f->frequency = s->f_tuner; in msi001_g_frequency()
335 struct msi001 *s = sd_to_msi001(sd); in msi001_s_frequency() local
338 dev_dbg(&s->spi->dev, "tuner=%d type=%d frequency=%u\n", in msi001_s_frequency()
345 s->f_tuner = clamp_t(unsigned int, f->frequency, in msi001_s_frequency()
348 return msi001_set_tuner(s); in msi001_s_frequency()
354 struct msi001 *s = sd_to_msi001(sd); in msi001_enum_freq_bands() local
356 dev_dbg(&s->spi->dev, "tuner=%d type=%d index=%d\n", in msi001_enum_freq_bands()
384 struct msi001 *s = container_of(ctrl->handler, struct msi001, hdl); in msi001_s_ctrl() local
388 dev_dbg(&s->spi->dev, in msi001_s_ctrl()
396 ret = msi001_set_tuner(s); in msi001_s_ctrl()
399 ret = msi001_set_gain(s, s->lna_gain->val, in msi001_s_ctrl()
400 s->mixer_gain->cur.val, s->if_gain->cur.val); in msi001_s_ctrl()
403 ret = msi001_set_gain(s, s->lna_gain->cur.val, in msi001_s_ctrl()
404 s->mixer_gain->val, s->if_gain->cur.val); in msi001_s_ctrl()
407 ret = msi001_set_gain(s, s->lna_gain->cur.val, in msi001_s_ctrl()
408 s->mixer_gain->cur.val, s->if_gain->val); in msi001_s_ctrl()
411 dev_dbg(&s->spi->dev, "unknown control %d\n", ctrl->id); in msi001_s_ctrl()
424 struct msi001 *s; in msi001_probe() local
429 s = kzalloc(sizeof(struct msi001), GFP_KERNEL); in msi001_probe()
430 if (s == NULL) { in msi001_probe()
436 s->spi = spi; in msi001_probe()
437 s->f_tuner = bands[0].rangelow; in msi001_probe()
438 v4l2_spi_subdev_init(&s->sd, spi, &msi001_ops); in msi001_probe()
441 v4l2_ctrl_handler_init(&s->hdl, 5); in msi001_probe()
442 s->bandwidth_auto = v4l2_ctrl_new_std(&s->hdl, &msi001_ctrl_ops, in msi001_probe()
444 s->bandwidth = v4l2_ctrl_new_std(&s->hdl, &msi001_ctrl_ops, in msi001_probe()
446 v4l2_ctrl_auto_cluster(2, &s->bandwidth_auto, 0, false); in msi001_probe()
447 s->lna_gain = v4l2_ctrl_new_std(&s->hdl, &msi001_ctrl_ops, in msi001_probe()
449 s->mixer_gain = v4l2_ctrl_new_std(&s->hdl, &msi001_ctrl_ops, in msi001_probe()
451 s->if_gain = v4l2_ctrl_new_std(&s->hdl, &msi001_ctrl_ops, in msi001_probe()
453 if (s->hdl.error) { in msi001_probe()
454 ret = s->hdl.error; in msi001_probe()
455 dev_err(&s->spi->dev, "Could not initialize controls\n"); in msi001_probe()
460 s->sd.ctrl_handler = &s->hdl; in msi001_probe()
464 v4l2_ctrl_handler_free(&s->hdl); in msi001_probe()
466 kfree(s); in msi001_probe()
473 struct msi001 *s = sd_to_msi001(sd); in msi001_remove() local
481 v4l2_device_unregister_subdev(&s->sd); in msi001_remove()
482 v4l2_ctrl_handler_free(&s->hdl); in msi001_remove()
483 kfree(s); in msi001_remove()