[media] cx88: don't use atomic_t for core->users
[firefly-linux-kernel-4.4.55.git] / drivers / media / video / cx88 / cx88-video.c
index 287a41ee1c4f6d6cd2a0a1ced34cd2950c5aaf7f..cef4f282e5aae97c28eaa5515ad03db206cb8664 100644 (file)
@@ -824,7 +824,7 @@ static int video_open(struct file *file)
                call_all(core, tuner, s_radio);
        }
 
-       atomic_inc(&core->users);
+       core->users++;
        mutex_unlock(&core->lock);
 
        return 0;
@@ -922,7 +922,8 @@ static int video_release(struct file *file)
        file->private_data = NULL;
        kfree(fh);
 
-       if(atomic_dec_and_test(&dev->core->users))
+       dev->core->users--;
+       if (!dev->core->users)
                call_all(dev->core, core, s_power, 0);
        mutex_unlock(&dev->core->lock);
 
@@ -1832,7 +1833,7 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev,
        dev->core = core;
 
        /* print pci info */
-       pci_read_config_byte(pci_dev, PCI_CLASS_REVISION, &dev->pci_rev);
+       dev->pci_rev = pci_dev->revision;
        pci_read_config_byte(pci_dev, PCI_LATENCY_TIMER,  &dev->pci_lat);
        printk(KERN_INFO "%s/0: found at %s, rev: %d, irq: %d, "
               "latency: %d, mmio: 0x%llx\n", core->name,