Merge branch 'sony' into release
[linux-2.6] / arch / s390 / include / asm / schid.h
1 #ifndef ASM_SCHID_H
2 #define ASM_SCHID_H
3
4 struct subchannel_id {
5         __u32 cssid : 8;
6         __u32 : 4;
7         __u32 m : 1;
8         __u32 ssid : 2;
9         __u32 one : 1;
10         __u32 sch_no : 16;
11 } __attribute__ ((packed, aligned(4)));
12
13 #ifdef __KERNEL__
14 #include <linux/string.h>
15
16 /* Helper function for sane state of pre-allocated subchannel_id. */
17 static inline void
18 init_subchannel_id(struct subchannel_id *schid)
19 {
20         memset(schid, 0, sizeof(struct subchannel_id));
21         schid->one = 1;
22 }
23
24 static inline int
25 schid_equal(struct subchannel_id *schid1, struct subchannel_id *schid2)
26 {
27         return !memcmp(schid1, schid2, sizeof(struct subchannel_id));
28 }
29
30 #endif /* __KERNEL__ */
31
32 #endif /* ASM_SCHID_H */