realtek: remove RTL839x path in RTL838x multicast
authorSander Vanheule <sander@svanheule.net>
Fri, 9 Sep 2022 17:35:23 +0000 (19:35 +0200)
committerSander Vanheule <sander@svanheule.net>
Sun, 23 Oct 2022 20:33:08 +0000 (22:33 +0200)
The multicast setup function rtl838x_eth_set_multicast_list() checks if
the current SoC is a RTL839x family device. However, the function is
only included in the RTL838x ops table, so this path should never be
taken, making this dead code. rtl839x_eth_set_multicast_list() is
already present in the RTL839x ops table, so it should be safe to remove
this branch.

While touching the code, also re-sort the functions to match sorting
elsewhere, with rtl838x coming before rtl839x.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
target/linux/realtek/files-5.10/drivers/net/ethernet/rtl838x_eth.c

index d497b4cc8caa5dcbd6ad6f6dae2df4492ab98d55..7a6057b44595f11843b2d4cef8bbcfb75786dea5 100644 (file)
@@ -1030,6 +1030,20 @@ static int rtl838x_eth_stop(struct net_device *ndev)
        return 0;
 }
 
+static void rtl838x_eth_set_multicast_list(struct net_device *ndev)
+{
+       if (!(ndev->flags & (IFF_PROMISC | IFF_ALLMULTI))) {
+               sw_w32(0x0, RTL838X_RMA_CTRL_0);
+               sw_w32(0x0, RTL838X_RMA_CTRL_1);
+       }
+       if (ndev->flags & IFF_ALLMULTI)
+               sw_w32(0x1fffff, RTL838X_RMA_CTRL_0);
+       if (ndev->flags & IFF_PROMISC) {
+               sw_w32(0x1fffff, RTL838X_RMA_CTRL_0);
+               sw_w32(0x7fff, RTL838X_RMA_CTRL_1);
+       }
+}
+
 static void rtl839x_eth_set_multicast_list(struct net_device *ndev)
 {
        if (!(ndev->flags & (IFF_PROMISC | IFF_ALLMULTI))) {
@@ -1051,25 +1065,6 @@ static void rtl839x_eth_set_multicast_list(struct net_device *ndev)
        }
 }
 
-static void rtl838x_eth_set_multicast_list(struct net_device *ndev)
-{
-       struct rtl838x_eth_priv *priv = netdev_priv(ndev);
-
-       if (priv->family_id == RTL8390_FAMILY_ID)
-               return rtl839x_eth_set_multicast_list(ndev);
-
-       if (!(ndev->flags & (IFF_PROMISC | IFF_ALLMULTI))) {
-               sw_w32(0x0, RTL838X_RMA_CTRL_0);
-               sw_w32(0x0, RTL838X_RMA_CTRL_1);
-       }
-       if (ndev->flags & IFF_ALLMULTI)
-               sw_w32(0x1fffff, RTL838X_RMA_CTRL_0);
-       if (ndev->flags & IFF_PROMISC) {
-               sw_w32(0x1fffff, RTL838X_RMA_CTRL_0);
-               sw_w32(0x7fff, RTL838X_RMA_CTRL_1);
-       }
-}
-
 static void rtl930x_eth_set_multicast_list(struct net_device *ndev)
 {
        if (!(ndev->flags & (IFF_PROMISC | IFF_ALLMULTI))) {