mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-11 23:06:44 +07:00
[media] staging: easycap: Push video registration to easycap_register_video()
Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
751869e6ef
commit
217d55f2ba
@ -3291,6 +3291,37 @@ static const struct v4l2_file_operations v4l2_fops = {
|
||||
.mmap = easycap_mmap,
|
||||
};
|
||||
|
||||
static int easycap_register_video(struct easycap *peasycap)
|
||||
{
|
||||
/*
|
||||
* FIXME: This is believed to be harmless,
|
||||
* but may well be unnecessary or wrong.
|
||||
*/
|
||||
peasycap->video_device.v4l2_dev = NULL;
|
||||
|
||||
strcpy(&peasycap->video_device.name[0], "easycapdc60");
|
||||
peasycap->video_device.fops = &v4l2_fops;
|
||||
peasycap->video_device.minor = -1;
|
||||
peasycap->video_device.release = (void *)(&videodev_release);
|
||||
|
||||
video_set_drvdata(&(peasycap->video_device), (void *)peasycap);
|
||||
|
||||
if (0 != (video_register_device(&(peasycap->video_device),
|
||||
VFL_TYPE_GRABBER, -1))) {
|
||||
err("Not able to register with videodev");
|
||||
videodev_release(&(peasycap->video_device));
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
peasycap->registered_video++;
|
||||
|
||||
SAM("registered with videodev: %i=minor\n",
|
||||
peasycap->video_device.minor);
|
||||
peasycap->minor = peasycap->video_device.minor;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* When the device is plugged, this function is called three times,
|
||||
* one for each interface.
|
||||
@ -3667,32 +3698,9 @@ static int easycap_usb_probe(struct usb_interface *intf,
|
||||
JOM(4, "registered device instance: %s\n",
|
||||
peasycap->v4l2_device.name);
|
||||
|
||||
/*
|
||||
* FIXME: This is believed to be harmless,
|
||||
* but may well be unnecessary or wrong.
|
||||
*/
|
||||
peasycap->video_device.v4l2_dev = NULL;
|
||||
|
||||
|
||||
strcpy(&peasycap->video_device.name[0], "easycapdc60");
|
||||
peasycap->video_device.fops = &v4l2_fops;
|
||||
peasycap->video_device.minor = -1;
|
||||
peasycap->video_device.release = (void *)(&videodev_release);
|
||||
|
||||
video_set_drvdata(&(peasycap->video_device), (void *)peasycap);
|
||||
|
||||
if (0 != (video_register_device(&(peasycap->video_device),
|
||||
VFL_TYPE_GRABBER, -1))) {
|
||||
err("Not able to register with videodev");
|
||||
videodev_release(&(peasycap->video_device));
|
||||
rc = easycap_register_video(peasycap);
|
||||
if (rc < 0)
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
peasycap->registered_video++;
|
||||
SAM("registered with videodev: %i=minor\n",
|
||||
peasycap->video_device.minor);
|
||||
peasycap->minor = peasycap->video_device.minor;
|
||||
|
||||
break;
|
||||
}
|
||||
/* 1: Audio control */
|
||||
|
Loading…
Reference in New Issue
Block a user