[PATCH 3/8] vfio/mdev: simplify mdev_type handling
Jason Gunthorpe
jgg at ziepe.ca
Mon Jun 6 23:38:08 UTC 2022
On Fri, Jun 03, 2022 at 08:33:23AM +0200, Christoph Hellwig wrote:
> @@ -112,9 +88,10 @@ int mdev_register_parent(struct mdev_parent *parent, struct device *dev,
> return -ENOMEM;
> }
>
> - ret = parent_create_sysfs_files(parent);
> - if (ret)
> - return ret;
> + parent->mdev_types_kset = kset_create_and_add("mdev_supported_types",
> + NULL, &parent->dev->kobj);
> + if (!parent->mdev_types_kset)
> + return -ENOMEM;
>
> ret = class_compat_create_link(mdev_bus_compat_class, dev, NULL);
> if (ret)
[..]
kobject_uevent_env(&dev->kobj, KOBJ_CHANGE, envp);
This changes the ordering with respect to this udev event, now the
mdev_supported_types directory is created but the directory is empty,
then the driver fills it after the KOBJ_CHANGE event is triggered.
Granted this whole abusing some other struct device's sysfs thing is
inherently wrong - I'm not really sure what impact this has. Though at
least someone seemed to care since their is this uevent here...
Maybe we need a 'finish register' call to trigger the uevent? Or
perhaps trigger the uevent when each add_type is done?
Everything else looks fine though, I looked at this for a while a long
time ago and didn't see this nice final arrangement :\
Jason
More information about the intel-gvt-dev
mailing list