Lines Matching refs:radio

134 static int raremono_cmd_main(struct raremono_device *radio, unsigned band, unsigned freq)  in raremono_cmd_main()  argument
151 radio->buffer[0] = 0x04 + band_offset; in raremono_cmd_main()
152 radio->buffer[1] = freq >> 8; in raremono_cmd_main()
153 radio->buffer[2] = freq & 0xff; in raremono_cmd_main()
155 ret = usb_control_msg(radio->usbdev, usb_sndctrlpipe(radio->usbdev, 0), in raremono_cmd_main()
158 0x0300 + radio->buffer[0], 2, in raremono_cmd_main()
159 radio->buffer, 3, USB_TIMEOUT); in raremono_cmd_main()
162 dev_warn(radio->v4l2_dev.dev, "%s failed (%d)\n", __func__, ret); in raremono_cmd_main()
165 radio->curfreq = (band == BAND_FM) ? freq * 10 : freq; in raremono_cmd_main()
176 struct raremono_device *radio = to_raremono_dev(usb_get_intfdata(intf)); in usb_raremono_disconnect() local
180 mutex_lock(&radio->lock); in usb_raremono_disconnect()
182 video_unregister_device(&radio->vdev); in usb_raremono_disconnect()
183 v4l2_device_disconnect(&radio->v4l2_dev); in usb_raremono_disconnect()
184 mutex_unlock(&radio->lock); in usb_raremono_disconnect()
185 v4l2_device_put(&radio->v4l2_dev); in usb_raremono_disconnect()
194 struct raremono_device *radio = video_drvdata(file); in vidioc_querycap() local
198 usb_make_path(radio->usbdev, v->bus_info, sizeof(v->bus_info)); in vidioc_querycap()
221 struct raremono_device *radio = video_drvdata(file); in vidioc_g_tuner() local
233 v->audmode = (radio->curfreq < FM_FREQ_RANGE_LOW) ? in vidioc_g_tuner()
235 memset(radio->buffer, 1, BUFFER_LENGTH); in vidioc_g_tuner()
236 ret = usb_control_msg(radio->usbdev, usb_rcvctrlpipe(radio->usbdev, 0), in vidioc_g_tuner()
237 1, 0xa1, 0x030d, 2, radio->buffer, BUFFER_LENGTH, USB_TIMEOUT); in vidioc_g_tuner()
240 dev_warn(radio->v4l2_dev.dev, "%s failed (%d)\n", __func__, ret); in vidioc_g_tuner()
243 v->signal = ((radio->buffer[1] & 0xf) << 8 | radio->buffer[2]) << 4; in vidioc_g_tuner()
256 struct raremono_device *radio = video_drvdata(file); in vidioc_s_frequency() local
271 return raremono_cmd_main(radio, band, freq / 16); in vidioc_s_frequency()
277 struct raremono_device *radio = video_drvdata(file); in vidioc_g_frequency() local
282 f->frequency = radio->curfreq * 16; in vidioc_g_frequency()
307 struct raremono_device *radio; in usb_raremono_probe() local
310 radio = devm_kzalloc(&intf->dev, sizeof(struct raremono_device), GFP_KERNEL); in usb_raremono_probe()
311 if (radio) in usb_raremono_probe()
312 radio->buffer = devm_kmalloc(&intf->dev, BUFFER_LENGTH, GFP_KERNEL); in usb_raremono_probe()
314 if (!radio || !radio->buffer) in usb_raremono_probe()
317 radio->usbdev = interface_to_usbdev(intf); in usb_raremono_probe()
318 radio->intf = intf; in usb_raremono_probe()
330 retval = usb_control_msg(radio->usbdev, in usb_raremono_probe()
331 usb_rcvctrlpipe(radio->usbdev, 0), in usb_raremono_probe()
335 radio->buffer, 3, 500); in usb_raremono_probe()
337 (get_unaligned_be16(&radio->buffer[1]) & 0xfff) == 0x0242) { in usb_raremono_probe()
345 retval = v4l2_device_register(&intf->dev, &radio->v4l2_dev); in usb_raremono_probe()
351 mutex_init(&radio->lock); in usb_raremono_probe()
353 strlcpy(radio->vdev.name, radio->v4l2_dev.name, in usb_raremono_probe()
354 sizeof(radio->vdev.name)); in usb_raremono_probe()
355 radio->vdev.v4l2_dev = &radio->v4l2_dev; in usb_raremono_probe()
356 radio->vdev.fops = &usb_raremono_fops; in usb_raremono_probe()
357 radio->vdev.ioctl_ops = &usb_raremono_ioctl_ops; in usb_raremono_probe()
358 radio->vdev.lock = &radio->lock; in usb_raremono_probe()
359 radio->vdev.release = video_device_release_empty; in usb_raremono_probe()
361 usb_set_intfdata(intf, &radio->v4l2_dev); in usb_raremono_probe()
363 video_set_drvdata(&radio->vdev, radio); in usb_raremono_probe()
365 raremono_cmd_main(radio, BAND_FM, 95160); in usb_raremono_probe()
367 retval = video_register_device(&radio->vdev, VFL_TYPE_RADIO, -1); in usb_raremono_probe()
370 video_device_node_name(&radio->vdev)); in usb_raremono_probe()
374 v4l2_device_unregister(&radio->v4l2_dev); in usb_raremono_probe()