Re: [PATCH 6/7] [RFC] qlge: New Driver: Add ethtool source file qlge_ethtool.c
From: Stephen Hemminger <hidden>
Date: 2008-08-29 21:22:30
From: Stephen Hemminger <hidden>
Date: 2008-08-29 21:22:30
+static struct ethtool_ops qlge_ethtool_ops = {Should be const in recent kernels
+ .get_drvinfo = ql_get_drvinfo,
+ .get_msglevel = ql_get_msglevel,
+ .set_msglevel = ql_set_msglevel,
+ .get_rx_csum = ql_get_rx_csum,
+ .set_rx_csum = ql_set_rx_csum,
+ .get_tx_csum = ethtool_op_get_tx_csum,
+ .get_sg = ethtool_op_get_sg,
+ .set_sg = ethtool_op_set_sg,
+ .get_tso = ethtool_op_get_tso,
+ .set_tso = ql_set_tso,
+ .get_coalesce = ql_get_coalesce,
+ .set_coalesce = ql_set_coalesce,
+ .get_sset_count = ql_get_sset_count,
+ .get_strings = ql_get_strings,
+ .get_ethtool_stats = ql_get_ethtool_stats,
+};
+
+void ql_set_ethtool_ops(struct net_device *ndev)
+{
+ SET_ETHTOOL_OPS(ndev, &qlge_ethtool_ops);
+}This function is useless overhead that only happens because you made qlge_ethtool_ops static, just make it global and call SET_ETHTOOL_OPS over in the setup code.