hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
....@@ -40,9 +40,9 @@
4040 #include <linux/of_platform.h>
4141 #include <linux/of_gpio.h>
4242 #include <linux/of_net.h>
43
+#include <linux/pgtable.h>
4344
4445 #include <linux/vmalloc.h>
45
-#include <asm/pgtable.h>
4646 #include <asm/irq.h>
4747 #include <linux/uaccess.h>
4848
....@@ -53,7 +53,6 @@
5353 MODULE_AUTHOR("Pantelis Antoniou <panto@intracom.gr>");
5454 MODULE_DESCRIPTION("Freescale Ethernet Driver");
5555 MODULE_LICENSE("GPL");
56
-MODULE_VERSION(DRV_MODULE_VERSION);
5756
5857 static int fs_enet_debug = -1; /* -1 == use FS_ENET_DEF_MSG_ENABLE as value */
5958 module_param(fs_enet_debug, int, 0);
....@@ -501,7 +500,7 @@
501500 nr_frags = skb_shinfo(skb)->nr_frags;
502501 frag = skb_shinfo(skb)->frags;
503502 for (i = 0; i < nr_frags; i++, frag++) {
504
- if (!IS_ALIGNED(frag->page_offset, 4)) {
503
+ if (!IS_ALIGNED(skb_frag_off(frag), 4)) {
505504 is_aligned = 0;
506505 break;
507506 }
....@@ -563,10 +562,13 @@
563562 BD_ENET_TX_TC);
564563 CBDS_SC(bdp, BD_ENET_TX_READY);
565564
566
- if ((CBDR_SC(bdp) & BD_ENET_TX_WRAP) == 0)
567
- bdp++, curidx++;
568
- else
569
- bdp = fep->tx_bd_base, curidx = 0;
565
+ if ((CBDR_SC(bdp) & BD_ENET_TX_WRAP) == 0) {
566
+ bdp++;
567
+ curidx++;
568
+ } else {
569
+ bdp = fep->tx_bd_base;
570
+ curidx = 0;
571
+ }
570572
571573 len = skb_frag_size(frag);
572574 CBDW_BUFADDR(bdp, skb_frag_dma_map(fep->dev, frag, 0, len,
....@@ -641,7 +643,7 @@
641643 netif_wake_queue(dev);
642644 }
643645
644
-static void fs_timeout(struct net_device *dev)
646
+static void fs_timeout(struct net_device *dev, unsigned int txqueue)
645647 {
646648 struct fs_enet_private *fep = netdev_priv(dev);
647649
....@@ -790,7 +792,6 @@
790792 struct ethtool_drvinfo *info)
791793 {
792794 strlcpy(info->driver, DRV_MODULE_NAME, sizeof(info->driver));
793
- strlcpy(info->version, DRV_MODULE_VERSION, sizeof(info->version));
794795 }
795796
796797 static int fs_get_regs_len(struct net_device *dev)
....@@ -882,14 +883,6 @@
882883 .set_tunable = fs_set_tunable,
883884 };
884885
885
-static int fs_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
886
-{
887
- if (!netif_running(dev))
888
- return -EINVAL;
889
-
890
- return phy_mii_ioctl(dev->phydev, rq, cmd);
891
-}
892
-
893886 extern int fs_mii_connect(struct net_device *dev);
894887 extern void fs_mii_disconnect(struct net_device *dev);
895888
....@@ -907,7 +900,7 @@
907900 .ndo_start_xmit = fs_enet_start_xmit,
908901 .ndo_tx_timeout = fs_timeout,
909902 .ndo_set_rx_mode = fs_set_multicast_list,
910
- .ndo_do_ioctl = fs_ioctl,
903
+ .ndo_do_ioctl = phy_do_ioctl_running,
911904 .ndo_validate_addr = eth_validate_addr,
912905 .ndo_set_mac_address = eth_mac_addr,
913906 #ifdef CONFIG_NET_POLL_CONTROLLER
....@@ -1014,8 +1007,8 @@
10141007 spin_lock_init(&fep->tx_lock);
10151008
10161009 mac_addr = of_get_mac_address(ofdev->dev.of_node);
1017
- if (mac_addr)
1018
- memcpy(ndev->dev_addr, mac_addr, ETH_ALEN);
1010
+ if (!IS_ERR(mac_addr))
1011
+ ether_addr_copy(ndev->dev_addr, mac_addr);
10191012
10201013 ret = fep->ops->allocate_bd(ndev);
10211014 if (ret)
....@@ -1053,8 +1046,7 @@
10531046 out_free_dev:
10541047 free_netdev(ndev);
10551048 out_put:
1056
- if (fpi->clk_per)
1057
- clk_disable_unprepare(fpi->clk_per);
1049
+ clk_disable_unprepare(fpi->clk_per);
10581050 out_deregister_fixed_link:
10591051 of_node_put(fpi->phy_node);
10601052 if (of_phy_is_fixed_link(ofdev->dev.of_node))
....@@ -1075,8 +1067,7 @@
10751067 fep->ops->cleanup_data(ndev);
10761068 dev_set_drvdata(fep->dev, NULL);
10771069 of_node_put(fep->fpi->phy_node);
1078
- if (fep->fpi->clk_per)
1079
- clk_disable_unprepare(fep->fpi->clk_per);
1070
+ clk_disable_unprepare(fep->fpi->clk_per);
10801071 if (of_phy_is_fixed_link(ofdev->dev.of_node))
10811072 of_phy_deregister_fixed_link(ofdev->dev.of_node);
10821073 free_netdev(ndev);