EMAC driver: define MDC_CLK=2.5MHz and caculate mdc_div according to SCLK.
[safe/jmp/linux-2.6] / drivers / net / tc35815.c
index b5e0dff..370d329 100644 (file)
@@ -611,7 +611,7 @@ static int __devinit tc35815_mac_match(struct device *dev, void *data)
 {
        struct platform_device *plat_dev = to_platform_device(dev);
        struct pci_dev *pci_dev = data;
-       unsigned int id = (pci_dev->bus->number << 8) | pci_dev->devfn;
+       unsigned int id = pci_dev->irq;
        return !strcmp(plat_dev->name, "tc35815-mac") && plat_dev->id == id;
 }
 
@@ -685,7 +685,6 @@ static int __devinit tc35815_init_one (struct pci_dev *pdev,
                dev_err(&pdev->dev, "unable to alloc new ethernet\n");
                return -ENOMEM;
        }
-       SET_MODULE_OWNER(dev);
        SET_NETDEV_DEV(dev, &pdev->dev);
        lp = dev->priv;
        lp->dev = dev;
@@ -1462,7 +1461,6 @@ static irqreturn_t tc35815_interrupt(int irq, void *dev_id)
        }
        return IRQ_NONE;
 #else
-       struct tc35815_local *lp = dev->priv;
        int handled;
        u32 status;
 
@@ -1656,7 +1654,7 @@ tc35815_rx(struct net_device *dev)
                                        panic_queues(dev);
                                }
 #endif
-                               /* pass BD to controler */
+                               /* pass BD to controller */
 #ifndef TC35815_USE_PACKEDBUFFER
                                if (!lp->rx_skbs[curid].skb) {
                                        lp->rx_skbs[curid].skb =
@@ -1696,7 +1694,7 @@ tc35815_rx(struct net_device *dev)
                }
 #endif
                for (i = 0; i < (bd_count + 1) / 2 + 1; i++) {
-                       /* pass FD to controler */
+                       /* pass FD to controller */
 #ifdef DEBUG
                        lp->rfd_cur->fd.FDNext = cpu_to_le32(0xdeaddead);
 #else
@@ -2163,10 +2161,16 @@ static void tc35815_set_msglevel(struct net_device *dev, u32 datum)
        lp->msg_enable = datum;
 }
 
-static int tc35815_get_stats_count(struct net_device *dev)
+static int tc35815_get_sset_count(struct net_device *dev, int sset)
 {
        struct tc35815_local *lp = dev->priv;
-       return sizeof(lp->lstats) / sizeof(int);
+
+       switch (sset) {
+       case ETH_SS_STATS:
+               return sizeof(lp->lstats) / sizeof(int);
+       default:
+               return -EOPNOTSUPP;
+       }
 }
 
 static void tc35815_get_ethtool_stats(struct net_device *dev, struct ethtool_stats *stats, u64 *data)
@@ -2201,7 +2205,7 @@ static const struct ethtool_ops tc35815_ethtool_ops = {
        .get_msglevel           = tc35815_get_msglevel,
        .set_msglevel           = tc35815_set_msglevel,
        .get_strings            = tc35815_get_strings,
-       .get_stats_count        = tc35815_get_stats_count,
+       .get_sset_count         = tc35815_get_sset_count,
        .get_ethtool_stats      = tc35815_get_ethtool_stats,
 };