aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio
diff options
context:
space:
mode:
authorPeter Oberparleiter <peter.oberparleiter@de.ibm.com>2007-02-05 15:17:40 -0500
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2007-02-05 15:17:40 -0500
commit0f008aa300f1a48144a1b988a85db9d330f884b7 (patch)
tree521a14d537b988a7b419be70c50c0b875cc35fd2 /drivers/s390/cio
parent9b241cc862d55038c43feee86670cb7d86cf01c1 (diff)
[S390] cio: declare hardware structures packed.
Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio')
-rw-r--r--drivers/s390/cio/chsc.c16
-rw-r--r--drivers/s390/cio/chsc.h8
2 files changed, 12 insertions, 12 deletions
diff --git a/drivers/s390/cio/chsc.c b/drivers/s390/cio/chsc.c
index 514daeaba705..0260f12231e0 100644
--- a/drivers/s390/cio/chsc.c
+++ b/drivers/s390/cio/chsc.c
@@ -93,7 +93,7 @@ chsc_get_sch_desc_irq(struct subchannel *sch, void *page)
93 u16 sch; /* subchannel */ 93 u16 sch; /* subchannel */
94 u8 chpid[8]; /* chpids 0-7 */ 94 u8 chpid[8]; /* chpids 0-7 */
95 u16 fla[8]; /* full link addresses 0-7 */ 95 u16 fla[8]; /* full link addresses 0-7 */
96 } *ssd_area; 96 } __attribute__ ((packed)) *ssd_area;
97 97
98 ssd_area = page; 98 ssd_area = page;
99 99
@@ -444,7 +444,7 @@ __get_chpid_from_lir(void *data)
444 u32 andesc[28]; 444 u32 andesc[28];
445 /* incident-specific information */ 445 /* incident-specific information */
446 u32 isinfo[28]; 446 u32 isinfo[28];
447 } *lir; 447 } __attribute__ ((packed)) *lir;
448 448
449 lir = data; 449 lir = data;
450 if (!(lir->iq&0x80)) 450 if (!(lir->iq&0x80))
@@ -483,7 +483,7 @@ chsc_process_crw(void)
483 u32 reserved6; 483 u32 reserved6;
484 u32 ccdf[96]; /* content-code dependent field */ 484 u32 ccdf[96]; /* content-code dependent field */
485 /* ccdf has to be big enough for a link-incident record */ 485 /* ccdf has to be big enough for a link-incident record */
486 } *sei_area; 486 } __attribute__ ((packed)) *sei_area;
487 487
488 if (!sei_page) 488 if (!sei_page)
489 return 0; 489 return 0;
@@ -1040,7 +1040,7 @@ __chsc_do_secm(struct channel_subsystem *css, int enable, void *page)
1040 u32 : 4; 1040 u32 : 4;
1041 u32 fmt : 4; 1041 u32 fmt : 4;
1042 u32 : 16; 1042 u32 : 16;
1043 } *secm_area; 1043 } __attribute__ ((packed)) *secm_area;
1044 int ret, ccode; 1044 int ret, ccode;
1045 1045
1046 secm_area = page; 1046 secm_area = page;
@@ -1251,7 +1251,7 @@ chsc_determine_channel_path_description(int chpid,
1251 struct chsc_header response; 1251 struct chsc_header response;
1252 u32 zeroes2; 1252 u32 zeroes2;
1253 struct channel_path_desc desc; 1253 struct channel_path_desc desc;
1254 } *scpd_area; 1254 } __attribute__ ((packed)) *scpd_area;
1255 1255
1256 scpd_area = (void *)get_zeroed_page(GFP_KERNEL | GFP_DMA); 1256 scpd_area = (void *)get_zeroed_page(GFP_KERNEL | GFP_DMA);
1257 if (!scpd_area) 1257 if (!scpd_area)
@@ -1348,7 +1348,7 @@ chsc_get_channel_measurement_chars(struct channel_path *chp)
1348 u32 cmg : 8; 1348 u32 cmg : 8;
1349 u32 zeroes3; 1349 u32 zeroes3;
1350 u32 data[NR_MEASUREMENT_CHARS]; 1350 u32 data[NR_MEASUREMENT_CHARS];
1351 } *scmc_area; 1351 } __attribute__ ((packed)) *scmc_area;
1352 1352
1353 scmc_area = (void *)get_zeroed_page(GFP_KERNEL | GFP_DMA); 1353 scmc_area = (void *)get_zeroed_page(GFP_KERNEL | GFP_DMA);
1354 if (!scmc_area) 1354 if (!scmc_area)
@@ -1515,7 +1515,7 @@ chsc_enable_facility(int operation_code)
1515 u32 reserved5:4; 1515 u32 reserved5:4;
1516 u32 format2:4; 1516 u32 format2:4;
1517 u32 reserved6:24; 1517 u32 reserved6:24;
1518 } *sda_area; 1518 } __attribute__ ((packed)) *sda_area;
1519 1519
1520 sda_area = (void *)get_zeroed_page(GFP_KERNEL|GFP_DMA); 1520 sda_area = (void *)get_zeroed_page(GFP_KERNEL|GFP_DMA);
1521 if (!sda_area) 1521 if (!sda_area)
@@ -1567,7 +1567,7 @@ chsc_determine_css_characteristics(void)
1567 u32 reserved4; 1567 u32 reserved4;
1568 u32 general_char[510]; 1568 u32 general_char[510];
1569 u32 chsc_char[518]; 1569 u32 chsc_char[518];
1570 } *scsc_area; 1570 } __attribute__ ((packed)) *scsc_area;
1571 1571
1572 scsc_area = (void *)get_zeroed_page(GFP_KERNEL | GFP_DMA); 1572 scsc_area = (void *)get_zeroed_page(GFP_KERNEL | GFP_DMA);
1573 if (!scsc_area) { 1573 if (!scsc_area) {
diff --git a/drivers/s390/cio/chsc.h b/drivers/s390/cio/chsc.h
index 3e8ac8f7b5cd..0fb2b024208f 100644
--- a/drivers/s390/cio/chsc.h
+++ b/drivers/s390/cio/chsc.h
@@ -10,17 +10,17 @@
10struct chsc_header { 10struct chsc_header {
11 u16 length; 11 u16 length;
12 u16 code; 12 u16 code;
13}; 13} __attribute__ ((packed));
14 14
15#define NR_MEASUREMENT_CHARS 5 15#define NR_MEASUREMENT_CHARS 5
16struct cmg_chars { 16struct cmg_chars {
17 u32 values[NR_MEASUREMENT_CHARS]; 17 u32 values[NR_MEASUREMENT_CHARS];
18}; 18} __attribute__ ((packed));
19 19
20#define NR_MEASUREMENT_ENTRIES 8 20#define NR_MEASUREMENT_ENTRIES 8
21struct cmg_entry { 21struct cmg_entry {
22 u32 values[NR_MEASUREMENT_ENTRIES]; 22 u32 values[NR_MEASUREMENT_ENTRIES];
23}; 23} __attribute__ ((packed));
24 24
25struct channel_path_desc { 25struct channel_path_desc {
26 u8 flags; 26 u8 flags;
@@ -31,7 +31,7 @@ struct channel_path_desc {
31 u8 zeroes; 31 u8 zeroes;
32 u8 chla; 32 u8 chla;
33 u8 chpp; 33 u8 chpp;
34}; 34} __attribute__ ((packed));
35 35
36struct channel_path { 36struct channel_path {
37 int id; 37 int id;