aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/include/uapi
diff options
context:
space:
mode:
authorSebastian Ott <sebott@linux.ibm.com>2018-06-25 08:25:59 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2018-07-17 01:27:56 -0400
commitccaabeea02026e1fbf9274800e43d9135914cd72 (patch)
tree9119ff27b6d91786b6bd6ad25732e582dcf3e387 /arch/s390/include/uapi
parentd4f5d79e97ca6e903700d3d9455afb5694cc4833 (diff)
s390/chsc: fix packed-not-aligned warnings
Remove attribute packed where possible failing this add proper alignment information to fix warnings like the one below: drivers/s390/cio/chsc.c: In function 'chsc_siosl': drivers/s390/cio/chsc.c:1287:2: warning: alignment 1 of 'struct <anonymous>' is less than 4 [-Wpacked-not-aligned] } __attribute__ ((packed)) *siosl_area; Note: this patch should be a nop since non of these structs use auto storage but allocated pages. However there are changes to the generated code because of additional padding at the end of some of the structs due to alignment when memset(foo, 0, sizeof(*foo)) is used. Signed-off-by: Sebastian Ott <sebott@linux.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/uapi')
-rw-r--r--arch/s390/include/uapi/asm/chsc.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/s390/include/uapi/asm/chsc.h b/arch/s390/include/uapi/asm/chsc.h
index dc329aa03f76..83a574e95b3a 100644
--- a/arch/s390/include/uapi/asm/chsc.h
+++ b/arch/s390/include/uapi/asm/chsc.h
@@ -23,29 +23,29 @@ struct chsc_async_header {
23 __u32 key : 4; 23 __u32 key : 4;
24 __u32 : 28; 24 __u32 : 28;
25 struct subchannel_id sid; 25 struct subchannel_id sid;
26} __attribute__ ((packed)); 26};
27 27
28struct chsc_async_area { 28struct chsc_async_area {
29 struct chsc_async_header header; 29 struct chsc_async_header header;
30 __u8 data[CHSC_SIZE - sizeof(struct chsc_async_header)]; 30 __u8 data[CHSC_SIZE - sizeof(struct chsc_async_header)];
31} __attribute__ ((packed)); 31};
32 32
33struct chsc_header { 33struct chsc_header {
34 __u16 length; 34 __u16 length;
35 __u16 code; 35 __u16 code;
36} __attribute__ ((packed)); 36};
37 37
38struct chsc_sync_area { 38struct chsc_sync_area {
39 struct chsc_header header; 39 struct chsc_header header;
40 __u8 data[CHSC_SIZE - sizeof(struct chsc_header)]; 40 __u8 data[CHSC_SIZE - sizeof(struct chsc_header)];
41} __attribute__ ((packed)); 41};
42 42
43struct chsc_response_struct { 43struct chsc_response_struct {
44 __u16 length; 44 __u16 length;
45 __u16 code; 45 __u16 code;
46 __u32 parms; 46 __u32 parms;
47 __u8 data[CHSC_SIZE - 2 * sizeof(__u16) - sizeof(__u32)]; 47 __u8 data[CHSC_SIZE - 2 * sizeof(__u16) - sizeof(__u32)];
48} __attribute__ ((packed)); 48};
49 49
50struct chsc_chp_cd { 50struct chsc_chp_cd {
51 struct chp_id chpid; 51 struct chp_id chpid;