mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-28 14:44:10 +08:00
vfio/mdev: Expose mdev_get/put_parent to mdev_private.h
The next patch will use these in mdev_sysfs.c While here remove the now dead code checks for NULL, a mdev_type can never have a NULL parent. Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Message-Id: <6-v2-d36939638fc6+d54-vfio2_jgg@nvidia.com> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
parent
417fd5bf24
commit
a9f8111d0b
@ -45,7 +45,7 @@ static struct mdev_parent *__find_parent_device(struct device *dev)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void mdev_release_parent(struct kref *kref)
|
||||
void mdev_release_parent(struct kref *kref)
|
||||
{
|
||||
struct mdev_parent *parent = container_of(kref, struct mdev_parent,
|
||||
ref);
|
||||
@ -55,20 +55,6 @@ static void mdev_release_parent(struct kref *kref)
|
||||
put_device(dev);
|
||||
}
|
||||
|
||||
static struct mdev_parent *mdev_get_parent(struct mdev_parent *parent)
|
||||
{
|
||||
if (parent)
|
||||
kref_get(&parent->ref);
|
||||
|
||||
return parent;
|
||||
}
|
||||
|
||||
static void mdev_put_parent(struct mdev_parent *parent)
|
||||
{
|
||||
if (parent)
|
||||
kref_put(&parent->ref, mdev_release_parent);
|
||||
}
|
||||
|
||||
/* Caller must hold parent unreg_sem read or write lock */
|
||||
static void mdev_device_remove_common(struct mdev_device *mdev)
|
||||
{
|
||||
@ -243,12 +229,9 @@ int mdev_device_create(struct mdev_type *type, const guid_t *uuid)
|
||||
{
|
||||
int ret;
|
||||
struct mdev_device *mdev, *tmp;
|
||||
struct mdev_parent *parent;
|
||||
|
||||
parent = mdev_get_parent(type->parent);
|
||||
if (!parent)
|
||||
return -EINVAL;
|
||||
struct mdev_parent *parent = type->parent;
|
||||
|
||||
mdev_get_parent(parent);
|
||||
mutex_lock(&mdev_list_lock);
|
||||
|
||||
/* Check for duplicate */
|
||||
|
@ -46,4 +46,16 @@ void mdev_remove_sysfs_files(struct mdev_device *mdev);
|
||||
int mdev_device_create(struct mdev_type *kobj, const guid_t *uuid);
|
||||
int mdev_device_remove(struct mdev_device *dev);
|
||||
|
||||
void mdev_release_parent(struct kref *kref);
|
||||
|
||||
static inline void mdev_get_parent(struct mdev_parent *parent)
|
||||
{
|
||||
kref_get(&parent->ref);
|
||||
}
|
||||
|
||||
static inline void mdev_put_parent(struct mdev_parent *parent)
|
||||
{
|
||||
kref_put(&parent->ref, mdev_release_parent);
|
||||
}
|
||||
|
||||
#endif /* MDEV_PRIVATE_H */
|
||||
|
Loading…
Reference in New Issue
Block a user