]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/net/fs_enet/fs_enet-main.c
[ETH]: Make eth_type_trans set skb->dev like the other *_type_trans
[mirror_ubuntu-bionic-kernel.git] / drivers / net / fs_enet / fs_enet-main.c
index df62506a178701eb30376f6f3f15cdd75a7dc289..9f6ef315ce51b868e45f7a6f68dcd04d3c352509 100644 (file)
@@ -18,7 +18,6 @@
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/types.h>
-#include <linux/sched.h>
 #include <linux/string.h>
 #include <linux/ptrace.h>
 #include <linux/errno.h>
@@ -171,7 +170,6 @@ static int fs_enet_rx_napi(struct net_device *dev, int *budget)
                                skbn = dev_alloc_skb(ENET_RX_FRSIZE);
 
                        if (skbn != NULL) {
-                               skb->dev = dev;
                                skb_put(skb, pkt_len);  /* Make room */
                                skb->protocol = eth_type_trans(skb, dev);
                                received++;
@@ -305,7 +303,6 @@ static int fs_enet_rx_non_napi(struct net_device *dev)
                                skbn = dev_alloc_skb(ENET_RX_FRSIZE);
 
                        if (skbn != NULL) {
-                               skb->dev = dev;
                                skb_put(skb, pkt_len);  /* Make room */
                                skb->protocol = eth_type_trans(skb, dev);
                                received++;
@@ -441,7 +438,7 @@ static void fs_enet_tx(struct net_device *dev)
  * This is called from the MPC core interrupt.
  */
 static irqreturn_t
-fs_enet_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+fs_enet_interrupt(int irq, void *dev_id)
 {
        struct net_device *dev = dev_id;
        struct fs_enet_private *fep;
@@ -517,7 +514,6 @@ void fs_init_bds(struct net_device *dev)
                        break;
                }
                fep->rx_skbuff[i] = skb;
-               skb->dev = dev;
                CBDW_BUFADDR(bdp,
                        dma_map_single(fep->dev, skb->data,
                                L1_CACHE_ALIGN(PKT_MAXBUF_SIZE),
@@ -667,7 +663,7 @@ static int fs_enet_start_xmit(struct sk_buff *skb, struct net_device *dev)
 }
 
 static int fs_request_irq(struct net_device *dev, int irq, const char *name,
-               irqreturn_t (*irqf)(int irq, void *dev_id, struct pt_regs *regs))
+               irq_handler_t irqf)
 {
        struct fs_enet_private *fep = netdev_priv(dev);
 
@@ -779,7 +775,8 @@ static int fs_init_phy(struct net_device *dev)
        fep->oldspeed = 0;
        fep->oldduplex = -1;
        if(fep->fpi->bus_id)
-               phydev = phy_connect(dev, fep->fpi->bus_id, &fs_adjust_link, 0);
+               phydev = phy_connect(dev, fep->fpi->bus_id, &fs_adjust_link, 0,
+                               PHY_INTERFACE_MODE_MII);
        else {
                printk("No phy bus ID specified in BSP code\n");
                return -EINVAL;
@@ -908,7 +905,7 @@ static void fs_set_msglevel(struct net_device *dev, u32 value)
        fep->msg_enable = value;
 }
 
-static struct ethtool_ops fs_ethtool_ops = {
+static const struct ethtool_ops fs_ethtool_ops = {
        .get_drvinfo = fs_get_drvinfo,
        .get_regs_len = fs_get_regs_len,
        .get_settings = fs_get_settings,
@@ -944,12 +941,13 @@ extern int fs_mii_connect(struct net_device *dev);
 extern void fs_mii_disconnect(struct net_device *dev);
 
 static struct net_device *fs_init_instance(struct device *dev,
-               const struct fs_platform_info *fpi)
+               struct fs_platform_info *fpi)
 {
        struct net_device *ndev = NULL;
        struct fs_enet_private *fep = NULL;
        int privsize, i, r, err = 0, registered = 0;
 
+       fpi->fs_no = fs_get_id(fpi);
        /* guard */
        if ((unsigned int)fpi->fs_no >= FS_MAX_INDEX)
                return ERR_PTR(-EINVAL);
@@ -971,7 +969,7 @@ static struct net_device *fs_init_instance(struct device *dev,
        dev_set_drvdata(dev, ndev);
        fep->fpi = fpi;
        if (fpi->init_ioports)
-               fpi->init_ioports();
+               fpi->init_ioports((struct fs_platform_info *)fpi);
 
 #ifdef CONFIG_FS_ENET_HAS_FEC
        if (fs_get_fec_index(fpi->fs_no) >= 0)