[S390] cio: introduce fcx bit to chsc characteristics
[safe/jmp/linux-2.6] / drivers / s390 / cio / chsc.h
index 0e40def..d4498d4 100644 (file)
@@ -3,7 +3,8 @@
 
 #include <linux/types.h>
 #include <linux/device.h>
-#include "chpid.h"
+#include <asm/chpid.h>
+#include "schid.h"
 
 #define CHSC_SDA_OC_MSS   0x2
 
@@ -35,9 +36,6 @@ struct channel_path_desc {
 
 struct channel_path;
 
-extern int css_get_ssd_info(struct subchannel *);
-extern int chsc_process_crw(void);
-
 struct css_general_char {
        u64 : 41;
        u32 aif : 1;     /* bit 41 */
@@ -51,7 +49,9 @@ struct css_general_char {
        u32 qebsm : 1;   /* bit 58 */
        u32 : 8;
        u32 aif_osa : 1; /* bit 67 */
-       u32 : 28;
+       u32 : 20;
+       u32 fcx : 1;     /* bit 88 */
+       u32 : 7;
 }__attribute__((packed));
 
 struct css_chsc_char {
@@ -69,8 +69,18 @@ struct css_chsc_char {
 extern struct css_general_char css_general_characteristics;
 extern struct css_chsc_char css_chsc_characteristics;
 
+struct chsc_ssd_info {
+       u8 path_mask;
+       u8 fla_valid_mask;
+       struct chp_id chpid[8];
+       u16 fla[8];
+};
+extern int chsc_get_ssd_info(struct subchannel_id schid,
+                            struct chsc_ssd_info *ssd);
 extern int chsc_determine_css_characteristics(void);
 extern int css_characteristics_avail;
+extern int chsc_alloc_sei_area(void);
+extern void chsc_free_sei_area(void);
 
 extern int chsc_enable_facility(int);
 struct channel_subsystem;
@@ -79,7 +89,7 @@ extern int chsc_secm(struct channel_subsystem *, int);
 int chsc_chp_vary(struct chp_id chpid, int on);
 int chsc_determine_channel_path_description(struct chp_id chpid,
                                            struct channel_path_desc *desc);
-int chsc_chp_online(struct chp_id chpid);
+void chsc_chp_online(struct chp_id chpid);
 void chsc_chp_offline(struct chp_id chpid);
 int chsc_get_channel_measurement_chars(struct channel_path *chp);