V4L/DVB: saa7146_vv: fix regression where v4l2_device was registered too late
[firefly-linux-kernel-4.4.55.git] / drivers / media / common / saa7146_fops.c
index 7364b9642d005c0579838c4efdf7c61888767f98..fd8e1f45be369343e2e7973de54fe5f0faef5dad 100644 (file)
@@ -423,14 +423,15 @@ static void vv_callback(struct saa7146_dev *dev, unsigned long status)
        }
 }
 
+int saa7146_vv_devinit(struct saa7146_dev *dev)
+{
+       return v4l2_device_register(&dev->pci->dev, &dev->v4l2_dev);
+}
+EXPORT_SYMBOL_GPL(saa7146_vv_devinit);
+
 int saa7146_vv_init(struct saa7146_dev* dev, struct saa7146_ext_vv *ext_vv)
 {
        struct saa7146_vv *vv;
-       int err;
-
-       err = v4l2_device_register(&dev->pci->dev, &dev->v4l2_dev);
-       if (err)
-               return err;
 
        vv = kzalloc(sizeof(struct saa7146_vv), GFP_KERNEL);
        if (vv == NULL) {