Lines Matching refs:radio

122 static int raremono_cmd_main(struct raremono_device *radio, unsigned band, unsigned freq)  in raremono_cmd_main()  argument
139 radio->buffer[0] = 0x04 + band_offset; in raremono_cmd_main()
140 radio->buffer[1] = freq >> 8; in raremono_cmd_main()
141 radio->buffer[2] = freq & 0xff; in raremono_cmd_main()
143 ret = usb_control_msg(radio->usbdev, usb_sndctrlpipe(radio->usbdev, 0), in raremono_cmd_main()
146 0x0300 + radio->buffer[0], 2, in raremono_cmd_main()
147 radio->buffer, 3, USB_TIMEOUT); in raremono_cmd_main()
150 dev_warn(radio->v4l2_dev.dev, "%s failed (%d)\n", __func__, ret); in raremono_cmd_main()
153 radio->curfreq = (band == BAND_FM) ? freq * 10 : freq; in raremono_cmd_main()
164 struct raremono_device *radio = to_raremono_dev(usb_get_intfdata(intf)); in usb_raremono_disconnect() local
168 mutex_lock(&radio->lock); in usb_raremono_disconnect()
170 video_unregister_device(&radio->vdev); in usb_raremono_disconnect()
171 v4l2_device_disconnect(&radio->v4l2_dev); in usb_raremono_disconnect()
172 mutex_unlock(&radio->lock); in usb_raremono_disconnect()
173 v4l2_device_put(&radio->v4l2_dev); in usb_raremono_disconnect()
182 struct raremono_device *radio = video_drvdata(file); in vidioc_querycap() local
186 usb_make_path(radio->usbdev, v->bus_info, sizeof(v->bus_info)); in vidioc_querycap()
207 struct raremono_device *radio = video_drvdata(file); in vidioc_g_tuner() local
219 v->audmode = (radio->curfreq < FM_FREQ_RANGE_LOW) ? in vidioc_g_tuner()
221 memset(radio->buffer, 1, BUFFER_LENGTH); in vidioc_g_tuner()
222 ret = usb_control_msg(radio->usbdev, usb_rcvctrlpipe(radio->usbdev, 0), in vidioc_g_tuner()
223 1, 0xa1, 0x030d, 2, radio->buffer, BUFFER_LENGTH, USB_TIMEOUT); in vidioc_g_tuner()
226 dev_warn(radio->v4l2_dev.dev, "%s failed (%d)\n", __func__, ret); in vidioc_g_tuner()
229 v->signal = ((radio->buffer[1] & 0xf) << 8 | radio->buffer[2]) << 4; in vidioc_g_tuner()
242 struct raremono_device *radio = video_drvdata(file); in vidioc_s_frequency() local
257 return raremono_cmd_main(radio, band, freq / 16); in vidioc_s_frequency()
263 struct raremono_device *radio = video_drvdata(file); in vidioc_g_frequency() local
268 f->frequency = radio->curfreq * 16; in vidioc_g_frequency()
274 struct raremono_device *radio = to_raremono_dev(v4l2_dev); in raremono_device_release() local
276 kfree(radio->buffer); in raremono_device_release()
277 kfree(radio); in raremono_device_release()
301 struct raremono_device *radio; in usb_raremono_probe() local
304 radio = kzalloc(sizeof(*radio), GFP_KERNEL); in usb_raremono_probe()
305 if (!radio) in usb_raremono_probe()
307 radio->buffer = kmalloc(BUFFER_LENGTH, GFP_KERNEL); in usb_raremono_probe()
308 if (!radio->buffer) { in usb_raremono_probe()
309 kfree(radio); in usb_raremono_probe()
313 radio->usbdev = interface_to_usbdev(intf); in usb_raremono_probe()
314 radio->intf = intf; in usb_raremono_probe()
326 retval = usb_control_msg(radio->usbdev, in usb_raremono_probe()
327 usb_rcvctrlpipe(radio->usbdev, 0), in usb_raremono_probe()
331 radio->buffer, 3, 500); in usb_raremono_probe()
333 (get_unaligned_be16(&radio->buffer[1]) & 0xfff) == 0x0242) { in usb_raremono_probe()
342 retval = v4l2_device_register(&intf->dev, &radio->v4l2_dev); in usb_raremono_probe()
348 mutex_init(&radio->lock); in usb_raremono_probe()
350 strscpy(radio->vdev.name, radio->v4l2_dev.name, in usb_raremono_probe()
351 sizeof(radio->vdev.name)); in usb_raremono_probe()
352 radio->vdev.v4l2_dev = &radio->v4l2_dev; in usb_raremono_probe()
353 radio->vdev.fops = &usb_raremono_fops; in usb_raremono_probe()
354 radio->vdev.ioctl_ops = &usb_raremono_ioctl_ops; in usb_raremono_probe()
355 radio->vdev.lock = &radio->lock; in usb_raremono_probe()
356 radio->vdev.release = video_device_release_empty; in usb_raremono_probe()
357 radio->vdev.device_caps = V4L2_CAP_TUNER | V4L2_CAP_RADIO; in usb_raremono_probe()
358 radio->v4l2_dev.release = raremono_device_release; in usb_raremono_probe()
360 usb_set_intfdata(intf, &radio->v4l2_dev); in usb_raremono_probe()
362 video_set_drvdata(&radio->vdev, radio); in usb_raremono_probe()
364 raremono_cmd_main(radio, BAND_FM, 95160); in usb_raremono_probe()
366 retval = video_register_device(&radio->vdev, VFL_TYPE_RADIO, -1); in usb_raremono_probe()
369 video_device_node_name(&radio->vdev)); in usb_raremono_probe()
373 v4l2_device_unregister(&radio->v4l2_dev); in usb_raremono_probe()
376 kfree(radio->buffer); in usb_raremono_probe()
377 kfree(radio); in usb_raremono_probe()