vfio/mdev: Fix missing static's on MDEV_TYPE_ATTR's

commit 6cbf507fd0 upstream.

These should always be prefixed with static, otherwise compilation
will fail on non-modular builds with

ld: samples/vfio-mdev/mbochs.o:(.data+0x2e0): multiple definition of `mdev_type_attr_name'; samples/vfio-mdev/mdpy.o:(.data+0x240): first defined here

Fixes: a5e6e6505f ("sample: vfio bochs vbe display (host device for bochs-drm)")
Fixes: d61fc96f47 ("sample: vfio mdev display - host device")
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Message-Id: <1-v2-d36939638fc6+d54-vfio2_jgg@nvidia.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Chen Zhuo <sagazchen@tencent.com>
Signed-off-by: Xinghui Li <korantli@tencent.com>
This commit is contained in:
Jason Gunthorpe 2021-04-06 16:40:24 -03:00 committed by Jianping Liu
parent db0f78b30b
commit bc53688a9e
2 changed files with 10 additions and 10 deletions

View File

@ -1349,7 +1349,7 @@ static const struct attribute_group mdev_dev_group = {
.attrs = mdev_dev_attrs,
};
const struct attribute_group *mdev_dev_groups[] = {
static const struct attribute_group *mdev_dev_groups[] = {
&mdev_dev_group,
NULL,
};
@ -1359,7 +1359,7 @@ name_show(struct kobject *kobj, struct device *dev, char *buf)
{
return sprintf(buf, "%s\n", kobj->name);
}
MDEV_TYPE_ATTR_RO(name);
static MDEV_TYPE_ATTR_RO(name);
static ssize_t
description_show(struct kobject *kobj, struct device *dev, char *buf)
@ -1369,7 +1369,7 @@ description_show(struct kobject *kobj, struct device *dev, char *buf)
return sprintf(buf, "virtual display, %d MB video memory\n",
type ? type->mbytes : 0);
}
MDEV_TYPE_ATTR_RO(description);
static MDEV_TYPE_ATTR_RO(description);
static ssize_t
available_instances_show(struct kobject *kobj, struct device *dev, char *buf)
@ -1379,14 +1379,14 @@ available_instances_show(struct kobject *kobj, struct device *dev, char *buf)
return sprintf(buf, "%d\n", count);
}
MDEV_TYPE_ATTR_RO(available_instances);
static MDEV_TYPE_ATTR_RO(available_instances);
static ssize_t device_api_show(struct kobject *kobj, struct device *dev,
char *buf)
{
return sprintf(buf, "%s\n", VFIO_DEVICE_API_PCI_STRING);
}
MDEV_TYPE_ATTR_RO(device_api);
static MDEV_TYPE_ATTR_RO(device_api);
static struct attribute *mdev_types_attrs[] = {
&mdev_type_attr_name.attr,

View File

@ -658,7 +658,7 @@ static const struct attribute_group mdev_dev_group = {
.attrs = mdev_dev_attrs,
};
const struct attribute_group *mdev_dev_groups[] = {
static const struct attribute_group *mdev_dev_groups[] = {
&mdev_dev_group,
NULL,
};
@ -668,7 +668,7 @@ name_show(struct kobject *kobj, struct device *dev, char *buf)
{
return sprintf(buf, "%s\n", kobj->name);
}
MDEV_TYPE_ATTR_RO(name);
static MDEV_TYPE_ATTR_RO(name);
static ssize_t
description_show(struct kobject *kobj, struct device *dev, char *buf)
@ -679,21 +679,21 @@ description_show(struct kobject *kobj, struct device *dev, char *buf)
type ? type->width : 0,
type ? type->height : 0);
}
MDEV_TYPE_ATTR_RO(description);
static MDEV_TYPE_ATTR_RO(description);
static ssize_t
available_instances_show(struct kobject *kobj, struct device *dev, char *buf)
{
return sprintf(buf, "%d\n", max_devices - mdpy_count);
}
MDEV_TYPE_ATTR_RO(available_instances);
static MDEV_TYPE_ATTR_RO(available_instances);
static ssize_t device_api_show(struct kobject *kobj, struct device *dev,
char *buf)
{
return sprintf(buf, "%s\n", VFIO_DEVICE_API_PCI_STRING);
}
MDEV_TYPE_ATTR_RO(device_api);
static MDEV_TYPE_ATTR_RO(device_api);
static struct attribute *mdev_types_attrs[] = {
&mdev_type_attr_name.attr,