r8169: remove member coalesce_info from struct rtl_cfg_info [Linux 5.3]

This Linux kernel change "r8169: remove member coalesce_info from struct rtl_cfg_info" is included in the Linux 5.3 release. This change is authored by Heiner Kallweit <hkallweit1 [at] gmail.com> on Mon Jun 10 18:24:25 2019 +0200. The commit for this change in Linux stable tree is 9fa0a8e (patch).

r8169: remove member coalesce_info from struct rtl_cfg_info

To prepare removal of struct rtl_cfg_info, set the coalesce
config based on the chip version number.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

There are 10 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 drivers/net/ethernet/realtek/r8169_main.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c
index 4a53276..65ae575 100644
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
@@ -6461,18 +6461,14 @@ static void rtl_remove_one(struct pci_dev *pdev)

 static const struct rtl_cfg_info {
    unsigned int has_gmii:1;
-   const struct rtl_coalesce_info *coalesce_info;
 } rtl_cfg_infos [] = {
    [RTL_CFG_0] = {
        .has_gmii   = 1,
-       .coalesce_info  = rtl_coalesce_info_8169,
    },
    [RTL_CFG_1] = {
        .has_gmii   = 1,
-       .coalesce_info  = rtl_coalesce_info_8168_8136,
    },
    [RTL_CFG_2] = {
-       .coalesce_info  = rtl_coalesce_info_8168_8136,
    }
 };

@@ -6850,7 +6846,11 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
    dev->max_mtu = jumbo_max;

    rtl_set_irq_mask(tp);
-   tp->coalesce_info = cfg->coalesce_info;
+
+   if (tp->mac_version <= RTL_GIGA_MAC_VER_06)
+       tp->coalesce_info = rtl_coalesce_info_8169;
+   else
+       tp->coalesce_info = rtl_coalesce_info_8168_8136;

    tp->fw_name = rtl_chip_infos[chipset].fw_name;

Leave a Reply

Your email address will not be published. Required fields are marked *