Skip to content

Commit

Permalink
vfio-mdev: de-polute the namespace, rename parent_device & parent_ops
Browse files Browse the repository at this point in the history
Add an mdev_ prefix so we're not poluting the namespace so much.

Cc: Zhenyu Wang <[email protected]>
Cc: Zhi Wang <[email protected]>
Cc: Jike Song <[email protected]>
Signed-off-by: Alex Williamson <[email protected]>
Reviewed by: Kirti Wankhede <[email protected]>
  • Loading branch information
awilliam committed Dec 30, 2016
1 parent 4955078 commit 4293055
Show file tree
Hide file tree
Showing 8 changed files with 49 additions and 49 deletions.
24 changes: 12 additions & 12 deletions Documentation/vfio-mediated-device.txt
Original file line number Diff line number Diff line change
Expand Up @@ -127,22 +127,22 @@ the VFIO when devices are unbound from the driver.
Physical Device Driver Interface
--------------------------------

The physical device driver interface provides the parent_ops[3] structure to
define the APIs to manage work in the mediated core driver that is related to
the physical device.
The physical device driver interface provides the mdev_parent_ops[3] structure
to define the APIs to manage work in the mediated core driver that is related
to the physical device.

The structures in the parent_ops structure are as follows:
The structures in the mdev_parent_ops structure are as follows:

* dev_attr_groups: attributes of the parent device
* mdev_attr_groups: attributes of the mediated device
* supported_config: attributes to define supported configurations

The functions in the parent_ops structure are as follows:
The functions in the mdev_parent_ops structure are as follows:

* create: allocate basic resources in a driver for a mediated device
* remove: free resources in a driver when a mediated device is destroyed

The callbacks in the parent_ops structure are as follows:
The callbacks in the mdev_parent_ops structure are as follows:

* open: open callback of mediated device
* close: close callback of mediated device
Expand All @@ -151,14 +151,14 @@ The callbacks in the parent_ops structure are as follows:
* write: write emulation callback
* mmap: mmap emulation callback

A driver should use the parent_ops structure in the function call to register
itself with the mdev core driver:
A driver should use the mdev_parent_ops structure in the function call to
register itself with the mdev core driver:

extern int mdev_register_device(struct device *dev,
const struct parent_ops *ops);
const struct mdev_parent_ops *ops);

However, the parent_ops structure is not required in the function call that a
driver should use to unregister itself with the mdev core driver:
However, the mdev_parent_ops structure is not required in the function call
that a driver should use to unregister itself with the mdev core driver:

extern void mdev_unregister_device(struct device *dev);

Expand Down Expand Up @@ -394,5 +394,5 @@ References

[1] See Documentation/vfio.txt for more information on VFIO.
[2] struct mdev_driver in include/linux/mdev.h
[3] struct parent_ops in include/linux/mdev.h
[3] struct mdev_parent_ops in include/linux/mdev.h
[4] struct vfio_iommu_driver_ops in include/linux/vfio.h
2 changes: 1 addition & 1 deletion drivers/gpu/drm/i915/gvt/kvmgt.c
Original file line number Diff line number Diff line change
Expand Up @@ -1089,7 +1089,7 @@ static long intel_vgpu_ioctl(struct mdev_device *mdev, unsigned int cmd,
return 0;
}

