aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/chsc.h
diff options
context:
space:
mode:
authorPeter Oberparleiter <peter.oberparleiter@de.ibm.com>2007-04-27 10:01:28 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2007-04-27 10:01:38 -0400
commite6b6e10ac1de116fc6d2288f185393014851cccf (patch)
tree85602cd6aed77d36cf87cbc05ac380c568e757ac /drivers/s390/cio/chsc.h
parentd120b2a4e60cc9e62e7cc5dcf049100af3745cc4 (diff)
[S390] cio: Introduce separate files for channel-path related code.
Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/chsc.h')
-rw-r--r--drivers/s390/cio/chsc.h28
1 files changed, 7 insertions, 21 deletions
diff --git a/drivers/s390/cio/chsc.h b/drivers/s390/cio/chsc.h
index 2949c85b6d92..0e40defc6087 100644
--- a/drivers/s390/cio/chsc.h
+++ b/drivers/s390/cio/chsc.h
@@ -5,10 +5,6 @@
5#include <linux/device.h> 5#include <linux/device.h>
6#include "chpid.h" 6#include "chpid.h"
7 7
8#define CHSC_SEI_ACC_CHPID 1
9#define CHSC_SEI_ACC_LINKADDR 2
10#define CHSC_SEI_ACC_FULLLINKADDR 3
11
12#define CHSC_SDA_OC_MSS 0x2 8#define CHSC_SDA_OC_MSS 0x2
13 9
14struct chsc_header { 10struct chsc_header {
@@ -37,23 +33,10 @@ struct channel_path_desc {
37 u8 chpp; 33 u8 chpp;
38} __attribute__ ((packed)); 34} __attribute__ ((packed));
39 35
40struct channel_path { 36struct channel_path;
41 struct chp_id chpid;
42 int state;
43 struct channel_path_desc desc;
44 /* Channel-measurement related stuff: */
45 int cmg;
46 int shared;
47 void *cmg_chars;
48 struct device dev;
49};
50 37
51extern void s390_process_css( void );
52extern void chsc_validate_chpids(struct subchannel *);
53extern void chpid_is_actually_online(struct chp_id);
54extern int css_get_ssd_info(struct subchannel *); 38extern int css_get_ssd_info(struct subchannel *);
55extern int chsc_process_crw(void); 39extern int chsc_process_crw(void);
56extern int chp_process_crw(int, int);
57 40
58struct css_general_char { 41struct css_general_char {
59 u64 : 41; 42 u64 : 41;
@@ -89,12 +72,15 @@ extern struct css_chsc_char css_chsc_characteristics;
89extern int chsc_determine_css_characteristics(void); 72extern int chsc_determine_css_characteristics(void);
90extern int css_characteristics_avail; 73extern int css_characteristics_avail;
91 74
92extern void *chsc_get_chp_desc(struct subchannel*, int);
93
94extern int chsc_enable_facility(int); 75extern int chsc_enable_facility(int);
95struct channel_subsystem; 76struct channel_subsystem;
96extern int chsc_secm(struct channel_subsystem *, int); 77extern int chsc_secm(struct channel_subsystem *, int);
97 78
98#define to_channelpath(device) container_of(device, struct channel_path, dev) 79int chsc_chp_vary(struct chp_id chpid, int on);
80int chsc_determine_channel_path_description(struct chp_id chpid,
81 struct channel_path_desc *desc);
82int chsc_chp_online(struct chp_id chpid);
83void chsc_chp_offline(struct chp_id chpid);
84int chsc_get_channel_measurement_chars(struct channel_path *chp);
99 85
100#endif 86#endif