Just fold these two trivial helpers into their only callers. Signed-off-by: Christoph Hellwig <hch@xxxxxx> --- drivers/vfio/mdev/mdev_core.c | 12 ++++++++++-- drivers/vfio/mdev/mdev_private.h | 3 --- drivers/vfio/mdev/mdev_sysfs.c | 28 ---------------------------- 3 files changed, 10 insertions(+), 33 deletions(-) diff --git a/drivers/vfio/mdev/mdev_core.c b/drivers/vfio/mdev/mdev_core.c index ff38c9549a55e..34b01d45cfe9f 100644 --- a/drivers/vfio/mdev/mdev_core.c +++ b/drivers/vfio/mdev/mdev_core.c @@ -46,7 +46,8 @@ static void mdev_device_remove_common(struct mdev_device *mdev) { struct mdev_parent *parent = mdev->type->parent; - mdev_remove_sysfs_files(mdev); + sysfs_remove_link(&mdev->dev.kobj, "mdev_type"); + sysfs_remove_link(mdev->type->devices_kobj, dev_name(&mdev->dev)); device_del(&mdev->dev); lockdep_assert_held(&parent->unreg_sem); /* Balances with device_initialize() */ @@ -193,16 +194,23 @@ int mdev_device_create(struct mdev_type *type, const guid_t *uuid) if (ret) goto out_del; - ret = mdev_create_sysfs_files(mdev); + ret = sysfs_create_link(type->devices_kobj, &mdev->dev.kobj, + dev_name(&mdev->dev)); if (ret) goto out_del; + ret = sysfs_create_link(&mdev->dev.kobj, &type->kobj, "mdev_type"); + if (ret) + goto out_remove_type_link; + mdev->active = true; dev_dbg(&mdev->dev, "MDEV: created\n"); up_read(&parent->unreg_sem); return 0; +out_remove_type_link: + sysfs_remove_link(mdev->type->devices_kobj, dev_name(&mdev->dev)); out_del: device_del(&mdev->dev); out_unlock: diff --git a/drivers/vfio/mdev/mdev_private.h b/drivers/vfio/mdev/mdev_private.h index 476cc0379ede0..277819f1ebed8 100644 --- a/drivers/vfio/mdev/mdev_private.h +++ b/drivers/vfio/mdev/mdev_private.h @@ -20,9 +20,6 @@ extern const struct attribute_group *mdev_device_groups[]; #define to_mdev_type(_kobj) \ container_of(_kobj, struct mdev_type, kobj) -int mdev_create_sysfs_files(struct mdev_device *mdev); -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); diff --git a/drivers/vfio/mdev/mdev_sysfs.c b/drivers/vfio/mdev/mdev_sysfs.c index fb058755d85b8..b6bc623487f06 100644 --- a/drivers/vfio/mdev/mdev_sysfs.c +++ b/drivers/vfio/mdev/mdev_sysfs.c @@ -176,31 +176,3 @@ const struct attribute_group *mdev_device_groups[] = { &mdev_device_group, NULL }; - -int mdev_create_sysfs_files(struct mdev_device *mdev) -{ - struct mdev_type *type = mdev->type; - struct kobject *kobj = &mdev->dev.kobj; - int ret; - - ret = sysfs_create_link(type->devices_kobj, kobj, dev_name(&mdev->dev)); - if (ret) - return ret; - - ret = sysfs_create_link(kobj, &type->kobj, "mdev_type"); - if (ret) - goto type_link_failed; - return ret; - -type_link_failed: - sysfs_remove_link(mdev->type->devices_kobj, dev_name(&mdev->dev)); - return ret; -} - -void mdev_remove_sysfs_files(struct mdev_device *mdev) -{ - struct kobject *kobj = &mdev->dev.kobj; - - sysfs_remove_link(kobj, "mdev_type"); - sysfs_remove_link(mdev->type->devices_kobj, dev_name(&mdev->dev)); -} -- 2.30.2