* defines the physical drive address structure
  */
 struct MR_PD_ADDRESS {
-       u16     deviceId;
+       __le16  deviceId;
        u16     enclDeviceId;
 
        union {
  * defines the physical drive list structure
  */
 struct MR_PD_LIST {
-       u32             size;
-       u32             count;
+       __le32          size;
+       __le32          count;
        struct MR_PD_ADDRESS   addr[1];
 } __packed;
 
        struct {
                u8      targetId;
                u8      reserved;
-               u16     seqNum;
+               __le16     seqNum;
        };
-       u32     ref;
+       __le32     ref;
 } __packed;
 
 /*
  * defines the logical drive list structure
  */
 struct MR_LD_LIST {
-       u32     ldCount;
-       u32     reserved;
+       __le32     ldCount;
+       __le32     reserved;
        struct {
                union MR_LD_REF   ref;
                u8          state;
                u8          reserved[3];
-               u64         size;
+               __le64          size;
        } ldList[MAX_LOGICAL_DRIVES_EXT];
 } __packed;
 
 struct MR_LD_TARGETID_LIST {
-       u32     size;
-       u32     count;
+       __le32  size;
+       __le32  count;
        u8      pad[3];
        u8      targetId[MAX_LOGICAL_DRIVES_EXT];
 };
        } OnOffProperties;
        u8 autoSnapVDSpace;
        u8 viewSpace;
-       u16 spinDownTime;
+       __le16 spinDownTime;
        u8  reserved[24];
 } __packed;
 
         */
        struct {
 
-               u16 vendor_id;
-               u16 device_id;
-               u16 sub_vendor_id;
-               u16 sub_device_id;
+               __le16 vendor_id;
+               __le16 device_id;
+               __le16 sub_vendor_id;
+               __le16 sub_device_id;
                u8 reserved[24];
 
        } __attribute__ ((packed)) pci;
        /*
         * List of components residing in flash. All str are null terminated
         */
