Commit 1589a3e7 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media

Pull media fixes from Mauro Carvalho Chehab:
 "For a regression fix on a few radio drivers that were preventing radio
  TX to work on those devices"

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
  [media] radio: set vfl_dir correctly to fix modulator regression
parents 0f632118 ce4a3d52
...@@ -374,6 +374,7 @@ static int usb_keene_probe(struct usb_interface *intf, ...@@ -374,6 +374,7 @@ static int usb_keene_probe(struct usb_interface *intf,
radio->vdev.ioctl_ops = &usb_keene_ioctl_ops; radio->vdev.ioctl_ops = &usb_keene_ioctl_ops;
radio->vdev.lock = &radio->lock; radio->vdev.lock = &radio->lock;
radio->vdev.release = video_device_release_empty; radio->vdev.release = video_device_release_empty;
radio->vdev.vfl_dir = VFL_DIR_TX;
radio->usbdev = interface_to_usbdev(intf); radio->usbdev = interface_to_usbdev(intf);
radio->intf = intf; radio->intf = intf;
......
...@@ -250,6 +250,7 @@ static struct video_device radio_si4713_vdev_template = { ...@@ -250,6 +250,7 @@ static struct video_device radio_si4713_vdev_template = {
.name = "radio-si4713", .name = "radio-si4713",
.release = video_device_release, .release = video_device_release,
.ioctl_ops = &radio_si4713_ioctl_ops, .ioctl_ops = &radio_si4713_ioctl_ops,
.vfl_dir = VFL_DIR_TX,
}; };
/* Platform driver interface */ /* Platform driver interface */
......
...@@ -1971,6 +1971,7 @@ static struct video_device wl1273_viddev_template = { ...@@ -1971,6 +1971,7 @@ static struct video_device wl1273_viddev_template = {
.ioctl_ops = &wl1273_ioctl_ops, .ioctl_ops = &wl1273_ioctl_ops,
.name = WL1273_FM_DRIVER_NAME, .name = WL1273_FM_DRIVER_NAME,
.release = wl1273_vdev_release, .release = wl1273_vdev_release,
.vfl_dir = VFL_DIR_TX,
}; };
static int wl1273_fm_radio_remove(struct platform_device *pdev) static int wl1273_fm_radio_remove(struct platform_device *pdev)
......
...@@ -518,6 +518,16 @@ static struct video_device fm_viddev_template = { ...@@ -518,6 +518,16 @@ static struct video_device fm_viddev_template = {
.ioctl_ops = &fm_drv_ioctl_ops, .ioctl_ops = &fm_drv_ioctl_ops,
.name = FM_DRV_NAME, .name = FM_DRV_NAME,
.release = video_device_release, .release = video_device_release,
/*
* To ensure both the tuner and modulator ioctls are accessible we
* set the vfl_dir to M2M to indicate this.
*
* It is not really a mem2mem device of course, but it can both receive
* and transmit using the same radio device. It's the only radio driver
* that does this and it should really be split in two radio devices,
* but that would affect applications using this driver.
*/
.vfl_dir = VFL_DIR_M2M,
}; };
int fm_v4l2_init_video_device(struct fmdev *fmdev, int radio_nr) int fm_v4l2_init_video_device(struct fmdev *fmdev, int radio_nr)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment