lkml.org 
[lkml]   [2015]   [Feb]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.2 082/152] virtio: use dev_to_virtio wrapper in virtio
    3.2.67-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Wanlong Gao <gaowanlong@cn.fujitsu.com>

    commit 9bffdca8c64a72ac54c47a552734ab457bc720d4 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: Wanlong Gao <gaowanlong@cn.fujitsu.com>
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    drivers/virtio/virtio.c | 19 +++++++++----------
    include/linux/virtio.h | 6 +++++-
    2 files changed, 14 insertions(+), 11 deletions(-)

    --- a/drivers/virtio/virtio.c
    +++ b/drivers/virtio/virtio.c
    @@ -9,33 +9,32 @@ static unsigned int dev_index;
    static ssize_t device_show(struct device *_d,
    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);
    }
    static ssize_t vendor_show(struct device *_d,
    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);
    }
    static ssize_t status_show(struct device *_d,
    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));
    }
    static ssize_t modalias_show(struct device *_d,
    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",
    dev->id.device, dev->id.vendor);
    }
    static ssize_t features_show(struct device *_d,
    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;
    ssize_t len = 0;

    @@ -70,7 +69,7 @@ static inline int virtio_id_match(const
    static int virtio_dev_match(struct device *_dv, struct device_driver *_dr)
    {
    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;

    ids = container_of(_dr, struct virtio_driver, driver)->id_table;
    @@ -82,7 +81,7 @@ static int virtio_dev_match(struct devic

    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",
    dev->id.device, dev->id.vendor);
    @@ -110,7 +109,7 @@ EXPORT_SYMBOL_GPL(virtio_check_driver_of
    static int virtio_dev_probe(struct device *_d)
    {
    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, driver);
    u32 device_features;
    @@ -148,7 +147,7 @@ static int virtio_dev_probe(struct devic

    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, driver);

    --- a/include/linux/virtio.h
    +++ b/include/linux/virtio.h
    @@ -127,7 +127,11 @@ struct virtio_device {
    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);
    void unregister_virtio_device(struct virtio_device *dev);



    \
     
     \ /
      Last update: 2015-02-17 03:21    [W:4.002 / U:0.628 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site