-       u32 image_check_word;
-       u32 image_component_count;
+       __le32 image_check_word;
+       __le32 image_component_count;
 
        struct {
 
         * empty if a flash operation has not occurred. All stings are null
         * terminated
         */
-       u32 pending_image_component_count;
+       __le32 pending_image_component_count;
 
        struct {
 
 
        } __attribute__ ((packed)) hw_present;
 
-       u32 current_fw_time;
+       __le32 current_fw_time;
 
        /*
         * Maximum data transfer sizes
         */
-       u16 max_concurrent_cmds;
-       u16 max_sge_count;
-       u32 max_request_size;
+       __le16 max_concurrent_cmds;
+       __le16 max_sge_count;
+       __le32 max_request_size;
 
        /*
         * Logical and physical device counts
         */
-       u16 ld_present_count;
-       u16 ld_degraded_count;
-       u16 ld_offline_count;
+       __le16 ld_present_count;
+       __le16 ld_degraded_count;
+       __le16 ld_offline_count;
 
-       u16 pd_present_count;
-       u16 pd_disk_present_count;
-       u16 pd_disk_pred_failure_count;
-       u16 pd_disk_failed_count;
+       __le16 pd_present_count;
+       __le16 pd_disk_present_count;
+       __le16 pd_disk_pred_failure_count;
+       __le16 pd_disk_failed_count;
 
        /*
         * Memory size information
         */
-       u16 nvram_size;
-       u16 memory_size;
-       u16 flash_size;
+       __le16 nvram_size;
+       __le16 memory_size;
+       __le16 flash_size;
 
        /*
         * Error counters
         */
-       u16 mem_correctable_error_count;
-       u16 mem_uncorrectable_error_count;
+       __le16 mem_correctable_error_count;
+       __le16 mem_uncorrectable_error_count;
 
        /*
         * Cluster information
        /*
         * Additional max data transfer sizes
         */
-       u16 max_strips_per_io;
+       __le16 max_strips_per_io;
 
        /*
         * Controller capabilities structures
        * deviceInterface.portAddr, and the rest shall be
        * populated in deviceInterfacePortAddr2.
        */
-       u64         deviceInterfacePortAddr2[8]; /*6a0h */
+       __le64      deviceInterfacePortAddr2[8]; /*6a0h */
        u8          reserved3[128];              /*6e0h */
 
        struct {                                /*760h */
                u16 reserved[6];
        } pdsForRaidLevels;
 
-       u16 maxPds;                             /*780h */
-       u16 maxDedHSPs;                         /*782h */
-       u16 maxGlobalHSPs;                      /*784h */
-       u16 ddfSize;                            /*786h */
+       __le16 maxPds;                          /*780h */
+       __le16 maxDedHSPs;                      /*782h */
+       __le16 maxGlobalHSP;                    /*784h */
+       __le16 ddfSize;                         /*786h */
        u8  maxLdsPerArray;                     /*788h */
        u8  partitionsInDDF;                    /*789h */
        u8  lockKeyBinding;                     /*78ah */
        u8  maxPITsPerLd;                       /*78bh */
        u8  maxViewsPerLd;                      /*78ch */
        u8  maxTargetId;                        /*78dh */
-       u16 maxBvlVdSize;                       /*78eh */
+       __le16 maxBvlVdSize;                    /*78eh */
 
-       u16 maxConfigurableSSCSize;             /*790h */
-       u16 currentSSCsize;                     /*792h */
+       __le16 maxConfigurableSSCSize;          /*790h */
+       __le16 currentSSCsize;                  /*792h */
 
        char    expanderFwVersion[12];          /*794h */
 
-       u16 PFKTrialTimeRemaining;              /*7A0h */
+       __le16 PFKTrialTimeRemaining;           /*7A0h */
 
-       u16 cacheMemorySize;                    /*7A2h */
+       __le16 cacheMemorySize;                 /*7A2h */
 
        struct {                                /*7A4h */
 #if   defined(__BIG_ENDIAN_BITFIELD)
        u8  temperatureROC;                     /*7C9h */
        u8  temperatureCtrl;                    /*7CAh */
        u8  reserved4;                          /*7CBh */
-       u16 maxConfigurablePds;                 /*7CCh */
+       __le16 maxConfigurablePds;              /*7CCh */
 
 
        u8  reserved5[2];                       /*0x7CDh */
 
 struct megasas_sge32 {
 
-       u32 phys_addr;
-       u32 length;
+       __le32 phys_addr;
+       __le32 length;
 
 } __attribute__ ((packed));
 
 struct megasas_sge64 {
 
-       u64 phys_addr;
-       u32 length;
+       __le64 phys_addr;
+       __le32 length;
 
 } __attribute__ ((packed));
 
 struct megasas_sge_skinny {
-       u64 phys_addr;
-       u32 length;
-       u32 flag;
+       __le64 phys_addr;
+       __le32 length;
+       __le32 flag;
 } __packed;
 
 union megasas_sgl {
        u8 cdb_len;             /*06h */
        u8 sge_count;           /*07h */
 
-       u32 context;            /*08h */
-       u32 pad_0;              /*0Ch */
+       __le32 context;         /*08h */
+       __le32 pad_0;           /*0Ch */
 
-       u16 flags;              /*10h */
-       u16 timeout;            /*12h */
-       u32 data_xferlen;       /*14h */
+       __le16 flags;           /*10h */
+       __le16 timeout;         /*12h */
+       __le32 data_xferlen;    /*14h */
 
 } __attribute__ ((packed));
 
                u32     reserved:25;
 #endif
        } mfi_capabilities;
-       u32     reg;
+       __le32          reg;
 } MFI_CAPABILITIES;
 
 struct megasas_init_frame {
        u8 reserved_1;          /*03h */
        MFI_CAPABILITIES driver_operations; /*04h*/
 
-       u32 context;            /*08h */
-       u32 pad_0;              /*0Ch */
+       __le32 context;         /*08h */
+       __le32 pad_0;           /*0Ch */
 
-       u16 flags;              /*10h */
-       u16 reserved_3;         /*12h */
-       u32 data_xfer_len;      /*14h */
+       __le16 flags;           /*10h */
+       __le16 reserved_3;              /*12h */
+       __le32 data_xfer_len;   /*14h */
 
-       u32 queue_info_new_phys_addr_lo;        /*18h */
-       u32 queue_info_new_phys_addr_hi;        /*1Ch */
-       u32 queue_info_old_phys_addr_lo;        /*20h */
-       u32 queue_info_old_phys_addr_hi;        /*24h */
-       u32 reserved_4[2];      /*28h */
-       u32 system_info_lo;      /*30h */
-       u32 system_info_hi;      /*34h */
-       u32 reserved_5[2];      /*38h */
+       __le32 queue_info_new_phys_addr_lo;     /*18h */
+       __le32 queue_info_new_phys_addr_hi;     /*1Ch */
+       __le32 queue_info_old_phys_addr_lo;     /*20h */
+       __le32 queue_info_old_phys_addr_hi;     /*24h */
+       __le32 reserved_4[2];   /*28h */
+       __le32 system_info_lo;      /*30h */
+       __le32 system_info_hi;      /*34h */
+       __le32 reserved_5[2];   /*38h */
 
 } __attribute__ ((packed));
 
 struct megasas_init_queue_info {
 
-       u32 init_flags;         /*00h */
-       u32 reply_queue_entries;        /*04h */
+       __le32 init_flags;              /*00h */
+       __le32 reply_queue_entries;     /*04h */
 
-       u32 reply_queue_start_phys_addr_lo;     /*08h */
-       u32 reply_queue_start_phys_addr_hi;     /*0Ch */
-       u32 producer_index_phys_addr_lo;        /*10h */
-       u32 producer_index_phys_addr_hi;        /*14h */
-       u32 consumer_index_phys_addr_lo;        /*18h */
-       u32 consumer_index_phys_addr_hi;        /*1Ch */
+       __le32 reply_queue_start_phys_addr_lo;  /*08h */
+       __le32 reply_queue_start_phys_addr_hi;  /*0Ch */
+       __le32 producer_index_phys_addr_lo;     /*10h */
+       __le32 producer_index_phys_addr_hi;     /*14h */
+       __le32 consumer_index_phys_addr_lo;     /*18h */
+       __le32 consumer_index_phys_addr_hi;     /*1Ch */
 
 } __attribute__ ((packed));
 
        u8 reserved_0;          /*06h */
        u8 sge_count;           /*07h */
 
