diff options
author | Sebastian Ott <sebott@linux.vnet.ibm.com> | 2010-10-25 10:10:34 -0400 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-10-25 10:10:19 -0400 |
commit | 585b954e1f2fa325d425b0786e4525ac7c9ae575 (patch) | |
tree | e79174793782e81820c7f6896284f7e341bf9e9d /arch/s390 | |
parent | eb4f5d93d70458ea644e0f46737f0bcf87280e83 (diff) |
[S390] cio: notify drivers of channel path events
This patch adds a notification mechanism to inform ccw drivers
about changes to channel paths, which occured while the device
is online.
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/include/asm/ccwdev.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/s390/include/asm/ccwdev.h b/arch/s390/include/asm/ccwdev.h index f3ba0fa98de6..e8501115eca8 100644 --- a/arch/s390/include/asm/ccwdev.h +++ b/arch/s390/include/asm/ccwdev.h | |||
@@ -92,6 +92,16 @@ struct ccw_device { | |||
92 | }; | 92 | }; |
93 | 93 | ||
94 | /* | 94 | /* |
95 | * Possible events used by the path_event notifier. | ||
96 | */ | ||
97 | #define PE_NONE 0x0 | ||
98 | #define PE_PATH_GONE 0x1 /* A path is no longer available. */ | ||
99 | #define PE_PATH_AVAILABLE 0x2 /* A path has become available and | ||
100 | was successfully verified. */ | ||
101 | #define PE_PATHGROUP_ESTABLISHED 0x4 /* A pathgroup was reset and had | ||
102 | to be established again. */ | ||
103 | |||
104 | /* | ||
95 | * Possible CIO actions triggered by the unit check handler. | 105 | * Possible CIO actions triggered by the unit check handler. |
96 | */ | 106 | */ |
97 | enum uc_todo { | 107 | enum uc_todo { |
@@ -109,6 +119,7 @@ enum uc_todo { | |||
109 | * @set_online: called when setting device online | 119 | * @set_online: called when setting device online |
110 | * @set_offline: called when setting device offline | 120 | * @set_offline: called when setting device offline |
111 | * @notify: notify driver of device state changes | 121 | * @notify: notify driver of device state changes |
122 | * @path_event: notify driver of channel path events | ||
112 | * @shutdown: called at device shutdown | 123 | * @shutdown: called at device shutdown |
113 | * @prepare: prepare for pm state transition | 124 | * @prepare: prepare for pm state transition |
114 | * @complete: undo work done in @prepare | 125 | * @complete: undo work done in @prepare |
@@ -127,6 +138,7 @@ struct ccw_driver { | |||
127 | int (*set_online) (struct ccw_device *); | 138 | int (*set_online) (struct ccw_device *); |
128 | int (*set_offline) (struct ccw_device *); | 139 | int (*set_offline) (struct ccw_device *); |
129 | int (*notify) (struct ccw_device *, int); | 140 | int (*notify) (struct ccw_device *, int); |
141 | void (*path_event) (struct ccw_device *, int *); | ||
130 | void (*shutdown) (struct ccw_device *); | 142 | void (*shutdown) (struct ccw_device *); |
131 | int (*prepare) (struct ccw_device *); | 143 | int (*prepare) (struct ccw_device *); |
132 | void (*complete) (struct ccw_device *); | 144 | void (*complete) (struct ccw_device *); |