Lines Matching refs:reflck
560 mutex_lock(&vdev->reflck->lock); in vfio_pci_release()
579 mutex_unlock(&vdev->reflck->lock); in vfio_pci_release()
592 mutex_lock(&vdev->reflck->lock); in vfio_pci_open()
604 mutex_unlock(&vdev->reflck->lock); in vfio_pci_open()
1912 static void vfio_pci_reflck_put(struct vfio_pci_reflck *reflck);
2087 vfio_pci_reflck_put(vdev->reflck); in vfio_pci_probe()
2107 vfio_pci_reflck_put(vdev->reflck); in vfio_pci_remove()
2197 struct vfio_pci_reflck *reflck; in vfio_pci_reflck_alloc() local
2199 reflck = kzalloc(sizeof(*reflck), GFP_KERNEL); in vfio_pci_reflck_alloc()
2200 if (!reflck) in vfio_pci_reflck_alloc()
2203 kref_init(&reflck->kref); in vfio_pci_reflck_alloc()
2204 mutex_init(&reflck->lock); in vfio_pci_reflck_alloc()
2206 return reflck; in vfio_pci_reflck_alloc()
2209 static void vfio_pci_reflck_get(struct vfio_pci_reflck *reflck) in vfio_pci_reflck_get() argument
2211 kref_get(&reflck->kref); in vfio_pci_reflck_get()
2231 if (vdev->reflck) { in vfio_pci_reflck_find()
2232 vfio_pci_reflck_get(vdev->reflck); in vfio_pci_reflck_find()
2233 *preflck = vdev->reflck; in vfio_pci_reflck_find()
2250 &vdev->reflck, slot) <= 0) in vfio_pci_reflck_attach()
2251 vdev->reflck = vfio_pci_reflck_alloc(); in vfio_pci_reflck_attach()
2255 return PTR_ERR_OR_ZERO(vdev->reflck); in vfio_pci_reflck_attach()
2260 struct vfio_pci_reflck *reflck = container_of(kref, in vfio_pci_reflck_release() local
2264 kfree(reflck); in vfio_pci_reflck_release()
2268 static void vfio_pci_reflck_put(struct vfio_pci_reflck *reflck) in vfio_pci_reflck_put() argument
2270 kref_put_mutex(&reflck->kref, vfio_pci_reflck_release, &reflck_lock); in vfio_pci_reflck_put()