Commit 65b0494e authored by Julian Wiedmann's avatar Julian Wiedmann Committed by David S. Miller

s390/qeth: unify structs for bridge port state

The data returned from IPA_SBP_QUERY_BRIDGE_PORTS and
IPA_SBP_BRIDGE_PORT_STATE_CHANGE has the same format. Use a single
struct definition for it.
Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
Reviewed-by: default avatarAlexandra Winter <wintera@linux.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 61c6f217
...@@ -719,15 +719,8 @@ struct qeth_sbp_port_entry { ...@@ -719,15 +719,8 @@ struct qeth_sbp_port_entry {
struct net_if_token token; struct net_if_token token;
} __packed; } __packed;
struct qeth_sbp_query_ports { /* For IPA_SBP_QUERY_BRIDGE_PORTS, IPA_SBP_BRIDGE_PORT_STATE_CHANGE */
__u8 primary_bp_supported; struct qeth_sbp_port_data {
__u8 secondary_bp_supported;
__u8 num_entries;
__u8 entry_length;
struct qeth_sbp_port_entry entry[];
} __packed;
struct qeth_sbp_state_change {
__u8 primary_bp_supported; __u8 primary_bp_supported;
__u8 secondary_bp_supported; __u8 secondary_bp_supported;
__u8 num_entries; __u8 num_entries;
...@@ -741,8 +734,7 @@ struct qeth_ipacmd_setbridgeport { ...@@ -741,8 +734,7 @@ struct qeth_ipacmd_setbridgeport {
union { union {
struct qeth_sbp_query_cmds_supp query_cmds_supp; struct qeth_sbp_query_cmds_supp query_cmds_supp;
struct qeth_sbp_set_primary set_primary; struct qeth_sbp_set_primary set_primary;
struct qeth_sbp_query_ports query_ports; struct qeth_sbp_port_data port_data;
struct qeth_sbp_state_change state_change;
} data; } data;
} __packed; } __packed;
......
...@@ -1125,8 +1125,7 @@ static void qeth_bridge_state_change_worker(struct work_struct *work) ...@@ -1125,8 +1125,7 @@ static void qeth_bridge_state_change_worker(struct work_struct *work)
static void qeth_bridge_state_change(struct qeth_card *card, static void qeth_bridge_state_change(struct qeth_card *card,
struct qeth_ipa_cmd *cmd) struct qeth_ipa_cmd *cmd)
{ {
struct qeth_sbp_state_change *qports = struct qeth_sbp_port_data *qports = &cmd->data.sbp.data.port_data;
&cmd->data.sbp.data.state_change;
struct qeth_bridge_state_data *data; struct qeth_bridge_state_data *data;
QETH_CARD_TEXT(card, 2, "brstchng"); QETH_CARD_TEXT(card, 2, "brstchng");
...@@ -1409,8 +1408,8 @@ static int qeth_bridgeport_query_ports_cb(struct qeth_card *card, ...@@ -1409,8 +1408,8 @@ static int qeth_bridgeport_query_ports_cb(struct qeth_card *card,
struct qeth_reply *reply, unsigned long data) struct qeth_reply *reply, unsigned long data)
{ {
struct qeth_ipa_cmd *cmd = (struct qeth_ipa_cmd *) data; struct qeth_ipa_cmd *cmd = (struct qeth_ipa_cmd *) data;
struct qeth_sbp_query_ports *qports = &cmd->data.sbp.data.query_ports;
struct _qeth_sbp_cbctl *cbctl = (struct _qeth_sbp_cbctl *)reply->param; struct _qeth_sbp_cbctl *cbctl = (struct _qeth_sbp_cbctl *)reply->param;
struct qeth_sbp_port_data *qports;
int rc; int rc;
QETH_CARD_TEXT(card, 2, "brqprtcb"); QETH_CARD_TEXT(card, 2, "brqprtcb");
...@@ -1418,6 +1417,7 @@ static int qeth_bridgeport_query_ports_cb(struct qeth_card *card, ...@@ -1418,6 +1417,7 @@ static int qeth_bridgeport_query_ports_cb(struct qeth_card *card,
if (rc) if (rc)
return rc; return rc;
qports = &cmd->data.sbp.data.port_data;
if (qports->entry_length != sizeof(struct qeth_sbp_port_entry)) { if (qports->entry_length != sizeof(struct qeth_sbp_port_entry)) {
QETH_CARD_TEXT_(card, 2, "SBPs%04x", qports->entry_length); QETH_CARD_TEXT_(card, 2, "SBPs%04x", qports->entry_length);
return -EINVAL; return -EINVAL;
......
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