lkml.org 
[lkml]   [2010]   [Mar]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 6/7] xen: Unified checking for Xen of PV drivers to xenbus_register_frontend()
    Date

    Signed-off-by: Sheng Yang <sheng@linux.intel.com>
    ---
    drivers/block/xen-blkfront.c | 3 ---
    drivers/input/xen-kbdfront.c | 3 ---
    drivers/net/xen-netfront.c | 5 -----
    drivers/video/xen-fbfront.c | 3 ---
    include/xen/xenbus.h | 3 +++
    5 files changed, 3 insertions(+), 14 deletions(-)

    diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
    index 05a31e5..d6465c1 100644
    --- a/drivers/block/xen-blkfront.c
    +++ b/drivers/block/xen-blkfront.c
    @@ -1068,9 +1068,6 @@ static struct xenbus_driver blkfront = {

    static int __init xlblk_init(void)
    {
    - if (!xen_domain())
    - return -ENODEV;
    -
    if (register_blkdev(XENVBD_MAJOR, DEV_NAME)) {
    printk(KERN_WARNING "xen_blk: can't get major %d with name %s\n",
    XENVBD_MAJOR, DEV_NAME);
    diff --git a/drivers/input/xen-kbdfront.c b/drivers/input/xen-kbdfront.c
    index c721c0a..febffc3 100644
    --- a/drivers/input/xen-kbdfront.c
    +++ b/drivers/input/xen-kbdfront.c
    @@ -338,9 +338,6 @@ static struct xenbus_driver xenkbd_driver = {

    static int __init xenkbd_init(void)
    {
    - if (!xen_domain())
    - return -ENODEV;
    -
    /* Nothing to do if running in dom0. */
    if (xen_initial_domain())
    return -ENODEV;
    diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
    index a869b45..d89fd0b 100644
    --- a/drivers/net/xen-netfront.c
    +++ b/drivers/net/xen-netfront.c
    @@ -1804,14 +1804,9 @@ static struct xenbus_driver netfront_driver = {

    static int __init netif_init(void)
    {
    - if (!xen_domain())
    - return -ENODEV;
    -
    if (xen_initial_domain())
    return 0;

    - printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n");
    -
    return xenbus_register_frontend(&netfront_driver);
    }
    module_init(netif_init);
    diff --git a/drivers/video/xen-fbfront.c b/drivers/video/xen-fbfront.c
    index 603598f..daff72f 100644
    --- a/drivers/video/xen-fbfront.c
    +++ b/drivers/video/xen-fbfront.c
    @@ -683,9 +683,6 @@ static struct xenbus_driver xenfb_driver = {

    static int __init xenfb_init(void)
    {
    - if (!xen_domain())
    - return -ENODEV;
    -
    /* Nothing to do if running in dom0. */
    if (xen_initial_domain())
    return -ENODEV;
    diff --git a/include/xen/xenbus.h b/include/xen/xenbus.h
    index b9763ba..9f68cf5 100644
    --- a/include/xen/xenbus.h
    +++ b/include/xen/xenbus.h
    @@ -43,6 +43,7 @@
    #include <xen/interface/grant_table.h>
    #include <xen/interface/io/xenbus.h>
    #include <xen/interface/io/xs_wire.h>
    +#include <xen/xen.h>

    /* Register callback to watch this node. */
    struct xenbus_watch
    @@ -112,6 +113,8 @@ static inline int __must_check
    xenbus_register_frontend(struct xenbus_driver *drv)
    {
    WARN_ON(drv->owner != THIS_MODULE);
    + if (!xen_domain())
    + return -ENODEV;
    return __xenbus_register_frontend(drv, THIS_MODULE, KBUILD_MODNAME);
    }

    --
    1.5.4.5


    \
     
     \ /
      Last update: 2010-03-01 10:41    [W:0.022 / U:60.536 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site