-       u32 context;            /*08h */
-       u32 pad_0;              /*0Ch */
+       __le32 context;         /*08h */
+       __le32 pad_0;           /*0Ch */
 
-       u16 flags;              /*10h */
-       u16 timeout;            /*12h */
-       u32 lba_count;          /*14h */
+       __le16 flags;           /*10h */
+       __le16 timeout;         /*12h */
+       __le32 lba_count;       /*14h */
 
-       u32 sense_buf_phys_addr_lo;     /*18h */
-       u32 sense_buf_phys_addr_hi;     /*1Ch */
+       __le32 sense_buf_phys_addr_lo;  /*18h */
+       __le32 sense_buf_phys_addr_hi;  /*1Ch */
 
-       u32 start_lba_lo;       /*20h */
-       u32 start_lba_hi;       /*24h */
+       __le32 start_lba_lo;    /*20h */
+       __le32 start_lba_hi;    /*24h */
 
        union megasas_sgl sgl;  /*28h */
 
        u8 cdb_len;             /*06h */
        u8 sge_count;           /*07h */
 
-       u32 context;            /*08h */
-       u32 pad_0;              /*0Ch */
+       __le32 context;         /*08h */
+       __le32 pad_0;           /*0Ch */
 
-       u16 flags;              /*10h */
-       u16 timeout;            /*12h */
-       u32 data_xfer_len;      /*14h */
+       __le16 flags;           /*10h */
+       __le16 timeout;         /*12h */
+       __le32 data_xfer_len;   /*14h */
 
-       u32 sense_buf_phys_addr_lo;     /*18h */
-       u32 sense_buf_phys_addr_hi;     /*1Ch */
+       __le32 sense_buf_phys_addr_lo;  /*18h */
+       __le32 sense_buf_phys_addr_hi;  /*1Ch */
 
        u8 cdb[16];             /*20h */
        union megasas_sgl sgl;  /*30h */
        u8 reserved_1[4];       /*03h */
        u8 sge_count;           /*07h */
 
-       u32 context;            /*08h */
-       u32 pad_0;              /*0Ch */
+       __le32 context;         /*08h */
+       __le32 pad_0;           /*0Ch */
 
-       u16 flags;              /*10h */
-       u16 timeout;            /*12h */
+       __le16 flags;           /*10h */
+       __le16 timeout;         /*12h */
 
-       u32 data_xfer_len;      /*14h */
-       u32 opcode;             /*18h */
+       __le32 data_xfer_len;   /*14h */
+       __le32 opcode;          /*18h */
 
        union {                 /*1Ch */
                u8 b[12];
-               u16 s[6];
-               u32 w[3];
+               __le16 s[6];
+               __le32 w[3];
        } mbox;
 
        union megasas_sgl sgl;  /*28h */
        u8 cmd_status;          /*02h */
 
        u8 reserved_1;          /*03h */
-       u32 reserved_2;         /*04h */
+       __le32 reserved_2;      /*04h */
 
-       u32 context;            /*08h */
-       u32 pad_0;              /*0Ch */
+       __le32 context;         /*08h */
+       __le32 pad_0;           /*0Ch */
 
-       u16 flags;              /*10h */
-       u16 reserved_3;         /*12h */
-       u32 reserved_4;         /*14h */
+       __le16 flags;           /*10h */
+       __le16 reserved_3;      /*12h */
+       __le32 reserved_4;      /*14h */
 
-       u32 abort_context;      /*18h */
-       u32 pad_1;              /*1Ch */
+       __le32 abort_context;   /*18h */
+       __le32 pad_1;           /*1Ch */
 
-       u32 abort_mfi_phys_addr_lo;     /*20h */
-       u32 abort_mfi_phys_addr_hi;     /*24h */
+       __le32 abort_mfi_phys_addr_lo;  /*20h */
+       __le32 abort_mfi_phys_addr_hi;  /*24h */
 
-       u32 reserved_5[6];      /*28h */
+       __le32 reserved_5[6];   /*28h */
 
 } __attribute__ ((packed));
 
        u8 reserved_2[3];       /*04h */
        u8 sge_count;           /*07h */
 
-       u32 context;            /*08h */
-       u32 pad_0;              /*0Ch */
+       __le32 context;         /*08h */
+       __le32 pad_0;           /*0Ch */
 
-       u16 flags;              /*10h */
-       u16 timeout;            /*12h */
+       __le16 flags;           /*10h */
+       __le16 timeout;         /*12h */
 
