lkml.org 
[lkml]   [2008]   [Feb]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 04/18] cio: Add shutdown callback for ccwgroup.
    From: Cornelia Huck <cornelia.huck@de.ibm.com>

    This intendeds to make proper shutdown of qeth devices easier.

    Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    ---

    drivers/s390/cio/ccwgroup.c | 12 ++++++++++++
    include/asm-s390/ccwgroup.h | 2 ++
    2 files changed, 14 insertions(+)

    Index: quilt-2.6/drivers/s390/cio/ccwgroup.c
    ===================================================================
    --- quilt-2.6.orig/drivers/s390/cio/ccwgroup.c
    +++ quilt-2.6/drivers/s390/cio/ccwgroup.c
    @@ -391,12 +391,24 @@ ccwgroup_remove (struct device *dev)
    return 0;
    }

    +static void ccwgroup_shutdown(struct device *dev)
    +{
    + struct ccwgroup_device *gdev;
    + struct ccwgroup_driver *gdrv;
    +
    + gdev = to_ccwgroupdev(dev);
    + gdrv = to_ccwgroupdrv(dev->driver);
    + if (gdrv && gdrv->shutdown)
    + gdrv->shutdown(gdev);
    +}
    +
    static struct bus_type ccwgroup_bus_type = {
    .name = "ccwgroup",
    .match = ccwgroup_bus_match,
    .uevent = ccwgroup_uevent,
    .probe = ccwgroup_probe,
    .remove = ccwgroup_remove,
    + .shutdown = ccwgroup_shutdown,
    };

    /**
    Index: quilt-2.6/include/asm-s390/ccwgroup.h
    ===================================================================
    --- quilt-2.6.orig/include/asm-s390/ccwgroup.h
    +++ quilt-2.6/include/asm-s390/ccwgroup.h
    @@ -37,6 +37,7 @@ struct ccwgroup_device {
    * @remove: function called on remove
    * @set_online: function called when device is set online
    * @set_offline: function called when device is set offline
    + * @shutdown: function called when device is shut down
    * @driver: embedded driver structure
    */
    struct ccwgroup_driver {
    @@ -49,6 +50,7 @@ struct ccwgroup_driver {
    void (*remove) (struct ccwgroup_device *);
    int (*set_online) (struct ccwgroup_device *);
    int (*set_offline) (struct ccwgroup_device *);
    + void (*shutdown)(struct ccwgroup_device *);

    struct device_driver driver;
    };
    --
    blue skies,
    Martin.

    "Reality continues to ruin my life." - Calvin.



    \
     
     \ /
      Last update: 2008-02-05 16:49    [W:2.561 / U:0.120 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site