]> git.openfabrics.org - ~emulex/infiniband.git/commitdiff
Merge tag 'disintegrate-s390-20121009' of
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 9 Oct 2012 12:18:10 +0000 (14:18 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 9 Oct 2012 12:18:10 +0000 (14:18 +0200)
git://git.infradead.org/users/dhowells/linux-headers

Pull UAPI patchset from David Howells:
 "Can you merge the following branch into the s390 tree please.
  This is to complete part of the UAPI disintegration for which the
  preparatory patches were pulled recently."

Conflicts:
arch/s390/include/asm/chpid.h

1  2 
arch/s390/include/asm/chpid.h
arch/s390/include/asm/setup.h
arch/s390/include/uapi/asm/chsc.h

index 8af0b92c90c688398203b8978b3b994f1f90f816,64c76ddde3c1843f22740d63c061ac9fdde32ef8..38c405ef89cee13a1790308de7d32382bf316548
@@@ -1,8 -1,7 +1,7 @@@
  /*
 - *    Copyright IBM Corp. 2007
 + *    Copyright IBM Corp. 2007, 2012
   *    Author(s): Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
   */
  #ifndef _ASM_S390_CHPID_H
  #define _ASM_S390_CHPID_H
  
Simple merge
index 0000000000000000000000000000000000000000,aea451fd182ec123982cd3321b06aa3110f85645..1c6a7f85a5819d5354acb38f91820be5767d789c
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,128 +1,130 @@@
 - * Copyright IBM Corp. 2008
+ /*
+  * ioctl interface for /dev/chsc
+  *
 -      __u8 data[PAGE_SIZE - 16 /* size of chsc_async_header */];
++ * Copyright IBM Corp. 2008, 2012
+  * Author(s): Cornelia Huck <cornelia.huck@de.ibm.com>
+  */
+ #ifndef _ASM_CHSC_H
+ #define _ASM_CHSC_H
+ #include <linux/types.h>
++#include <linux/ioctl.h>
+ #include <asm/chpid.h>
+ #include <asm/schid.h>
++#define CHSC_SIZE 0x1000
++
+ struct chsc_async_header {
+       __u16 length;
+       __u16 code;
+       __u32 cmd_dependend;
+       __u32 key : 4;
+       __u32 : 28;
+       struct subchannel_id sid;
+ } __attribute__ ((packed));
+ struct chsc_async_area {
+       struct chsc_async_header header;
 -
++      __u8 data[CHSC_SIZE - sizeof(struct chsc_async_header)];
+ } __attribute__ ((packed));
 -      __u8 data[PAGE_SIZE - 8];
+ struct chsc_response_struct {
+       __u16 length;
+       __u16 code;
+       __u32 parms;
++      __u8 data[CHSC_SIZE - 2 * sizeof(__u16) - sizeof(__u32)];
+ } __attribute__ ((packed));
+ struct chsc_chp_cd {
+       struct chp_id chpid;
+       int m;
+       int fmt;
+       struct chsc_response_struct cpcb;
+ };
+ struct chsc_cu_cd {
+       __u16 cun;
+       __u8 cssid;
+       int m;
+       int fmt;
+       struct chsc_response_struct cucb;
+ };
+ struct chsc_sch_cud {
+       struct subchannel_id schid;
+       int fmt;
+       struct chsc_response_struct scub;
+ };
+ struct conf_id {
+       int m;
+       __u8 cssid;
+       __u8 ssid;
+ };
+ struct chsc_conf_info {
+       struct conf_id id;
+       int fmt;
+       struct chsc_response_struct scid;
+ };
+ struct ccl_parm_chpid {
+       int m;
+       struct chp_id chp;
+ };
+ struct ccl_parm_cssids {
+       __u8 f_cssid;
+       __u8 l_cssid;
+ };
+ struct chsc_comp_list {
+       struct {
+               enum {
+                       CCL_CU_ON_CHP = 1,
+                       CCL_CHP_TYPE_CAP = 2,
+                       CCL_CSS_IMG = 4,
+                       CCL_CSS_IMG_CONF_CHAR = 5,
+                       CCL_IOP_CHP = 6,
+               } ctype;
+               int fmt;
+               struct ccl_parm_chpid chpid;
+               struct ccl_parm_cssids cssids;
+       } req;
+       struct chsc_response_struct sccl;
+ };
+ struct chsc_dcal {
+       struct {
+               enum {
+                       DCAL_CSS_IID_PN = 4,
+               } atype;
+               __u32 list_parm[2];
+               int fmt;
+       } req;
+       struct chsc_response_struct sdcal;
+ };
+ struct chsc_cpd_info {
+       struct chp_id chpid;
+       int m;
+       int fmt;
+       int rfmt;
+       int c;
+       struct chsc_response_struct chpdb;
+ };
+ #define CHSC_IOCTL_MAGIC 'c'
+ #define CHSC_START _IOWR(CHSC_IOCTL_MAGIC, 0x81, struct chsc_async_area)
+ #define CHSC_INFO_CHANNEL_PATH _IOWR(CHSC_IOCTL_MAGIC, 0x82, \
+                                   struct chsc_chp_cd)
+ #define CHSC_INFO_CU _IOWR(CHSC_IOCTL_MAGIC, 0x83, struct chsc_cu_cd)
+ #define CHSC_INFO_SCH_CU _IOWR(CHSC_IOCTL_MAGIC, 0x84, struct chsc_sch_cud)
+ #define CHSC_INFO_CI _IOWR(CHSC_IOCTL_MAGIC, 0x85, struct chsc_conf_info)
+ #define CHSC_INFO_CCL _IOWR(CHSC_IOCTL_MAGIC, 0x86, struct chsc_comp_list)
+ #define CHSC_INFO_CPD _IOWR(CHSC_IOCTL_MAGIC, 0x87, struct chsc_cpd_info)
+ #define CHSC_INFO_DCAL _IOWR(CHSC_IOCTL_MAGIC, 0x88, struct chsc_dcal)
+ #endif