[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>
This commit is contained in:
Cornelia Huck
2008-07-14 09:59:02 +02:00
committed by Heiko Carstens
parent 6ef556ccc8
commit 99611f8717
5 changed files with 43 additions and 36 deletions

View File

@@ -59,6 +59,7 @@ struct pgid {
} __attribute__ ((packed));
struct subchannel;
struct chp_link;
/**
* struct css_driver - device driver for subchannels
* @owner: owning module
@@ -77,7 +78,7 @@ struct css_driver {
unsigned int subchannel_type;
struct device_driver drv;
void (*irq)(struct subchannel *);
int (*chp_event)(struct subchannel *, void *, int);
int (*chp_event)(struct subchannel *, struct chp_link *, int);
int (*sch_event)(struct subchannel *, int);
int (*probe)(struct subchannel *);
int (*remove)(struct subchannel *);