aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/css.h
diff options
context:
space:
mode:
authorCornelia Huck <cohuck@de.ibm.com>2006-01-06 03:19:21 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-06 11:33:51 -0500
commita8237fc4108060402d904bea5e1062e22e731969 (patch)
treefc19e33ea8bbe664c33fba6c78b34e497f2cc478 /drivers/s390/cio/css.h
parent8129ee164267dc030b8e1d541ee3643c0b9f2fa1 (diff)
[PATCH] s390: introduce struct subchannel_id
This patch introduces a struct subchannel_id containing the subchannel number (formerly referred to as "irq") and switches code formerly relying on the subchannel number over to it. While we're touching inline assemblies anyway, make sure they have correct memory constraints. Signed-off-by: Cornelia Huck <cohuck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/s390/cio/css.h')
-rw-r--r--drivers/s390/cio/css.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/s390/cio/css.h b/drivers/s390/cio/css.h
index 2004a6c49388..f26e16daecb5 100644
--- a/drivers/s390/cio/css.h
+++ b/drivers/s390/cio/css.h
@@ -6,6 +6,8 @@
6 6
7#include <asm/cio.h> 7#include <asm/cio.h>
8 8
9#include "schid.h"
10
9/* 11/*
10 * path grouping stuff 12 * path grouping stuff
11 */ 13 */
@@ -68,7 +70,7 @@ struct ccw_device_private {
68 atomic_t onoff; 70 atomic_t onoff;
69 unsigned long registered; 71 unsigned long registered;
70 __u16 devno; /* device number */ 72 __u16 devno; /* device number */
71 __u16 irq; /* subchannel number */ 73 __u16 sch_no; /* subchannel number */
72 __u8 imask; /* lpm mask for SNID/SID/SPGID */ 74 __u8 imask; /* lpm mask for SNID/SID/SPGID */
73 int iretry; /* retry counter SNID/SID/SPGID */ 75 int iretry; /* retry counter SNID/SID/SPGID */
74 struct { 76 struct {
@@ -121,12 +123,11 @@ struct css_driver {
121extern struct bus_type css_bus_type; 123extern struct bus_type css_bus_type;
122extern struct css_driver io_subchannel_driver; 124extern struct css_driver io_subchannel_driver;
123 125
124int css_probe_device(int irq); 126extern int css_probe_device(struct subchannel_id);
125extern struct subchannel * get_subchannel_by_schid(int irq); 127extern struct subchannel * get_subchannel_by_schid(struct subchannel_id);
126extern unsigned int highest_subchannel;
127extern int css_init_done; 128extern int css_init_done;
128 129
129#define __MAX_SUBCHANNELS 65536 130#define __MAX_SUBCHANNEL 65535
130 131
131extern struct bus_type css_bus_type; 132extern struct bus_type css_bus_type;
132extern struct device css_bus_device; 133extern struct device css_bus_device;
@@ -144,7 +145,7 @@ void device_set_waiting(struct subchannel *);
144void device_kill_pending_timer(struct subchannel *); 145void device_kill_pending_timer(struct subchannel *);
145 146
146/* Helper functions to build lists for the slow path. */ 147/* Helper functions to build lists for the slow path. */
147int css_enqueue_subchannel_slow(unsigned long schid); 148extern int css_enqueue_subchannel_slow(struct subchannel_id schid);
148void css_walk_subchannel_slow_list(void (*fn)(unsigned long)); 149void css_walk_subchannel_slow_list(void (*fn)(unsigned long));
149void css_clear_subchannel_slow_list(void); 150void css_clear_subchannel_slow_list(void);
150int css_slow_subchannels_exist(void); 151int css_slow_subchannels_exist(void);