projects
/
linux-2.6-microblaze.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vfio/mdev: remove unnecessary NULL check in mbochs_create()
[linux-2.6-microblaze.git]
/
samples
/
vfio-mdev
/
mdpy.c
diff --git
a/samples/vfio-mdev/mdpy.c
b/samples/vfio-mdev/mdpy.c
index
9894693
..
e889c1c
100644
(file)
--- a/
samples/vfio-mdev/mdpy.c
+++ b/
samples/vfio-mdev/mdpy.c
@@
-99,16
+99,6
@@
struct mdev_state {
void *memblk;
};
void *memblk;
};
-static const struct mdpy_type *mdpy_find_type(struct kobject *kobj)
-{
- int i;
-
- for (i = 0; i < ARRAY_SIZE(mdpy_types); i++)
- if (strcmp(mdpy_types[i].name, kobj->name) == 0)
- return mdpy_types + i;
- return NULL;
-}
-
static void mdpy_create_config_space(struct mdev_state *mdev_state)
{
STORE_LE16((u16 *) &mdev_state->vconfig[PCI_VENDOR_ID],
static void mdpy_create_config_space(struct mdev_state *mdev_state)
{
STORE_LE16((u16 *) &mdev_state->vconfig[PCI_VENDOR_ID],
@@
-226,9
+216,10
@@
static int mdpy_reset(struct mdev_device *mdev)
return 0;
}
return 0;
}
-static int mdpy_create(struct
kobject *kobj, struct
mdev_device *mdev)
+static int mdpy_create(struct mdev_device *mdev)
{
{
- const struct mdpy_type *type = mdpy_find_type(kobj);
+ const struct mdpy_type *type =
+ &mdpy_types[mdev_get_type_group_id(mdev)];
struct device *dev = mdev_dev(mdev);
struct mdev_state *mdev_state;
u32 fbsize;
struct device *dev = mdev_dev(mdev);
struct mdev_state *mdev_state;
u32 fbsize;
@@
-246,8
+237,6
@@
static int mdpy_create(struct kobject *kobj, struct mdev_device *mdev)
return -ENOMEM;
}
return -ENOMEM;
}
- if (!type)
- type = &mdpy_types[0];
fbsize = roundup_pow_of_two(type->width * type->height * type->bytepp);
mdev_state->memblk = vmalloc_user(fbsize);
fbsize = roundup_pow_of_two(type->width * type->height * type->bytepp);
mdev_state->memblk = vmalloc_user(fbsize);
@@
-256,8
+245,8
@@
static int mdpy_create(struct kobject *kobj, struct mdev_device *mdev)
kfree(mdev_state);
return -ENOMEM;
}
kfree(mdev_state);
return -ENOMEM;
}
- dev_info(dev, "%s: %s (%dx%d)\n",
-
__func__, kobj->name, type->width,
type->height);
+ dev_info(dev, "%s: %s (%dx%d)\n",
__func__, type->name, type->width,
+ type->height);
mutex_init(&mdev_state->ops_lock);
mdev_state->mdev = mdev;
mutex_init(&mdev_state->ops_lock);
mdev_state->mdev = mdev;
@@
-417,9
+406,7
@@
static int mdpy_mmap(struct mdev_device *mdev, struct vm_area_struct *vma)
if ((vma->vm_flags & VM_SHARED) == 0)
return -EINVAL;
if ((vma->vm_flags & VM_SHARED) == 0)
return -EINVAL;
- return remap_vmalloc_range_partial(vma, vma->vm_start,
- mdev_state->memblk, 0,
- vma->vm_end - vma->vm_start);
+ return remap_vmalloc_range(vma, mdev_state->memblk, 0);
}
static int mdpy_get_region_info(struct mdev_device *mdev,
}
static int mdpy_get_region_info(struct mdev_device *mdev,
@@
-658,42
+645,46
@@
static const struct attribute_group mdev_dev_group = {
.attrs = mdev_dev_attrs,
};
.attrs = mdev_dev_attrs,
};
-const struct attribute_group *mdev_dev_groups[] = {
+
static
const struct attribute_group *mdev_dev_groups[] = {
&mdev_dev_group,
NULL,
};
&mdev_dev_group,
NULL,
};
-static ssize_t
-
name_show(struct kobject *kobj, struct device *dev
, char *buf)
+static ssize_t
name_show(struct mdev_type *mtype,
+
struct mdev_type_attribute *attr
, char *buf)
{
{
- return sprintf(buf, "%s\n", kobj->name);
+ const struct mdpy_type *type =
+ &mdpy_types[mtype_get_type_group_id(mtype)];
+
+ return sprintf(buf, "%s\n", type->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)
+static ssize_t
description_show(struct mdev_type *mtype,
+
struct mdev_type_attribute *attr
, char *buf)
{
{
- const struct mdpy_type *type = mdpy_find_type(kobj);
+ const struct mdpy_type *type =
+ &mdpy_types[mtype_get_type_group_id(mtype)];
return sprintf(buf, "virtual display, %dx%d framebuffer\n",
return sprintf(buf, "virtual display, %dx%d framebuffer\n",
- type ? type->width : 0,
- type ? type->height : 0);
+ type->width, type->height);
}
}
-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)
+static ssize_t available_instances_show(struct mdev_type *mtype,
+ struct mdev_type_attribute *attr,
+ char *buf)
{
return sprintf(buf, "%d\n", max_devices - mdpy_count);
}
{
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)
+static ssize_t device_api_show(struct
mdev_type *mtype
,
+
struct mdev_type_attribute *attr,
char *buf)
{
return sprintf(buf, "%s\n", VFIO_DEVICE_API_PCI_STRING);
}
{
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,
static struct attribute *mdev_types_attrs[] = {
&mdev_type_attr_name.attr,