aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/css.h
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2006-12-08 09:54:28 -0500
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2006-12-08 09:54:28 -0500
commitd7b5a4c94f49131811112526f7d404a50f0b5ca7 (patch)
tree159cb6717e16339b821315c0bc6b17b6f5df5119 /drivers/s390/cio/css.h
parent2ec2298412e1ab4674b3780005058d4f0b8bd858 (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.h4
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);
187int css_slow_subchannels_exist(void); 189int css_slow_subchannels_exist(void);
188extern int need_rescan; 190extern int need_rescan;
189 191
192int sch_is_pseudo_sch(struct subchannel *);
193
190extern struct workqueue_struct *slow_path_wq; 194extern struct workqueue_struct *slow_path_wq;
191extern struct work_struct slow_path_work; 195extern struct work_struct slow_path_work;
192 196