aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorSebastian Ott <sebott@linux.vnet.ibm.com>2010-10-25 10:10:34 -0400
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>2010-10-25 10:10:19 -0400
commit585b954e1f2fa325d425b0786e4525ac7c9ae575 (patch)
treee79174793782e81820c7f6896284f7e341bf9e9d /arch/s390
parenteb4f5d93d70458ea644e0f46737f0bcf87280e83 (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.h12
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 */
97enum uc_todo { 107enum 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 *);