Commit 626f311737770f0fb5c09a6da2ea795a559aa42a

Authored by Adrian Bunk
Committed by Heiko Carstens
1 parent 9d853caf44

[S390] chsc headers userspace cleanup

Kernel headers shouldn't expose functions to userspace.

Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>

Showing 3 changed files with 7 additions and 4 deletions Inline Diff

include/asm-s390/Kbuild
1 include include/asm-generic/Kbuild.asm 1 include include/asm-generic/Kbuild.asm
2 2
3 header-y += dasd.h 3 header-y += dasd.h
4 header-y += monwriter.h 4 header-y += monwriter.h
5 header-y += qeth.h 5 header-y += qeth.h
6 header-y += tape390.h 6 header-y += tape390.h
7 header-y += ucontext.h 7 header-y += ucontext.h
8 header-y += vtoc.h 8 header-y += vtoc.h
9 header-y += zcrypt.h 9 header-y += zcrypt.h
10 header-y += kvm.h 10 header-y += kvm.h
11 header-y += schid.h
12 header-y += chsc.h 11 header-y += chsc.h
13 12
14 unifdef-y += cmb.h 13 unifdef-y += cmb.h
15 unifdef-y += debug.h 14 unifdef-y += debug.h
16 unifdef-y += chpid.h 15 unifdef-y += chpid.h
16 unifdef-y += schid.h
include/asm-s390/chpid.h
1 /* 1 /*
2 * drivers/s390/cio/chpid.h 2 * drivers/s390/cio/chpid.h
3 * 3 *
4 * Copyright IBM Corp. 2007 4 * Copyright IBM Corp. 2007
5 * Author(s): Peter Oberparleiter <peter.oberparleiter@de.ibm.com> 5 * Author(s): Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
6 */ 6 */
7 7
8 #ifndef _ASM_S390_CHPID_H 8 #ifndef _ASM_S390_CHPID_H
9 #define _ASM_S390_CHPID_H _ASM_S390_CHPID_H 9 #define _ASM_S390_CHPID_H _ASM_S390_CHPID_H
10 10
11 #include <linux/string.h> 11 #include <linux/string.h>
12 #include <asm/types.h> 12 #include <asm/types.h>
13 13
14 #define __MAX_CHPID 255 14 #define __MAX_CHPID 255
15 15
16 struct chp_id { 16 struct chp_id {
17 u8 reserved1; 17 u8 reserved1;
18 u8 cssid; 18 u8 cssid;
19 u8 reserved2; 19 u8 reserved2;
20 u8 id; 20 u8 id;
21 } __attribute__((packed)); 21 } __attribute__((packed));
22 22
23 #ifdef __KERNEL__
24 #include <asm/cio.h>
25
23 static inline void chp_id_init(struct chp_id *chpid) 26 static inline void chp_id_init(struct chp_id *chpid)
24 { 27 {
25 memset(chpid, 0, sizeof(struct chp_id)); 28 memset(chpid, 0, sizeof(struct chp_id));
26 } 29 }
27 30
28 static inline int chp_id_is_equal(struct chp_id *a, struct chp_id *b) 31 static inline int chp_id_is_equal(struct chp_id *a, struct chp_id *b)
29 { 32 {
30 return (a->id == b->id) && (a->cssid == b->cssid); 33 return (a->id == b->id) && (a->cssid == b->cssid);
31 } 34 }
32 35
33 static inline void chp_id_next(struct chp_id *chpid) 36 static inline void chp_id_next(struct chp_id *chpid)
34 { 37 {
35 if (chpid->id < __MAX_CHPID) 38 if (chpid->id < __MAX_CHPID)
36 chpid->id++; 39 chpid->id++;
37 else { 40 else {
38 chpid->id = 0; 41 chpid->id = 0;
39 chpid->cssid++; 42 chpid->cssid++;
40 } 43 }
41 } 44 }
42
43 #ifdef __KERNEL__
44 #include <asm/cio.h>
45 45
46 static inline int chp_id_is_valid(struct chp_id *chpid) 46 static inline int chp_id_is_valid(struct chp_id *chpid)
47 { 47 {
48 return (chpid->cssid <= __MAX_CSSID); 48 return (chpid->cssid <= __MAX_CSSID);
49 } 49 }
50 50
51 51
52 #define chp_id_for_each(c) \ 52 #define chp_id_for_each(c) \
53 for (chp_id_init(c); chp_id_is_valid(c); chp_id_next(c)) 53 for (chp_id_init(c); chp_id_is_valid(c); chp_id_next(c))
54 #endif /* __KERNEL */ 54 #endif /* __KERNEL */
include/asm-s390/schid.h
1 #ifndef ASM_SCHID_H 1 #ifndef ASM_SCHID_H
2 #define ASM_SCHID_H 2 #define ASM_SCHID_H
3 3
4 struct subchannel_id { 4 struct subchannel_id {
5 __u32 cssid : 8; 5 __u32 cssid : 8;
6 __u32 : 4; 6 __u32 : 4;
7 __u32 m : 1; 7 __u32 m : 1;
8 __u32 ssid : 2; 8 __u32 ssid : 2;
9 __u32 one : 1; 9 __u32 one : 1;
10 __u32 sch_no : 16; 10 __u32 sch_no : 16;
11 } __attribute__ ((packed, aligned(4))); 11 } __attribute__ ((packed, aligned(4)));
12 12
13 #ifdef __KERNEL__
13 14
14 /* Helper function for sane state of pre-allocated subchannel_id. */ 15 /* Helper function for sane state of pre-allocated subchannel_id. */
15 static inline void 16 static inline void
16 init_subchannel_id(struct subchannel_id *schid) 17 init_subchannel_id(struct subchannel_id *schid)
17 { 18 {
18 memset(schid, 0, sizeof(struct subchannel_id)); 19 memset(schid, 0, sizeof(struct subchannel_id));
19 schid->one = 1; 20 schid->one = 1;
20 } 21 }
21 22
22 static inline int 23 static inline int
23 schid_equal(struct subchannel_id *schid1, struct subchannel_id *schid2) 24 schid_equal(struct subchannel_id *schid1, struct subchannel_id *schid2)
24 { 25 {
25 return !memcmp(schid1, schid2, sizeof(struct subchannel_id)); 26 return !memcmp(schid1, schid2, sizeof(struct subchannel_id));
26 } 27 }
28
29 #endif /* __KERNEL__ */
27 30
28 #endif /* ASM_SCHID_H */ 31 #endif /* ASM_SCHID_H */
29 32