Commit 626f311737770f0fb5c09a6da2ea795a559aa42a
Committed by
Heiko Carstens
1 parent
9d853caf44
Exists in
master
and in
7 other branches
[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 |