Commit d756c73d authored by Wanlong Gao's avatar Wanlong Gao Committed by Zefan Li

virtio: use dev_to_virtio wrapper in virtio

commit 9bffdca8 upstream.

Use dev_to_virtio wrapper in virtio to make code clearly.

Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Signed-off-by: default avatarWanlong Gao <gaowanlong@cn.fujitsu.com>
Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
Signed-off-by: default avatarZefan Li <lizefan@huawei.com>
parent 3d8b6705
...@@ -9,33 +9,32 @@ static unsigned int dev_index; ...@@ -9,33 +9,32 @@ static unsigned int dev_index;
static ssize_t device_show(struct device *_d, static ssize_t device_show(struct device *_d,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
{ {
struct virtio_device *dev = container_of(_d,struct virtio_device,dev); struct virtio_device *dev = dev_to_virtio(_d);
return sprintf(buf, "0x%04x\n", dev->id.device); return sprintf(buf, "0x%04x\n", dev->id.device);
} }
static ssize_t vendor_show(struct device *_d, static ssize_t vendor_show(struct device *_d,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
{ {
struct virtio_device *dev = container_of(_d,struct virtio_device,dev); struct virtio_device *dev = dev_to_virtio(_d);
return sprintf(buf, "0x%04x\n", dev->id.vendor); return sprintf(buf, "0x%04x\n", dev->id.vendor);
} }
static ssize_t status_show(struct device *_d, static ssize_t status_show(struct device *_d,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
{ {
struct virtio_device *dev = container_of(_d,struct virtio_device,dev); struct virtio_device *dev = dev_to_virtio(_d);
return sprintf(buf, "0x%08x\n", dev->config->get_status(dev)); return sprintf(buf, "0x%08x\n", dev->config->get_status(dev));
} }
static ssize_t modalias_show(struct device *_d, static ssize_t modalias_show(struct device *_d,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
{ {
struct virtio_device *dev = container_of(_d,struct virtio_device,dev); struct virtio_device *dev = dev_to_virtio(_d);
return sprintf(buf, "virtio:d%08Xv%08X\n", return sprintf(buf, "virtio:d%08Xv%08X\n",
dev->id.device, dev->id.vendor); dev->id.device, dev->id.vendor);
} }
static ssize_t features_show(struct device *_d, static ssize_t features_show(struct device *_d,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
{ {
struct virtio_device *dev = container_of(_d, struct virtio_device, dev); struct virtio_device *dev = dev_to_virtio(_d);
unsigned int i; unsigned int i;
ssize_t len = 0; ssize_t len = 0;
...@@ -70,7 +69,7 @@ static inline int virtio_id_match(const struct virtio_device *dev, ...@@ -70,7 +69,7 @@ static inline int virtio_id_match(const struct virtio_device *dev,
static int virtio_dev_match(struct device *_dv, struct device_driver *_dr) static int virtio_dev_match(struct device *_dv, struct device_driver *_dr)
{ {
unsigned int i; unsigned int i;
struct virtio_device *dev = container_of(_dv,struct virtio_device,dev); struct virtio_device *dev = dev_to_virtio(_dv);
const struct virtio_device_id *ids; const struct virtio_device_id *ids;
ids = container_of(_dr, struct virtio_driver, driver)->id_table; ids = container_of(_dr, struct virtio_driver, driver)->id_table;
...@@ -82,7 +81,7 @@ static int virtio_dev_match(struct device *_dv, struct device_driver *_dr) ...@@ -82,7 +81,7 @@ static int virtio_dev_match(struct device *_dv, struct device_driver *_dr)
static int virtio_uevent(struct device *_dv, struct kobj_uevent_env *env) static int virtio_uevent(struct device *_dv, struct kobj_uevent_env *env)
{ {
struct virtio_device *dev = container_of(_dv,struct virtio_device,dev); struct virtio_device *dev = dev_to_virtio(_dv);
return add_uevent_var(env, "MODALIAS=virtio:d%08Xv%08X", return add_uevent_var(env, "MODALIAS=virtio:d%08Xv%08X",
dev->id.device, dev->id.vendor); dev->id.device, dev->id.vendor);
...@@ -110,7 +109,7 @@ EXPORT_SYMBOL_GPL(virtio_check_driver_offered_feature); ...@@ -110,7 +109,7 @@ EXPORT_SYMBOL_GPL(virtio_check_driver_offered_feature);
static int virtio_dev_probe(struct device *_d) static int virtio_dev_probe(struct device *_d)
{ {
int err, i; int err, i;
struct virtio_device *dev = container_of(_d,struct virtio_device,dev); struct virtio_device *dev = dev_to_virtio(_d);
struct virtio_driver *drv = container_of(dev->dev.driver, struct virtio_driver *drv = container_of(dev->dev.driver,
struct virtio_driver, driver); struct virtio_driver, driver);
u32 device_features; u32 device_features;
...@@ -148,7 +147,7 @@ static int virtio_dev_probe(struct device *_d) ...@@ -148,7 +147,7 @@ static int virtio_dev_probe(struct device *_d)
static int virtio_dev_remove(struct device *_d) static int virtio_dev_remove(struct device *_d)
{ {
struct virtio_device *dev = container_of(_d,struct virtio_device,dev); struct virtio_device *dev = dev_to_virtio(_d);
struct virtio_driver *drv = container_of(dev->dev.driver, struct virtio_driver *drv = container_of(dev->dev.driver,
struct virtio_driver, driver); struct virtio_driver, driver);
......
...@@ -75,7 +75,11 @@ struct virtio_device { ...@@ -75,7 +75,11 @@ struct virtio_device {
void *priv; void *priv;
}; };
#define dev_to_virtio(dev) container_of(dev, struct virtio_device, dev) static inline struct virtio_device *dev_to_virtio(struct device *_dev)
{
return container_of(_dev, struct virtio_device, dev);
}
int register_virtio_device(struct virtio_device *dev); int register_virtio_device(struct virtio_device *dev);
void unregister_virtio_device(struct virtio_device *dev); void unregister_virtio_device(struct virtio_device *dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment