Lines Matching refs:fmdev

37 	struct fmdev *fmdev;
39 fmdev = video_drvdata(file);
46 if (mutex_lock_interruptible(&fmdev->mutex))
50 ret = fm_rx_get_rds_mode(fmdev, &rds_mode);
57 ret = fmc_set_rds_mode(fmdev, FM_RDS_ENABLE);
65 ret = fmc_transfer_rds_from_internal_buff(fmdev, file, buf, count);
67 mutex_unlock(&fmdev->mutex);
77 struct fmdev *fmdev;
86 fmdev = video_drvdata(file);
87 if (mutex_lock_interruptible(&fmdev->mutex))
89 fm_tx_set_radio_text(fmdev, rds.text, rds.text_type);
90 fm_tx_set_af(fmdev, rds.af_freq);
91 mutex_unlock(&fmdev->mutex);
99 struct fmdev *fmdev;
101 fmdev = video_drvdata(file);
102 mutex_lock(&fmdev->mutex);
103 ret = fmc_is_rds_data_available(fmdev, file, pts);
104 mutex_unlock(&fmdev->mutex);
118 struct fmdev *fmdev = NULL;
126 fmdev = video_drvdata(file);
128 if (mutex_lock_interruptible(&fmdev->mutex))
130 ret = fmc_prepare(fmdev);
138 ret = fmc_set_mode(fmdev, FM_MODE_RX);
146 mutex_unlock(&fmdev->mutex);
153 struct fmdev *fmdev;
155 fmdev = video_drvdata(file);
161 mutex_lock(&fmdev->mutex);
162 ret = fmc_set_mode(fmdev, FM_MODE_OFF);
168 ret = fmc_release(fmdev);
176 mutex_unlock(&fmdev->mutex);
193 struct fmdev *fmdev = container_of(ctrl->handler,
194 struct fmdev, ctrl_handler);
198 ctrl->val = fm_tx_get_tune_cap_val(fmdev);
210 struct fmdev *fmdev = container_of(ctrl->handler,
211 struct fmdev, ctrl_handler);
215 return fm_rx_set_volume(fmdev, (u16)ctrl->val);
218 return fmc_set_mute_mode(fmdev, (u8)ctrl->val);
222 return fm_tx_set_pwr_lvl(fmdev, (u8)ctrl->val);
225 return fm_tx_set_preemph_filter(fmdev, (u8) ctrl->val);
255 struct fmdev *fmdev = video_drvdata(file);
265 if (fmdev->curr_fmmode != FM_MODE_RX)
268 ret = fm_rx_get_band_freq_range(fmdev, &bottom_freq, &top_freq);
272 ret = fm_rx_get_stereo_mono(fmdev, &stereo_mono_mode);
276 ret = fm_rx_get_rssi_level(fmdev, &rssilvl);
286 ((fmdev->rx.rds.flag == FM_RDS_ENABLE) ? V4L2_TUNER_SUB_RDS : 0);
318 struct fmdev *fmdev = video_drvdata(file);
331 if (fmdev->curr_fmmode != FM_MODE_RX) {
332 ret = fmc_set_mode(fmdev, FM_MODE_RX);
339 ret = fmc_set_stereo_mono(fmdev, aud_mode);
345 ret = fmc_set_rds_mode(fmdev, rds_mode);
356 struct fmdev *fmdev = video_drvdata(file);
359 ret = fmc_get_freq(fmdev, &freq->frequency);
375 struct fmdev *fmdev = video_drvdata(file);
381 return fmc_set_freq(fmdev, freq->frequency / 16);
388 struct fmdev *fmdev = video_drvdata(file);
394 if (fmdev->curr_fmmode != FM_MODE_RX) {
395 ret = fmc_set_mode(fmdev, FM_MODE_RX);
402 ret = fm_rx_seek(fmdev, seek->seek_upward, seek->wrap_around,
413 struct fmdev *fmdev = video_drvdata(file);
418 if (fmdev->curr_fmmode != FM_MODE_TX)
421 mod->txsubchans = ((fmdev->tx_data.aud_mode == FM_STEREO_MODE) ?
423 ((fmdev->tx_data.rds.flag == FM_RDS_ENABLE) ?
436 struct fmdev *fmdev = video_drvdata(file);
444 if (fmdev->curr_fmmode != FM_MODE_TX) {
445 ret = fmc_set_mode(fmdev, FM_MODE_TX);
456 ret = fm_tx_set_stereo_mono(fmdev, aud_mode);
461 ret = fm_tx_set_rds_mode(fmdev, rds_mode);
516 int fm_v4l2_init_video_device(struct fmdev *fmdev, int radio_nr)
521 strscpy(fmdev->v4l2_dev.name, FM_DRV_NAME,
522 sizeof(fmdev->v4l2_dev.name));
523 ret = v4l2_device_register(NULL, &fmdev->v4l2_dev);
528 mutex_init(&fmdev->mutex);
533 video_set_drvdata(&gradio_dev, fmdev);
535 gradio_dev.lock = &fmdev->mutex;
536 gradio_dev.v4l2_dev = &fmdev->v4l2_dev;
540 v4l2_device_unregister(&fmdev->v4l2_dev);
545 fmdev->radio_dev = &gradio_dev;
548 fmdev->radio_dev->ctrl_handler = &fmdev->ctrl_handler;
550 ret = v4l2_ctrl_handler_init(&fmdev->ctrl_handler, 5);
552 fmerr("(fmdev): Can't init ctrl handler\n");
553 v4l2_ctrl_handler_free(&fmdev->ctrl_handler);
554 video_unregister_device(fmdev->radio_dev);
555 v4l2_device_unregister(&fmdev->v4l2_dev);
563 v4l2_ctrl_new_std(&fmdev->ctrl_handler, &fm_ctrl_ops,
567 v4l2_ctrl_new_std(&fmdev->ctrl_handler, &fm_ctrl_ops,
570 v4l2_ctrl_new_std_menu(&fmdev->ctrl_handler, &fm_ctrl_ops,
574 v4l2_ctrl_new_std(&fmdev->ctrl_handler, &fm_ctrl_ops,
578 ctrl = v4l2_ctrl_new_std(&fmdev->ctrl_handler, &fm_ctrl_ops,
590 struct fmdev *fmdev;
593 fmdev = video_get_drvdata(&gradio_dev);
596 v4l2_ctrl_handler_free(&fmdev->ctrl_handler);
601 v4l2_device_unregister(&fmdev->v4l2_dev);
603 return fmdev;