Commit 5dca69c4 authored by Shannon Nelson's avatar Shannon Nelson Committed by David S. Miller

ionic: remove pragma packed

Replace the misguided "#pragma packed" with tags on each
struct/union definition that actually needs it.  This is safer
and more efficient on the various compilers and architectures.
Signed-off-by: default avatarShannon Nelson <snelson@pensando.io>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 30a1e6d0
...@@ -4,8 +4,6 @@ ...@@ -4,8 +4,6 @@
#ifndef _IONIC_IF_H_ #ifndef _IONIC_IF_H_
#define _IONIC_IF_H_ #define _IONIC_IF_H_
#pragma pack(push, 1)
#define IONIC_DEV_INFO_SIGNATURE 0x44455649 /* 'DEVI' */ #define IONIC_DEV_INFO_SIGNATURE 0x44455649 /* 'DEVI' */
#define IONIC_DEV_INFO_VERSION 1 #define IONIC_DEV_INFO_VERSION 1
#define IONIC_IFNAMSIZ 16 #define IONIC_IFNAMSIZ 16
...@@ -366,7 +364,7 @@ union ionic_lif_config { ...@@ -366,7 +364,7 @@ union ionic_lif_config {
u8 rsvd2[2]; u8 rsvd2[2];
__le64 features; __le64 features;
__le32 queue_count[IONIC_QTYPE_MAX]; __le32 queue_count[IONIC_QTYPE_MAX];
}; } __packed;
__le32 words[64]; __le32 words[64];
}; };
...@@ -417,7 +415,7 @@ union ionic_lif_identity { ...@@ -417,7 +415,7 @@ union ionic_lif_identity {
__le32 max_frame_size; __le32 max_frame_size;
u8 rsvd2[106]; u8 rsvd2[106];
union ionic_lif_config config; union ionic_lif_config config;
} eth; } __packed eth;
struct { struct {
u8 version; u8 version;
...@@ -439,8 +437,8 @@ union ionic_lif_identity { ...@@ -439,8 +437,8 @@ union ionic_lif_identity {
struct ionic_lif_logical_qtype rq_qtype; struct ionic_lif_logical_qtype rq_qtype;
struct ionic_lif_logical_qtype cq_qtype; struct ionic_lif_logical_qtype cq_qtype;
struct ionic_lif_logical_qtype eq_qtype; struct ionic_lif_logical_qtype eq_qtype;
} rdma; } __packed rdma;
}; } __packed;
__le32 words[512]; __le32 words[512];
}; };
...@@ -526,7 +524,7 @@ struct ionic_q_init_cmd { ...@@ -526,7 +524,7 @@ struct ionic_q_init_cmd {
__le64 sg_ring_base; __le64 sg_ring_base;
__le32 eq_index; __le32 eq_index;
u8 rsvd2[16]; u8 rsvd2[16];
}; } __packed;
/** /**
* struct ionic_q_init_comp - Queue init command completion * struct ionic_q_init_comp - Queue init command completion
...@@ -1095,7 +1093,7 @@ struct ionic_port_status { ...@@ -1095,7 +1093,7 @@ struct ionic_port_status {
u8 status; u8 status;
u8 rsvd[51]; u8 rsvd[51];
struct ionic_xcvr_status xcvr; struct ionic_xcvr_status xcvr;
}; } __packed;
/** /**
* struct ionic_port_identify_cmd - Port identify command * struct ionic_port_identify_cmd - Port identify command
...@@ -1251,7 +1249,7 @@ struct ionic_port_getattr_comp { ...@@ -1251,7 +1249,7 @@ struct ionic_port_getattr_comp {
u8 pause_type; u8 pause_type;
u8 loopback_mode; u8 loopback_mode;
u8 rsvd2[11]; u8 rsvd2[11];
}; } __packed;
u8 color; u8 color;
}; };
...@@ -1319,7 +1317,7 @@ struct ionic_dev_setattr_cmd { ...@@ -1319,7 +1317,7 @@ struct ionic_dev_setattr_cmd {
char name[IONIC_IFNAMSIZ]; char name[IONIC_IFNAMSIZ];
__le64 features; __le64 features;
u8 rsvd2[60]; u8 rsvd2[60];
}; } __packed;
}; };
/** /**
...@@ -1334,7 +1332,7 @@ struct ionic_dev_setattr_comp { ...@@ -1334,7 +1332,7 @@ struct ionic_dev_setattr_comp {
union { union {
__le64 features; __le64 features;
u8 rsvd2[11]; u8 rsvd2[11];
}; } __packed;
u8 color; u8 color;
}; };
...@@ -1361,7 +1359,7 @@ struct ionic_dev_getattr_comp { ...@@ -1361,7 +1359,7 @@ struct ionic_dev_getattr_comp {
union { union {
__le64 features; __le64 features;
u8 rsvd2[11]; u8 rsvd2[11];
}; } __packed;
u8 color; u8 color;
}; };
...@@ -1426,7 +1424,7 @@ struct ionic_lif_setattr_cmd { ...@@ -1426,7 +1424,7 @@ struct ionic_lif_setattr_cmd {
} rss; } rss;
u8 stats_ctl; u8 stats_ctl;
u8 rsvd[60]; u8 rsvd[60];
}; } __packed;
}; };
/** /**
...@@ -1444,7 +1442,7 @@ struct ionic_lif_setattr_comp { ...@@ -1444,7 +1442,7 @@ struct ionic_lif_setattr_comp {
union { union {
__le64 features; __le64 features;
u8 rsvd2[11]; u8 rsvd2[11];
}; } __packed;
u8 color; u8 color;
}; };
...@@ -1483,7 +1481,7 @@ struct ionic_lif_getattr_comp { ...@@ -1483,7 +1481,7 @@ struct ionic_lif_getattr_comp {
u8 mac[6]; u8 mac[6];
__le64 features; __le64 features;
u8 rsvd2[11]; u8 rsvd2[11];
}; } __packed;
u8 color; u8 color;
}; };
...@@ -1688,7 +1686,7 @@ struct ionic_vf_setattr_cmd { ...@@ -1688,7 +1686,7 @@ struct ionic_vf_setattr_cmd {
u8 linkstate; u8 linkstate;
__le64 stats_pa; __le64 stats_pa;
u8 pad[60]; u8 pad[60];
}; } __packed;
}; };
struct ionic_vf_setattr_comp { struct ionic_vf_setattr_comp {
...@@ -1726,7 +1724,7 @@ struct ionic_vf_getattr_comp { ...@@ -1726,7 +1724,7 @@ struct ionic_vf_getattr_comp {
u8 linkstate; u8 linkstate;
__le64 stats_pa; __le64 stats_pa;
u8 pad[11]; u8 pad[11];
}; } __packed;
u8 color; u8 color;
}; };
...@@ -2472,7 +2470,7 @@ union ionic_dev_cmd_regs { ...@@ -2472,7 +2470,7 @@ union ionic_dev_cmd_regs {
union ionic_dev_cmd_comp comp; union ionic_dev_cmd_comp comp;
u8 rsvd[48]; u8 rsvd[48];
u32 data[478]; u32 data[478];
}; } __packed;
u32 words[512]; u32 words[512];
}; };
...@@ -2485,7 +2483,7 @@ union ionic_dev_regs { ...@@ -2485,7 +2483,7 @@ union ionic_dev_regs {
struct { struct {
union ionic_dev_info_regs info; union ionic_dev_info_regs info;
union ionic_dev_cmd_regs devcmd; union ionic_dev_cmd_regs devcmd;
}; } __packed;
__le32 words[1024]; __le32 words[1024];
}; };
...@@ -2575,6 +2573,4 @@ struct ionic_identity { ...@@ -2575,6 +2573,4 @@ struct ionic_identity {
union ionic_qos_identity qos; union ionic_qos_identity qos;
}; };
#pragma pack(pop)
#endif /* _IONIC_IF_H_ */ #endif /* _IONIC_IF_H_ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment