diff options
author | Cornelia Huck <cornelia.huck@de.ibm.com> | 2006-12-08 09:54:28 -0500 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2006-12-08 09:54:28 -0500 |
commit | d7b5a4c94f49131811112526f7d404a50f0b5ca7 (patch) | |
tree | 159cb6717e16339b821315c0bc6b17b6f5df5119 /drivers/s390/cio/css.h | |
parent | 2ec2298412e1ab4674b3780005058d4f0b8bd858 (diff) |
[S390] Support for disconnected devices reappearing on another subchannel.
- create a 'pseudo_subchannel' per channel subsystem (the 'orphanage')
- use the orphanage as a shelter for ccw_devices that can't remain on the same
subchannel
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/css.h')
-rw-r--r-- | drivers/s390/cio/css.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/s390/cio/css.h b/drivers/s390/cio/css.h index ac845c1ebf83..71fe380f86f6 100644 --- a/drivers/s390/cio/css.h +++ b/drivers/s390/cio/css.h | |||
@@ -160,6 +160,8 @@ struct channel_subsystem { | |||
160 | int cm_enabled; | 160 | int cm_enabled; |
161 | void *cub_addr1; | 161 | void *cub_addr1; |
162 | void *cub_addr2; | 162 | void *cub_addr2; |
163 | /* for orphaned ccw devices */ | ||
164 | struct subchannel *pseudo_subchannel; | ||
163 | }; | 165 | }; |
164 | #define to_css(dev) container_of(dev, struct channel_subsystem, device) | 166 | #define to_css(dev) container_of(dev, struct channel_subsystem, device) |
165 | 167 | ||
@@ -187,6 +189,8 @@ void css_clear_subchannel_slow_list(void); | |||
187 | int css_slow_subchannels_exist(void); | 189 | int css_slow_subchannels_exist(void); |
188 | extern int need_rescan; | 190 | extern int need_rescan; |
189 | 191 | ||
192 | int sch_is_pseudo_sch(struct subchannel *); | ||
193 | |||
190 | extern struct workqueue_struct *slow_path_wq; | 194 | extern struct workqueue_struct *slow_path_wq; |
191 | extern struct work_struct slow_path_work; | 195 | extern struct work_struct slow_path_work; |
192 | 196 | ||