diff options
author | Julian Wiedmann | 2019-06-27 17:01:24 +0200 |
---|---|---|
committer | David S. Miller | 2019-06-27 19:18:23 +0200 |
commit | b9150461e5a6f4a78d0ef8a4d4f2a41f5a12d979 (patch) | |
tree | c5619d42256945f9c8d1693f6a4381e950b0655e /drivers/s390/net/qeth_core.h | |
parent | s390/qeth: clarify parameter for simple assist cmds (diff) | |
download | kernel-qcow2-linux-b9150461e5a6f4a78d0ef8a4d4f2a41f5a12d979.tar.gz kernel-qcow2-linux-b9150461e5a6f4a78d0ef8a4d4f2a41f5a12d979.tar.xz kernel-qcow2-linux-b9150461e5a6f4a78d0ef8a4d4f2a41f5a12d979.zip |
s390/qeth: dynamically allocate various cmds with sub-types
This patch converts the adapter, assist and bridgeport cmd paths to
dynamic allocation. Most of the work is about re-organizing the cmd
headers, calculating the correct cmd length, and filling in the right
value in the sub-cmd's length field.
Since we now also set the correct length for cmds that are not reflected
by a fixed struct (ie SNMP), we can remove the work-around from
qeth_snmp_command().
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/s390/net/qeth_core.h')
-rw-r--r-- | drivers/s390/net/qeth_core.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/s390/net/qeth_core.h b/drivers/s390/net/qeth_core.h index 35d7b43f6580..258756dc06c3 100644 --- a/drivers/s390/net/qeth_core.h +++ b/drivers/s390/net/qeth_core.h @@ -1003,6 +1003,11 @@ struct qeth_cmd_buffer *qeth_ipa_alloc_cmd(struct qeth_card *card, struct qeth_cmd_buffer *qeth_alloc_cmd(struct qeth_channel *channel, unsigned int length, unsigned int ccws, long timeout); +struct qeth_cmd_buffer *qeth_get_setassparms_cmd(struct qeth_card *card, + enum qeth_ipa_funcs ipa_func, + u16 cmd_code, + unsigned int data_length, + enum qeth_prot_versions prot); struct sk_buff *qeth_core_get_next_skb(struct qeth_card *, struct qeth_qdio_buffer *, struct qdio_buffer_element **, int *, @@ -1037,10 +1042,6 @@ int qeth_configure_cq(struct qeth_card *, enum qeth_cq); int qeth_hw_trap(struct qeth_card *, enum qeth_diags_trap_action); void qeth_trace_features(struct qeth_card *); int qeth_setassparms_cb(struct qeth_card *, struct qeth_reply *, unsigned long); -struct qeth_cmd_buffer *qeth_get_setassparms_cmd(struct qeth_card *, - enum qeth_ipa_funcs, - __u16, __u16, - enum qeth_prot_versions); int qeth_set_features(struct net_device *, netdev_features_t); void qeth_enable_hw_features(struct net_device *dev); netdev_features_t qeth_fix_features(struct net_device *, netdev_features_t); |