From: David Kershner <david.kersh...@unisys.com>

It was noticed that iochannel.h was still using pragmas to
pack the datastructures, should be using __packed instead.

Signed-off-by: David Kershner <david.kersh...@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.ro...@unisys.com>
---
 drivers/staging/unisys/include/iochannel.h | 45 +++++++++++++-----------------
 1 file changed, 20 insertions(+), 25 deletions(-)

diff --git a/drivers/staging/unisys/include/iochannel.h 
b/drivers/staging/unisys/include/iochannel.h
index db7b332..1517496 100644
--- a/drivers/staging/unisys/include/iochannel.h
+++ b/drivers/staging/unisys/include/iochannel.h
@@ -1,4 +1,5 @@
 /* Copyright (C) 2010 - 2013 UNISYS CORPORATION */
+
 /* All rights reserved. */
 #ifndef __IOCHANNEL_H__
 #define __IOCHANNEL_H__
@@ -149,22 +150,18 @@ enum vdisk_mgmt_types {
 
 /* structs with pragma pack  */
 
-#pragma pack(push, 1)
 struct phys_info {
        u64 pi_pfn;
        u16 pi_off;
        u16 pi_len;
-};
-#pragma pack(pop)
+} __packed;
 /* ///////////// BEGIN PRAGMA PACK PUSH 1 ///////////////////////// */
 /* ///////////// ONLY STRUCT TYPE SHOULD BE BELOW */
 
-#pragma pack(push, 1)
-
 struct guest_phys_info {
        u64 address;
        u64 length;
-};
+} __packed;
 
 #define GPI_ENTRIES_PER_PAGE (PAGE_SIZE / sizeof(struct guest_phys_info))
 
@@ -172,12 +169,12 @@ struct uisscsi_dest {
        u32 channel;            /* channel == bus number */
        u32 id;                 /* id == target number */
        u32 lun;                /* lun == logical unit number */
-};
+} __packed;
 
 struct vhba_wwnn {
        u32 wwnn1;
        u32 wwnn2;
-};
+} __packed;
 
 /* WARNING: Values stired in this structure must contain maximum counts (not
  * maximum values). */
@@ -194,7 +191,7 @@ struct vhba_config_max {    /* 20 bytes */
                                 * bus */
        /* max io size is often determined by the resource of the hba. e.g */
        /* max scatter gather list length * page size / sector size */
-};
+} __packed;
 
 struct uiscmdrsp_scsi {
        void *scsicmd;          /* the handle to the cmd that was received -
@@ -233,7 +230,7 @@ struct uiscmdrsp_scsi {
         * scsi.linuxstat is SAM_STAT_GOOD
         * That is, there is NO error.
         */
-};
+} __packed;
 
 /* Defines to support sending correct inquiry result when no disk is
  * configured.
@@ -347,7 +344,7 @@ struct sense_data {
        u8 additional_sense_code_qualifier;
        u8 fru_code;
        u8 sense_key_specific[3];
-};
+} __packed;
 
 struct net_pkt_xmt {
        int len;        /* full length of data in the packet */
@@ -375,11 +372,11 @@ struct net_pkt_xmt {
             * guest memory to get to the header. uisnic needs ethhdr to
             * determine how to route the packet.
             */
-};
+} __packed;
 
 struct net_pkt_xmtdone {
        u32 xmt_done_result;    /* result of NET_XMIT */
-};
+} __packed;
 
 /* RCVPOST_BUF_SIZe must be at most page_size(4096) - cache_line_size (64) The
  * reason is because dev_skb_alloc which is used to generate RCV_POST skbs in
@@ -401,7 +398,7 @@ struct net_pkt_rcvpost {
            u64 unique_num;             /* This is used to make sure that
                                         * receive posts are returned to  */
            /* the Adapter which we sent them originally. */
-};
+} __packed;
 
 struct net_pkt_rcv {
        /* the number of receive buffers that can be chained  */
@@ -415,17 +412,17 @@ struct net_pkt_rcv {
        /* NOTE: first rcvbuf in the chain will also be provided in net.buf. */
        u64 unique_num;
        u32 rcvs_dropped_delta;
-};
+} __packed;
 
 struct net_pkt_enbdis {
        void *context;
        u16 enable;             /* 1 = enable, 0 = disable */
-};
+} __packed;
 
 struct net_pkt_macaddr {
        void *context;
        u8 macaddr[MAX_MACADDR_LEN];    /* 6 bytes */
-};
+} __packed;
 
 /* cmd rsp packet used for VNIC network traffic  */
 struct uiscmdrsp_net {
@@ -442,7 +439,7 @@ struct uiscmdrsp_net {
                                                /* and NET_CONNECT_STATUS */
                struct net_pkt_macaddr macaddr;
        };
-};
+} __packed;
 
 struct uiscmdrsp_scsitaskmgmt {
        enum task_mgmt_types tasktype;
@@ -479,7 +476,7 @@ struct uiscmdrsp_scsitaskmgmt {
 
            /* result of taskmgmt command - set by IOPart - values are: */
 #define TASK_MGMT_FAILED  0
-};
+} __packed;
 
 /* The following is used by uissd to send disk add/remove notifications to
  * Guest */
@@ -489,7 +486,7 @@ struct uiscmdrsp_disknotify {
        void *v_hba;            /* Pointer to vhba_info for channel info to
                                 * route msg */
        u32 channel, id, lun;   /* SCSI Path of Disk to added or removed */
-};
+} __packed;
 
 /* The following is used by virthba/vSCSI to send the Acquire/Release commands
  * to the IOVM. */
@@ -528,7 +525,7 @@ struct uiscmdrsp_vdiskmgmt {
 
            /* result of taskmgmt command - set by IOPart - values are: */
 #define VDISK_MGMT_FAILED  0
-};
+} __packed;
 
 /* keeping cmd & rsp info in one structure for now cmd rsp packet for scsi */
 struct uiscmdrsp {
@@ -552,7 +549,7 @@ struct uiscmdrsp {
        struct uiscmdrsp *next; /* General Purpose Queue Link */
        struct uiscmdrsp *activeQ_next; /* Used to track active commands */
        struct uiscmdrsp *activeQ_prev; /* Used to track active commands */
-};
+} __packed;
 
 /* This is just the header of the IO channel.  It is assumed that directly 
after
  * this header there is a large region of memory which contains the command and
@@ -578,10 +575,8 @@ struct spar_io_channel_protocol {
 #define MAX_CLIENTSTRING_LEN 1024
         u8 client_string[MAX_CLIENTSTRING_LEN];/* NULL terminated - so holds
                                                 * max - 1 bytes */
-};
+} __packed;
 
-#pragma pack(pop)
-/* ///////////// END PRAGMA PACK PUSH 1 /////////////////////////// */
 
 /*
  * INLINE functions for initializing and accessing I/O data channels
-- 
2.1.4

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to