aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/css.h
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2008-07-14 03:59:02 -0400
committerHeiko Carstens <heiko.carstens@de.ibm.com>2008-07-14 04:02:11 -0400
commit99611f87176b2a908d8c66ab19a5fc550a3cd13a (patch)
tree2c9898f347d00aeab5ffcbf74c90469efb86043e /drivers/s390/cio/css.h
parent6ef556ccc8fd256259745c4f0d0ab65aaf703824 (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.h3
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
61struct subchannel; 61struct subchannel;
62struct 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 *);