diff options
author | Cornelia Huck <cornelia.huck@de.ibm.com> | 2008-07-14 03:59:02 -0400 |
---|---|---|
committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2008-07-14 04:02:11 -0400 |
commit | 99611f87176b2a908d8c66ab19a5fc550a3cd13a (patch) | |
tree | 2c9898f347d00aeab5ffcbf74c90469efb86043e /drivers/s390/cio/css.h | |
parent | 6ef556ccc8fd256259745c4f0d0ab65aaf703824 (diff) |
[S390] cio: Repair chpid event handling.
Passing the affected chpid in chp_event() worked only by
chance since chpid is the first element in res_acc_data.
Make it work properly by generalizing res_acc_data as
chp_link and always passing around a properly filled out
chp_link structure in chp_event().
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/css.h')
-rw-r--r-- | drivers/s390/cio/css.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/s390/cio/css.h b/drivers/s390/cio/css.h index 3ec3dc5a1e5e..38bf9ddb8412 100644 --- a/drivers/s390/cio/css.h +++ b/drivers/s390/cio/css.h | |||
@@ -59,6 +59,7 @@ struct pgid { | |||
59 | } __attribute__ ((packed)); | 59 | } __attribute__ ((packed)); |
60 | 60 | ||
61 | struct subchannel; | 61 | struct subchannel; |
62 | struct chp_link; | ||
62 | /** | 63 | /** |
63 | * struct css_driver - device driver for subchannels | 64 | * struct css_driver - device driver for subchannels |
64 | * @owner: owning module | 65 | * @owner: owning module |
@@ -77,7 +78,7 @@ struct css_driver { | |||
77 | unsigned int subchannel_type; | 78 | unsigned int subchannel_type; |
78 | struct device_driver drv; | 79 | struct device_driver drv; |
79 | void (*irq)(struct subchannel *); | 80 | void (*irq)(struct subchannel *); |
80 | int (*chp_event)(struct subchannel *, void *, int); | 81 | int (*chp_event)(struct subchannel *, struct chp_link *, int); |
81 | int (*sch_event)(struct subchannel *, int); | 82 | int (*sch_event)(struct subchannel *, int); |
82 | int (*probe)(struct subchannel *); | 83 | int (*probe)(struct subchannel *); |
83 | int (*remove)(struct subchannel *); | 84 | int (*remove)(struct subchannel *); |