-       u32 data_xfer_len;      /*14h */
-       u64 sas_addr;           /*18h */
+       __le32 data_xfer_len;   /*14h */
+       __le64 sas_addr;        /*18h */
 
        union {
                struct megasas_sge32 sge32[2];  /* [0]: resp [1]: req */
        u8 reserved_3[2];       /*05h */
        u8 sge_count;           /*07h */
 
-       u32 context;            /*08h */
-       u32 pad_0;              /*0Ch */
+       __le32 context;         /*08h */
+       __le32 pad_0;           /*0Ch */
 
-       u16 flags;              /*10h */
-       u16 timeout;            /*12h */
+       __le16 flags;           /*10h */
+       __le16 timeout;         /*12h */
 
-       u32 data_xfer_len;      /*14h */
+       __le32 data_xfer_len;   /*14h */
 
-       u16 fis[10];            /*18h */
-       u32 stp_flags;
+       __le16 fis[10];         /*18h */
+       __le32 stp_flags;
 
        union {
                struct megasas_sge32 sge32[2];  /* [0]: resp [1]: data */
 } __attribute__ ((packed));
 
 struct megasas_evt_log_info {
-       u32 newest_seq_num;
-       u32 oldest_seq_num;
-       u32 clear_seq_num;
-       u32 shutdown_seq_num;
-       u32 boot_seq_num;
+       __le32 newest_seq_num;
+       __le32 oldest_seq_num;
+       __le32 clear_seq_num;
+       __le32 shutdown_seq_num;
+       __le32 boot_seq_num;
 
 } __attribute__ ((packed));
 
 struct megasas_progress {
 
-       u16 progress;
-       u16 elapsed_seconds;
+       __le16 progress;
+       __le16 elapsed_seconds;
 
 } __attribute__ ((packed));
 
 
 struct megasas_evt_detail {
 
-       u32 seq_num;
-       u32 time_stamp;
-       u32 code;
+       __le32 seq_num;
+       __le32 time_stamp;
+       __le32 code;
        union megasas_evt_class_locale cl;
        u8 arg_type;
        u8 reserved1[15];
 
                struct {
                        struct megasas_evtarg_ld ld;
-                       u64 count;
+                       __le64 count;
                } __attribute__ ((packed)) ld_count;
 
                struct {
-                       u64 lba;
+                       __le64 lba;
                        struct megasas_evtarg_ld ld;
                } __attribute__ ((packed)) ld_lba;
 
                struct {
                        struct megasas_evtarg_ld ld;
-                       u32 prevOwner;
-                       u32 newOwner;
+                       __le32 prevOwner;
+                       __le32 newOwner;
                } __attribute__ ((packed)) ld_owner;
 
                struct {
 
                struct {
                        u16 vendorId;
-                       u16 deviceId;
+                       __le16 deviceId;
                        u16 subVendorId;
                        u16 subDeviceId;
                } __attribute__ ((packed)) pci;
                } __attribute__ ((packed)) ecc;
 
                u8 b[96];
-               u16 s[48];
-               u32 w[24];
-               u64 d[12];
+               __le16 s[48];
+               __le32 w[24];
+               __le64 d[12];
        } args;
 
        char description[128];
 
 struct megasas_instance {
 
-       u32 *producer;
+       __le32 *producer;
        dma_addr_t producer_h;
-       u32 *consumer;
+       __le32 *consumer;
        dma_addr_t consumer_h;
        struct MR_DRV_SYSTEM_INFO *system_info_buf;
        dma_addr_t system_info_h;
        struct MR_CTRL_HB_HOST_MEM *hb_host_mem;
        dma_addr_t hb_host_mem_h;
 
-       u32 *reply_queue;
+       __le32 *reply_queue;
        dma_addr_t reply_queue_h;
 
        u32 *crash_dump_buf;
 struct MR_LD_RAID *MR_LdRaidGet(u32 ld, struct MR_DRV_RAID_MAP_ALL *map);
 u16 MR_ArPdGet(u32 ar, u32 arm, struct MR_DRV_RAID_MAP_ALL *map);
 u16 MR_LdSpanArrayGet(u32 ld, u32 span, struct MR_DRV_RAID_MAP_ALL *map);
-u16 MR_PdDevHandleGet(u32 pd, struct MR_DRV_RAID_MAP_ALL *map);
+__le16 MR_PdDevHandleGet(u32 pd, struct MR_DRV_RAID_MAP_ALL *map);
 u16 MR_GetLDTgtId(u32 ld, struct MR_DRV_RAID_MAP_ALL *map);
 
-u16 get_updated_dev_handle(struct megasas_instance *instance,
+__le16 get_updated_dev_handle(struct megasas_instance *instance,
        struct LD_LOAD_BALANCE_INFO *lbInfo, struct IO_REQUEST_INFO *in_info);
 void mr_update_load_balance_params(struct MR_DRV_RAID_MAP_ALL *map,
        struct LD_LOAD_BALANCE_INFO *lbInfo);
 
        u8      nseg:4;
 #endif
        u8      resvd0;
-       u16     timeoutValue;
+       __le16  timeoutValue;
        u8      regLockFlags;
        u8      resvd1;
-       u16     VirtualDiskTgtId;
-       u64     regLockRowLBA;
-       u32     regLockLength;
-       u16     nextLMId;
+       __le16  VirtualDiskTgtId;
+       __le64  regLockRowLBA;
+       __le32  regLockLength;
+       __le16  nextLMId;
        u8      exStatus;
        u8      status;
        u8      RAIDFlags;
        u8      numSGE;
-       u16     configSeqNum;
+       __le16  configSeqNum;
        u8      spanArm;
        u8      resvd2[3];
 };
 #define MPI2_WRSEQ_6TH_KEY_VALUE                (0xD)
 
 struct MPI25_IEEE_SGE_CHAIN64 {
-       u64                     Address;
-       u32                     Length;
-       u16                     Reserved1;
+       __le64                  Address;
+       __le32                  Length;
+       __le16                  Reserved1;
        u8                      NextChainOffset;
        u8                      Flags;
 };
 
 struct MPI2_SGE_SIMPLE_UNION {
-       u32                     FlagsLength;
+       __le32                     FlagsLength;
        union {
-               u32                 Address32;
-               u64                 Address64;
+               __le32                 Address32;
+               __le64                 Address64;
        } u;
 };
 
 struct MPI2_SCSI_IO_CDB_EEDP32 {
        u8                      CDB[20];                    /* 0x00 */
-       u32                     PrimaryReferenceTag;        /* 0x14 */
-       u16                     PrimaryApplicationTag;      /* 0x18 */
-       u16                     PrimaryApplicationTagMask;  /* 0x1A */
-       u32                     TransferLength;             /* 0x1C */
+       __be32                  PrimaryReferenceTag;        /* 0x14 */
+       __be16                  PrimaryApplicationTag;      /* 0x18 */
+       __be16                  PrimaryApplicationTagMask;  /* 0x1A */
+       __le32                  TransferLength;             /* 0x1C */
 };
 
 struct MPI2_SGE_CHAIN_UNION {
-       u16                     Length;
+       __le16                  Length;
        u8                      NextChainOffset;
        u8                      Flags;
        union {
-               u32                 Address32;
-               u64                 Address64;
+               __le32          Address32;
+               __le64          Address64;
        } u;
 };
 
 struct MPI2_IEEE_SGE_SIMPLE32 {
-       u32                     Address;
-       u32                     FlagsLength;
+       __le32                  Address;
+       __le32                  FlagsLength;
 };
 
 struct MPI2_IEEE_SGE_CHAIN32 {
-       u32                     Address;
-       u32                     FlagsLength;
+       __le32                  Address;
+       __le32                  FlagsLength;
 };
 
 struct MPI2_IEEE_SGE_SIMPLE64 {
-       u64                     Address;
-       u32                     Length;
-       u16                     Reserved1;
+       __le64                  Address;
+       __le32                  Length;
+       __le16                  Reserved1;
        u8                      Reserved2;
        u8                      Flags;
 };
 
 struct MPI2_IEEE_SGE_CHAIN64 {
-       u64                     Address;
-       u32                     Length;
-       u16                     Reserved1;
+       __le64                  Address;
+       __le32                  Length;
+       __le16                  Reserved1;
        u8                      Reserved2;
        u8                      Flags;
 };
  * Total SGE count will be one less than  _MPI2_SCSI_IO_REQUEST
  */
 struct MPI2_RAID_SCSI_IO_REQUEST {
-       u16                     DevHandle;                      /* 0x00 */
+       __le16                  DevHandle;                      /* 0x00 */
        u8                      ChainOffset;                    /* 0x02 */
        u8                      Function;                       /* 0x03 */
-       u16                     Reserved1;                      /* 0x04 */
+       __le16                  Reserved1;                      /* 0x04 */
        u8                      Reserved2;                      /* 0x06 */
        u8                      MsgFlags;                       /* 0x07 */
        u8                      VP_ID;                          /* 0x08 */
        u8                      VF_ID;                          /* 0x09 */
-       u16                     Reserved3;                      /* 0x0A */
-       u32                     SenseBufferLowAddress;          /* 0x0C */
-       u16                     SGLFlags;                       /* 0x10 */
+       __le16                  Reserved3;                      /* 0x0A */
+       __le32                  SenseBufferLowAddress;          /* 0x0C */
+       __le16                  SGLFlags;                       /* 0x10 */
        u8                      SenseBufferLength;              /* 0x12 */
        u8                      Reserved4;                      /* 0x13 */
        u8                      SGLOffset0;                     /* 0x14 */
        u8                      SGLOffset1;                     /* 0x15 */
        u8                      SGLOffset2;                     /* 0x16 */
        u8                      SGLOffset3;                     /* 0x17 */
-       u32                     SkipCount;                      /* 0x18 */
-       u32                     DataLength;                     /* 0x1C */
-       u32                     BidirectionalDataLength;        /* 0x20 */
-       u16                     IoFlags;                        /* 0x24 */
-       u16                     EEDPFlags;                      /* 0x26 */
-       u32                     EEDPBlockSize;                  /* 0x28 */
-       u32                     SecondaryReferenceTag;          /* 0x2C */
-       u16                     SecondaryApplicationTag;        /* 0x30 */
-       u16                     ApplicationTagTranslationMask;  /* 0x32 */
+       __le32                  SkipCount;                      /* 0x18 */
+       __le32                  DataLength;                     /* 0x1C */
+       __le32                  BidirectionalDataLength;        /* 0x20 */
+       __le16                  IoFlags;                        /* 0x24 */
+       __le16                  EEDPFlags;                      /* 0x26 */
+       __le32                  EEDPBlockSize;                  /* 0x28 */
+       __le32                  SecondaryReferenceTag;          /* 0x2C */
+       __le16                  SecondaryApplicationTag;        /* 0x30 */
+       __le16                  ApplicationTagTranslationMask;  /* 0x32 */
        u8                      LUN[8];                         /* 0x34 */
-       u32                     Control;                        /* 0x3C */
+       __le32                  Control;                        /* 0x3C */
        union MPI2_SCSI_IO_CDB_UNION  CDB;                      /* 0x40 */
        struct RAID_CONTEXT     RaidContext;                    /* 0x60 */
        union MPI2_SGE_IO_UNION       SGL;                      /* 0x80 */
 struct MPI2_DEFAULT_REQUEST_DESCRIPTOR {
        u8              RequestFlags;               /* 0x00 */
        u8              MSIxIndex;                  /* 0x01 */
-       u16             SMID;                       /* 0x02 */
-       u16             LMID;                       /* 0x04 */
-       u16             DescriptorTypeDependent;    /* 0x06 */
+       __le16          SMID;                       /* 0x02 */
+       __le16          LMID;                       /* 0x04 */
+       __le16          DescriptorTypeDependent;    /* 0x06 */
 };
 
 /* High Priority Request Descriptor */
 struct MPI2_HIGH_PRIORITY_REQUEST_DESCRIPTOR {
        u8              RequestFlags;               /* 0x00 */
        u8              MSIxIndex;                  /* 0x01 */
-       u16             SMID;                       /* 0x02 */
-       u16             LMID;                       /* 0x04 */
-       u16             Reserved1;                  /* 0x06 */
+       __le16          SMID;                       /* 0x02 */
+       __le16          LMID;                       /* 0x04 */
+       __le16          Reserved1;                  /* 0x06 */
 };
 
 /* SCSI IO Request Descriptor */
 struct MPI2_SCSI_IO_REQUEST_DESCRIPTOR {
        u8              RequestFlags;               /* 0x00 */
        u8              MSIxIndex;                  /* 0x01 */
-       u16             SMID;                       /* 0x02 */
-       u16             LMID;                       /* 0x04 */
-       u16             DevHandle;                  /* 0x06 */
+       __le16          SMID;                       /* 0x02 */
+       __le16          LMID;                       /* 0x04 */
+       __le16          DevHandle;                  /* 0x06 */
 };
 
 /* SCSI Target Request Descriptor */
 struct MPI2_SCSI_TARGET_REQUEST_DESCRIPTOR {
        u8              RequestFlags;               /* 0x00 */
        u8              MSIxIndex;                  /* 0x01 */
-       u16             SMID;                       /* 0x02 */
-       u16             LMID;                       /* 0x04 */
-       u16             IoIndex;                    /* 0x06 */
+       __le16          SMID;                       /* 0x02 */
+       __le16          LMID;                       /* 0x04 */
+       __le16          IoIndex;                    /* 0x06 */
 };
 
 /* RAID Accelerator Request Descriptor */
 struct MPI2_RAID_ACCEL_REQUEST_DESCRIPTOR {
        u8              RequestFlags;               /* 0x00 */
        u8              MSIxIndex;                  /* 0x01 */
-       u16             SMID;                       /* 0x02 */
-       u16             LMID;                       /* 0x04 */
-       u16             Reserved;                   /* 0x06 */
+       __le16          SMID;                       /* 0x02 */
+       __le16          LMID;                       /* 0x04 */
+       __le16          Reserved;                   /* 0x06 */
 };
 
 /* union of Request Descriptors */
        struct MEGASAS_RAID_MFA_IO_REQUEST_DESCRIPTOR      MFAIo;
        union {
                struct {
-                       u32 low;
-                       u32 high;
+                       __le32 low;
+                       __le32 high;
                } u;
-               u64 Words;
+               __le64 Words;
        };
 };
 
 struct MPI2_DEFAULT_REPLY_DESCRIPTOR {
        u8              ReplyFlags;                 /* 0x00 */
        u8              MSIxIndex;                  /* 0x01 */
-       u16             DescriptorTypeDependent1;   /* 0x02 */
-       u32             DescriptorTypeDependent2;   /* 0x04 */
+       __le16          DescriptorTypeDependent1;   /* 0x02 */
+       __le32          DescriptorTypeDependent2;   /* 0x04 */
 };
 
 /* Address Reply Descriptor */
 struct MPI2_ADDRESS_REPLY_DESCRIPTOR {
        u8              ReplyFlags;                 /* 0x00 */
        u8              MSIxIndex;                  /* 0x01 */
-       u16             SMID;                       /* 0x02 */
-       u32             ReplyFrameAddress;          /* 0x04 */
+       __le16          SMID;                       /* 0x02 */
+       __le32          ReplyFrameAddress;          /* 0x04 */
 };
 
 /* SCSI IO Success Reply Descriptor */
 struct MPI2_SCSI_IO_SUCCESS_REPLY_DESCRIPTOR {
        u8              ReplyFlags;                 /* 0x00 */
        u8              MSIxIndex;                  /* 0x01 */
-       u16             SMID;                       /* 0x02 */
-       u16             TaskTag;                    /* 0x04 */
-       u16             Reserved1;                  /* 0x06 */
+       __le16          SMID;                       /* 0x02 */
+       __le16          TaskTag;                    /* 0x04 */
+       __le16          Reserved1;                  /* 0x06 */
 };
 
 /* TargetAssist Success Reply Descriptor */
 struct MPI2_TARGETASSIST_SUCCESS_REPLY_DESCRIPTOR {
        u8              ReplyFlags;                 /* 0x00 */
        u8              MSIxIndex;                  /* 0x01 */
-       u16             SMID;                       /* 0x02 */
+       __le16          SMID;                       /* 0x02 */
        u8              SequenceNumber;             /* 0x04 */
        u8              Reserved1;                  /* 0x05 */
-       u16             IoIndex;                    /* 0x06 */
+       __le16          IoIndex;                    /* 0x06 */
 };
 
 /* Target Command Buffer Reply Descriptor */
        u8              MSIxIndex;                  /* 0x01 */
        u8              VP_ID;                      /* 0x02 */
        u8              Flags;                      /* 0x03 */
-       u16             InitiatorDevHandle;         /* 0x04 */
-       u16             IoIndex;                    /* 0x06 */
+       __le16          InitiatorDevHandle;         /* 0x04 */
+       __le16          IoIndex;                    /* 0x06 */
 };
 
 /* RAID Accelerator Success Reply Descriptor */
 struct MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR {
        u8              ReplyFlags;                 /* 0x00 */
        u8              MSIxIndex;                  /* 0x01 */
-       u16             SMID;                       /* 0x02 */
-       u32             Reserved;                   /* 0x04 */
+       __le16          SMID;                       /* 0x02 */
+       __le32          Reserved;                   /* 0x04 */
 };
 
 /* union of Reply Descriptors */
        struct MPI2_TARGET_COMMAND_BUFFER_REPLY_DESCRIPTOR TargetCommandBuffer;
        struct MPI2_RAID_ACCELERATOR_SUCCESS_REPLY_DESCRIPTOR
        RAIDAcceleratorSuccess;
-       u64                                             Words;
+       __le64                                             Words;
 };
 
 /* IOCInit Request message */
        u8                      Reserved1;                      /* 0x01 */
        u8                      ChainOffset;                    /* 0x02 */
        u8                      Function;                       /* 0x03 */
