Lines Matching refs:reflck
24 static void vfio_fsl_mc_reflck_get(struct vfio_fsl_mc_reflck *reflck)
26 kref_get(&reflck->kref);
31 struct vfio_fsl_mc_reflck *reflck = container_of(kref,
35 mutex_destroy(&reflck->lock);
36 kfree(reflck);
40 static void vfio_fsl_mc_reflck_put(struct vfio_fsl_mc_reflck *reflck)
42 kref_put_mutex(&reflck->kref, vfio_fsl_mc_reflck_release, &reflck_lock);
47 struct vfio_fsl_mc_reflck *reflck;
49 reflck = kzalloc(sizeof(*reflck), GFP_KERNEL);
50 if (!reflck)
53 kref_init(&reflck->kref);
54 mutex_init(&reflck->lock);
56 return reflck;
65 vdev->reflck = vfio_fsl_mc_reflck_alloc();
66 ret = PTR_ERR_OR_ZERO(vdev->reflck);
79 if (!cont_vdev || !cont_vdev->reflck) {
84 vfio_fsl_mc_reflck_get(cont_vdev->reflck);
85 vdev->reflck = cont_vdev->reflck;
146 mutex_lock(&vdev->reflck->lock);
154 mutex_unlock(&vdev->reflck->lock);
159 mutex_unlock(&vdev->reflck->lock);
169 mutex_lock(&vdev->reflck->lock);
195 mutex_unlock(&vdev->reflck->lock);
658 vfio_fsl_mc_reflck_put(vdev->reflck);
677 vfio_fsl_mc_reflck_put(vdev->reflck);