[SCSI] cnic, bnx2i: Fix build failure when CONFIG_PCI is not set.
[safe/jmp/linux-2.6] / drivers / s390 / char / sclp.h
index dbb99d1..bac80e8 100644 (file)
@@ -56,8 +56,6 @@ typedef unsigned int sclp_cmdw_t;
 #define SCLP_CMDW_READ_EVENT_DATA      0x00770005
 #define SCLP_CMDW_WRITE_EVENT_DATA     0x00760005
 #define SCLP_CMDW_WRITE_EVENT_MASK     0x00780005
-#define SCLP_CMDW_READ_SCP_INFO                0x00020001
-#define SCLP_CMDW_READ_SCP_INFO_FORCED 0x00120001
 
 #define GDS_ID_MDSMU           0x1310
 #define GDS_ID_MDSROUTEINFO    0x1311
@@ -72,6 +70,20 @@ typedef unsigned int sclp_cmdw_t;
 
 typedef u32 sccb_mask_t;       /* ATTENTION: assumes 32bit mask !!! */
 
+struct sccb_header {
+       u16     length;
+       u8      function_code;
+       u8      control_mask[3];
+       u16     response_code;
+} __attribute__((packed));
+
+extern u64 sclp_facilities;
+
+#define SCLP_HAS_CHP_INFO      (sclp_facilities & 0x8000000000000000ULL)
+#define SCLP_HAS_CHP_RECONFIG  (sclp_facilities & 0x2000000000000000ULL)
+#define SCLP_HAS_CPU_INFO      (sclp_facilities & 0x0800000000000000ULL)
+#define SCLP_HAS_CPU_RECONFIG  (sclp_facilities & 0x0400000000000000ULL)
+
 struct gds_subvector {
        u8      length;
        u8      key;
@@ -110,11 +122,13 @@ struct sclp_req {
 /* of some routines it wants to be called from the low level driver */
 struct sclp_register {
        struct list_head list;
-       /* event masks this user is registered for */
+       /* User wants to receive: */
        sccb_mask_t receive_mask;
+       /* User wants to send: */
        sccb_mask_t send_mask;
-       /* actually present events */
+       /* H/W can receive: */
        sccb_mask_t sclp_receive_mask;
+       /* H/W can send: */
        sccb_mask_t sclp_send_mask;
        /* called if event type availability changes */
        void (*state_change_fn)(struct sclp_register *);