-       u16                     Reserved2;                      /* 0x04 */
+       __le16                  Reserved2;                      /* 0x04 */
        u8                      Reserved3;                      /* 0x06 */
        u8                      MsgFlags;                       /* 0x07 */
        u8                      VP_ID;                          /* 0x08 */
        u8                      VF_ID;                          /* 0x09 */
-       u16                     Reserved4;                      /* 0x0A */
-       u16                     MsgVersion;                     /* 0x0C */
-       u16                     HeaderVersion;                  /* 0x0E */
+       __le16                  Reserved4;                      /* 0x0A */
+       __le16                  MsgVersion;                     /* 0x0C */
+       __le16                  HeaderVersion;                  /* 0x0E */
        u32                     Reserved5;                      /* 0x10 */
-       u16                     Reserved6;                      /* 0x14 */
+       __le16                  Reserved6;                      /* 0x14 */
        u8                      Reserved7;                      /* 0x16 */
        u8                      HostMSIxVectors;                /* 0x17 */
-       u16                     Reserved8;                      /* 0x18 */
-       u16                     SystemRequestFrameSize;         /* 0x1A */
-       u16                     ReplyDescriptorPostQueueDepth;  /* 0x1C */
-       u16                     ReplyFreeQueueDepth;            /* 0x1E */
-       u32                     SenseBufferAddressHigh;         /* 0x20 */
-       u32                     SystemReplyAddressHigh;         /* 0x24 */
-       u64                     SystemRequestFrameBaseAddress;  /* 0x28 */
-       u64                     ReplyDescriptorPostQueueAddress;/* 0x30 */
-       u64                     ReplyFreeQueueAddress;          /* 0x38 */
-       u64                     TimeStamp;                      /* 0x40 */
+       __le16                  Reserved8;                      /* 0x18 */
+       __le16                  SystemRequestFrameSize;         /* 0x1A */
+       __le16                  ReplyDescriptorPostQueueDepth;  /* 0x1C */
+       __le16                  ReplyFreeQueueDepth;            /* 0x1E */
+       __le32                  SenseBufferAddressHigh;         /* 0x20 */
+       __le32                  SystemReplyAddressHigh;         /* 0x24 */
+       __le64                  SystemRequestFrameBaseAddress;  /* 0x28 */
+       __le64                  ReplyDescriptorPostQueueAddress;/* 0x30 */
+       __le64                  ReplyFreeQueueAddress;          /* 0x38 */
+       __le64                  TimeStamp;                      /* 0x40 */
 };
 
 /* mrpriv defines */
 #define MR_DCMD_LD_VF_MAP_GET_ALL_LDS       0x03150200
 
 struct MR_DEV_HANDLE_INFO {
-       u16     curDevHdl;
+       __le16  curDevHdl;
        u8      validHandles;
        u8      reserved;
-       u16     devHandle[2];
+       __le16  devHandle[2];
 };
 
 struct MR_ARRAY_INFO {
-       u16      pd[MAX_RAIDMAP_ROW_SIZE];
+       __le16  pd[MAX_RAIDMAP_ROW_SIZE];
 };
 
 struct MR_QUAD_ELEMENT {
-       u64     logStart;
-       u64     logEnd;
-       u64     offsetInSpan;
-       u32     diff;
-       u32     reserved1;
+       __le64     logStart;
+       __le64     logEnd;
+       __le64     offsetInSpan;
+       __le32     diff;
+       __le32     reserved1;
 };
 
 struct MR_SPAN_INFO {
-       u32             noElements;
-       u32             reserved1;
+       __le32             noElements;
+       __le32             reserved1;
        struct MR_QUAD_ELEMENT quad[MAX_RAIDMAP_SPAN_DEPTH];
 };
 
 struct MR_LD_SPAN {
-       u64      startBlk;
-       u64      numBlks;
-       u16      arrayRef;
+       __le64   startBlk;
+       __le64   numBlks;
+       __le16   arrayRef;
        u8       spanRowSize;
        u8       spanRowDataSize;
        u8       reserved[4];
 };
 
 struct MR_SPAN_BLOCK_INFO {
-       u64          num_rows;
+       __le64          num_rows;
        struct MR_LD_SPAN   span;
        struct MR_SPAN_INFO block_span_info;
 };
                u32     reserved4:7;
 #endif
        } capability;
