These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / media / platform / marvell-ccic / cafe-driver.c
index 5628453..77890bd 100644 (file)
@@ -339,17 +339,21 @@ static int cafe_smbus_setup(struct cafe_camera *cam)
        adap = kzalloc(sizeof(*adap), GFP_KERNEL);
        if (adap == NULL)
                return -ENOMEM;
-       cam->mcam.i2c_adapter = adap;
-       cafe_smbus_enable_irq(cam);
        adap->owner = THIS_MODULE;
        adap->algo = &cafe_smbus_algo;
        strcpy(adap->name, "cafe_ccic");
        adap->dev.parent = &cam->pdev->dev;
        i2c_set_adapdata(adap, cam);
        ret = i2c_add_adapter(adap);
-       if (ret)
+       if (ret) {
                printk(KERN_ERR "Unable to register cafe i2c adapter\n");
-       return ret;
+               kfree(adap);
+               return ret;
+       }
+
+       cam->mcam.i2c_adapter = adap;
+       cafe_smbus_enable_irq(cam);
+       return 0;
 }
 
 static void cafe_smbus_shutdown(struct cafe_camera *cam)
@@ -476,6 +480,7 @@ static int cafe_pci_probe(struct pci_dev *pdev,
        mcam->plat_power_up = cafe_ctlr_power_up;
        mcam->plat_power_down = cafe_ctlr_power_down;
        mcam->dev = &pdev->dev;
+       snprintf(mcam->bus_info, sizeof(mcam->bus_info), "PCI:%s", pci_name(pdev));
        /*
         * Set the clock speed for the XO 1; I don't believe this
         * driver has ever run anywhere else.