static const struct parent_ops intel_vgpu_ops = {
static const struct mdev_parent_ops intel_vgpu_ops = {
.supported_type_groups = intel_vgpu_type_groups,
.create = intel_vgpu_create,
.remove = intel_vgpu_remove,
Expand Down
28 changes: 14 additions & 14 deletions drivers/vfio/mdev/mdev_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ static int _find_mdev_device(struct device *dev, void *data)
return 0;
}

static bool mdev_device_exist(struct parent_device *parent, uuid_le uuid)
static bool mdev_device_exist(struct mdev_parent *parent, uuid_le uuid)
{
struct device *dev;

Expand All @@ -59,9 +59,9 @@ static bool mdev_device_exist(struct parent_device *parent, uuid_le uuid)
}

/* Should be called holding parent_list_lock */
static struct parent_device *__find_parent_device(struct device *dev)
static struct mdev_parent *__find_parent_device(struct device *dev)
{
struct parent_device *parent;
struct mdev_parent *parent;

list_for_each_entry(parent, &parent_list, next) {
if (parent->dev == dev)
Expand All @@ -72,24 +72,24 @@ static struct parent_device *__find_parent_device(struct device *dev)

static void mdev_release_parent(struct kref *kref)
{
struct parent_device *parent = container_of(kref, struct parent_device,
ref);
struct mdev_parent *parent = container_of(kref, struct mdev_parent,
ref);
struct device *dev = parent->dev;

kfree(parent);
put_device(dev);
}

static
inline struct parent_device *mdev_get_parent(struct parent_device *parent)
inline struct mdev_parent *mdev_get_parent(struct mdev_parent *parent)
{
if (parent)
kref_get(&parent->ref);

return parent;
}

static inline void mdev_put_parent(struct parent_device *parent)
static inline void mdev_put_parent(struct mdev_parent *parent)
{
if (parent)
kref_put(&parent->ref, mdev_release_parent);
Expand All @@ -98,7 +98,7 @@ static inline void mdev_put_parent(struct parent_device *parent)
static int mdev_device_create_ops(struct kobject *kobj,
struct mdev_device *mdev)
{
struct parent_device *parent = mdev->parent;
struct mdev_parent *parent = mdev->parent;
int ret;

ret = parent->ops->create(kobj, mdev);
Expand All @@ -125,7 +125,7 @@ static int mdev_device_create_ops(struct kobject *kobj,
*/
static int mdev_device_remove_ops(struct mdev_device *mdev, bool force_remove)
{
struct parent_device *parent = mdev->parent;
struct mdev_parent *parent = mdev->parent;
int ret;

/*
Expand Down Expand Up @@ -156,10 +156,10 @@ static int mdev_device_remove_cb(struct device *dev, void *data)
* Add device to list of registered parent devices.
* Returns a negative value on error, otherwise 0.
*/
int mdev_register_device(struct device *dev, const struct parent_ops *ops)
int mdev_register_device(struct device *dev, const struct mdev_parent_ops *ops)
{
int ret;
struct parent_device *parent;
struct mdev_parent *parent;

/* check for mandatory ops */
if (!ops || !ops->create || !ops->remove || !ops->supported_type_groups)
Expand Down Expand Up @@ -232,7 +232,7 @@ EXPORT_SYMBOL(mdev_register_device);

void mdev_unregister_device(struct device *dev)
{
struct parent_device *parent;
struct mdev_parent *parent;
bool force_remove = true;

mutex_lock(&parent_list_lock);
Expand Down Expand Up @@ -269,7 +269,7 @@ int mdev_device_create(struct kobject *kobj, struct device *dev, uuid_le uuid)
{
int ret;
struct mdev_device *mdev;
struct parent_device *parent;
struct mdev_parent *parent;
struct mdev_type *type = to_mdev_type(kobj);

parent = mdev_get_parent(type->parent);
Expand Down Expand Up @@ -338,7 +338,7 @@ int mdev_device_create(struct kobject *kobj, struct device *dev, uuid_le uuid)
int mdev_device_remove(struct device *dev, bool force_remove)
{
struct mdev_device *mdev, *tmp;
struct parent_device *parent;
struct mdev_parent *parent;
struct mdev_type *type;
int ret;
bool found = false;
Expand Down
6 changes: 3 additions & 3 deletions drivers/vfio/mdev/mdev_private.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ void mdev_bus_unregister(void);
struct mdev_type {
struct kobject kobj;
struct kobject *devices_kobj;
struct parent_device *parent;
struct mdev_parent *parent;
struct list_head next;
struct attribute_group *group;
};
Expand All @@ -29,8 +29,8 @@ struct mdev_type {
#define to_mdev_type(_kobj) \
container_of(_kobj, struct mdev_type, kobj)

int parent_create_sysfs_files(struct parent_device *parent);
void parent_remove_sysfs_files(struct parent_device *parent);
int parent_create_sysfs_files(struct mdev_parent *parent);
void parent_remove_sysfs_files(struct mdev_parent *parent);

int mdev_create_sysfs_files(struct device *dev, struct mdev_type *type);
void mdev_remove_sysfs_files(struct device *dev, struct mdev_type *type);
Expand Down
8 changes: 4 additions & 4 deletions drivers/vfio/mdev/mdev_sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ static struct kobj_type mdev_type_ktype = {
.release = mdev_type_release,
};

struct mdev_type *add_mdev_supported_type(struct parent_device *parent,
struct mdev_type *add_mdev_supported_type(struct mdev_parent *parent,
struct attribute_group *group)
{
struct mdev_type *type;
Expand Down Expand Up @@ -158,7 +158,7 @@ static void remove_mdev_supported_type(struct mdev_type *type)
kobject_put(&type->kobj);
}

static int add_mdev_supported_type_groups(struct parent_device *parent)
static int add_mdev_supported_type_groups(struct mdev_parent *parent)
{
int i;

Expand All @@ -183,7 +183,7 @@ static int add_mdev_supported_type_groups(struct parent_device *parent)
}

/* mdev sysfs functions */
void parent_remove_sysfs_files(struct parent_device *parent)
void parent_remove_sysfs_files(struct mdev_parent *parent)
{
struct mdev_type *type, *tmp;

Expand All @@ -196,7 +196,7 @@ void parent_remove_sysfs_files(struct parent_device *parent)
kset_unregister(parent->mdev_types_kset);
}

int parent_create_sysfs_files(struct parent_device *parent)
int parent_create_sysfs_files(struct mdev_parent *parent)
{
int ret;

Expand Down
12 changes: 6 additions & 6 deletions drivers/vfio/mdev/vfio_mdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
static int vfio_mdev_open(void *device_data)
{
struct mdev_device *mdev = device_data;
struct parent_device *parent = mdev->parent;
struct mdev_parent *parent = mdev->parent;
int ret;

if (unlikely(!parent->ops->open))
Expand All @@ -46,7 +46,7 @@ static int vfio_mdev_open(void *device_data)
static void vfio_mdev_release(void *device_data)
{
struct mdev_device *mdev = device_data;
struct parent_device *parent = mdev->parent;
struct mdev_parent *parent = mdev->parent;

if (likely(parent->ops->release))
parent->ops->release(mdev);
Expand All @@ -58,7 +58,7 @@ static long vfio_mdev_unlocked_ioctl(void *device_data,
unsigned int cmd, unsigned long arg)
{
struct mdev_device *mdev = device_data;
struct parent_device *parent = mdev->parent;
struct mdev_parent *parent = mdev->parent;

if (unlikely(!parent->ops->ioctl))
return -EINVAL;
Expand All @@ -70,7 +70,7 @@ static ssize_t vfio_mdev_read(void *device_data, char __user *buf,
size_t count, loff_t *ppos)
{
struct mdev_device *mdev = device_data;
struct parent_device *parent = mdev->parent;
struct mdev_parent *parent = mdev->parent;

if (unlikely(!parent->ops->read))
return -EINVAL;
Expand All @@ -82,7 +82,7 @@ static ssize_t vfio_mdev_write(void *device_data, const char __user *buf,
size_t count, loff_t *ppos)
{
struct mdev_device *mdev = device_data;
struct parent_device *parent = mdev->parent;
struct mdev_parent *parent = mdev->parent;

if (unlikely(!parent->ops->write))
return -EINVAL;
Expand All @@ -93,7 +93,7 @@ static ssize_t vfio_mdev_write(void *device_data, const char __user *buf,
static int vfio_mdev_mmap(void *device_data, struct vm_area_struct *vma)
{
struct mdev_device *mdev = device_data;
struct parent_device *parent = mdev->parent;
struct mdev_parent *parent = mdev->parent;

if (unlikely(!parent->ops->mmap))
return -EINVAL;
Expand Down
16 changes: 8 additions & 8 deletions include/linux/mdev.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
#define MDEV_H

/* Parent device */
struct parent_device {
struct device *dev;
const struct parent_ops *ops;
struct mdev_parent {
struct device *dev;
const struct mdev_parent_ops *ops;

/* internal */
struct kref ref;
Expand All @@ -29,7 +29,7 @@ struct parent_device {
/* Mediated device */
struct mdev_device {
struct device dev;
struct parent_device *parent;
struct mdev_parent *parent;
uuid_le uuid;
void *driver_data;

Expand All @@ -40,7 +40,7 @@ struct mdev_device {
};

/**
* struct parent_ops - Structure to be registered for each parent device to
* struct mdev_parent_ops - Structure to be registered for each parent device to
* register the device to mdev module.
*
* @owner: The module owner.
Expand Down Expand Up @@ -86,10 +86,10 @@ struct mdev_device {
* @mdev: mediated device structure
* @vma: vma structure
* Parent device that support mediated device should be registered with mdev
* module with parent_ops structure.
* module with mdev_parent_ops structure.
**/

struct parent_ops {
struct mdev_parent_ops {
struct module *owner;
const struct attribute_group **dev_attr_groups;
const struct attribute_group **mdev_attr_groups;
Expand Down Expand Up @@ -159,7 +159,7 @@ extern struct bus_type mdev_bus_type;
#define dev_is_mdev(d) ((d)->bus == &mdev_bus_type)

extern int mdev_register_device(struct device *dev,
const struct parent_ops *ops);
const struct mdev_parent_ops *ops);
extern void mdev_unregister_device(struct device *dev);

extern int mdev_register_driver(struct mdev_driver *drv, struct module *owner);
Expand Down
2 changes: 1 addition & 1 deletion samples/vfio-mdev/mtty.c
Original file line number Diff line number Diff line change
Expand Up @@ -1402,7 +1402,7 @@ struct attribute_group *mdev_type_groups[] = {
NULL,
};

struct parent_ops mdev_fops = {
struct mdev_parent_ops mdev_fops = {
.owner = THIS_MODULE,
.dev_attr_groups = mtty_dev_groups,
.mdev_attr_groups = mdev_dev_groups,
Expand Down

0 comments on commit 4293055

Please sign in to comment.