-       u32     reserved6;
-       u64     size;
+       __le32     reserved6;
+       __le64     size;
        u8      spanDepth;
        u8      level;
        u8      stripeShift;
        u8      writeMode;
        u8      PRL;
        u8      SRL;
-       u16     targetId;
+       __le16     targetId;
        u8      ldState;
        u8      regTypeReqOnWrite;
        u8      modFactor;
        u8      regTypeReqOnRead;
-       u16     seqNum;
+       __le16     seqNum;
 
        struct {
                u32 ldSyncRequired:1;
 };
 
 struct MR_FW_RAID_MAP {
-       u32                 totalSize;
+       __le32                 totalSize;
        union {
                struct {
-                       u32         maxLd;
-                       u32         maxSpanDepth;
-                       u32         maxRowSize;
-                       u32         maxPdCount;
-                       u32         maxArrays;
+                       __le32         maxLd;
+                       __le32         maxSpanDepth;
+                       __le32         maxRowSize;
+                       __le32         maxPdCount;
+                       __le32         maxArrays;
                } validationInfo;
-               u32             version[5];
+               __le32             version[5];
        };
 
-       u32                 ldCount;
-       u32                 Reserved1;
+       __le32                 ldCount;
+       __le32                 Reserved1;
        u8                  ldTgtIdToLd[MAX_RAIDMAP_LOGICAL_DRIVES+
                                        MAX_RAIDMAP_VIEWS];
        u8                  fpPdIoTimeoutSec;
        u32 numBlocks;
        u16 ldTgtId;
        u8 isRead;
-       u16 devHandle;
+       __le16 devHandle;
        u64 pdBlock;
        u8 fpOkForIo;
        u8 IoforUnevenSpan;
 struct MR_LD_TARGET_SYNC {
        u8  targetId;
        u8  reserved;
-       u16 seqNum;
+       __le16 seqNum;
 };
 
 #define IEEE_SGE_FLAGS_ADDR_MASK            (0x03)
         * This feild will be manupulated by driver for ext raid map,
         * else pick the value from firmware raid map.
         */
-       u32                 totalSize;
+       __le32                 totalSize;
 
        union {
        struct {
-               u32         maxLd;
-               u32         maxSpanDepth;
-               u32         maxRowSize;
-               u32         maxPdCount;
-               u32         maxArrays;
+               __le32         maxLd;
+               __le32         maxSpanDepth;
+               __le32         maxRowSize;
+               __le32         maxPdCount;
+               __le32         maxArrays;
        } validationInfo;
-       u32             version[5];
+       __le32             version[5];
        };
 
        /* timeout value used by driver in FP IOs*/
        u8                  fpPdIoTimeoutSec;
        u8                  reserved2[7];
 
-       u16                 ldCount;
-       u16                 arCount;
-       u16                 spanCount;
-       u16                 reserve3;
+       __le16                 ldCount;
+       __le16                 arCount;
+       __le16                 spanCount;
+       __le16                 reserve3;
 
        struct MR_DEV_HANDLE_INFO  devHndlInfo[MAX_RAIDMAP_PHYSICAL_DEVICES];
        u8                  ldTgtIdToLd[MAX_LOGICAL_DRIVES_EXT];
        u8                  fpPdIoTimeoutSec;
        u8                  reserved2[7];
 
-       u16                 ldCount;
-       u16                 arCount;
-       u16                 spanCount;
-       u16                 reserve3;
+       __le16                 ldCount;
+       __le16                 arCount;
+       __le16                 spanCount;
+       __le16                 reserve3;
 
        struct MR_DEV_HANDLE_INFO  devHndlInfo[MAX_RAIDMAP_PHYSICAL_DEVICES];
        u8                  ldTgtIdToLd[MAX_LOGICAL_DRIVES_EXT];
 };
 
 union desc_value {
-       u64 word;
+       __le64 word;
        struct {
-               u32 low;
-               u32 high;
+               __le32 low;
+               __le32 high;
        } u;
 };