]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 3 Apr 2009 04:05:30 +0000 (21:05 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 3 Apr 2009 04:05:30 +0000 (21:05 -0700)
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (54 commits)
  glge: remove unused #include <version.h>
  dnet: remove unused #include <version.h>
  tcp: miscounts due to tcp_fragment pcount reset
  tcp: add helper for counter tweaking due mid-wq change
  hso: fix for the 'invalid frame length' messages
  hso: fix for crash when unplugging the device
  fsl_pq_mdio: Fix compile failure
  fsl_pq_mdio: Revive UCC MDIO support
  ucc_geth: Pass proper device to DMA routines, otherwise oops happens
  i.MX31: Fixing cs89x0 network building to i.MX31ADS
  tc35815: Fix build error if NAPI enabled
  hso: add Vendor/Product ID's for new devices
  ucc_geth: Remove unused header
  gianfar: Remove unused header
  kaweth: Fix locking to be SMP-safe
  net: allow multiple dev per napi with GRO
  r8169: reset IntrStatus after chip reset
  ixgbe: Fix potential memory leak/driver panic issue while setting up Tx & Rx ring parameters
  ixgbe: fix ethtool -A|a behavior
  ixgbe: Patch to fix driver panic while freeing up tx & rx resources
  ...

1  2 
MAINTAINERS
drivers/net/fec_mpc52xx.c

diff --combined MAINTAINERS
index b5e278f9fb23632ff76229895b3af07585ca7990,08a141b0ee91eed3f0f6329d746cf94f9116c0bc..ebaf77ebd8b717e8fe42208f7b49c9b38f55e180
@@@ -357,7 -357,6 +357,7 @@@ S: Odd Fixes for 2.4; Maintained for 2.
  P:    Ivan Kokshaysky
  M:    ink@jurassic.park.msu.ru
  S:    Maintained for 2.4; PCI support for 2.6.
 +L:    linux-alpha@vger.kernel.org
  
  AMD GEODE CS5536 USB DEVICE CONTROLLER DRIVER
  P:    Thomas Dahlmann
@@@ -1064,6 -1063,7 +1064,6 @@@ BTTV VIDEO4LINUX DRIVE
  P:    Mauro Carvalho Chehab
  M:    mchehab@infradead.org
  L:    linux-media@vger.kernel.org
 -L:    video4linux-list@redhat.com
  W:    http://linuxtv.org
  T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
  S:    Maintained
@@@ -1945,12 -1945,6 +1945,12 @@@ L:    lm-sensors@lm-sensors.or
  W:    http://www.kernel.org/pub/linux/kernel/people/fseidel/hdaps/
  S:    Maintained
  
 +HYPERVISOR VIRTUAL CONSOLE DRIVER
 +L:    linuxppc-dev@ozlabs.org
 +L:    linux-kernel@vger.kernel.org
 +S:    Odd Fixes
 +F:    drivers/char/hvc_*
 +
  GSPCA FINEPIX SUBDRIVER
  P:    Frank Zago
  M:    frank@zago.net
@@@ -2208,12 -2202,25 +2208,12 @@@ L:   linux-ide@vger.kernel.or
  T:    quilt kernel.org/pub/linux/kernel/people/bart/pata-2.6/
  S:    Maintained
  
 -IDE/ATAPI CDROM DRIVER
 +IDE/ATAPI DRIVERS
  P:    Borislav Petkov
  M:    petkovbb@gmail.com
  L:    linux-ide@vger.kernel.org
  S:    Maintained
  
 -IDE/ATAPI FLOPPY DRIVERS
 -P:    Paul Bristow
 -M:    Paul Bristow <paul@paulbristow.net>
 -W:    http://paulbristow.net/linux/idefloppy.html
 -L:    linux-kernel@vger.kernel.org
 -S:    Maintained
 -
 -IDE/ATAPI TAPE DRIVERS
 -P:    Gadi Oxman
 -M:    Gadi Oxman <gadio@netvision.net.il>
 -L:    linux-kernel@vger.kernel.org
 -S:    Maintained
 -
  IDLE-I7300
  P:    Andy Henroid
  M:    andrew.d.henroid@intel.com
@@@ -3104,7 -3111,7 +3104,7 @@@ M:      shemminger@linux-foundation.or
  L:    netem@lists.linux-foundation.org
  S:    Maintained
  
- NETERION (S2IO) Xframe 10GbE DRIVER
+ NETERION (S2IO) 10GbE DRIVER (xframe/vxge)
  P:    Ramkrishna Vepa
  M:    ram.vepa@neterion.com
  P:    Rastapur Santosh
@@@ -3113,8 -3120,11 +3113,11 @@@ P:    Sivakumar Subraman
  M:    sivakumar.subramani@neterion.com
  P:    Sreenivasa Honnur
  M:    sreenivasa.honnur@neterion.com
+ P:    Anil Murthy
+ M:    anil.murthy@neterion.com
  L:    netdev@vger.kernel.org
- W:    http://trac.neterion.com/cgi-bin/trac.cgi/wiki/TitleIndex?anonymous
+ W:    http://trac.neterion.com/cgi-bin/trac.cgi/wiki/Linux?Anonymous
+ W:    http://trac.neterion.com/cgi-bin/trac.cgi/wiki/X3100Linux?Anonymous
  S:    Supported
  
  NETFILTER/IPTABLES/IPCHAINS
@@@ -4828,6 -4838,7 +4831,6 @@@ VIDEO FOR LINUX (V4L
  P:    Mauro Carvalho Chehab
  M:    mchehab@infradead.org
  L:    linux-media@vger.kernel.org
 -L:    video4linux-list@redhat.com
  W:    http://linuxtv.org
  T:    git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
  S:    Maintained
index 049b0a7e01f36b7278c984b7cf3fe47ca385fc7a,2d0a198882ab9df0ef85f5324b8eb42568aac0c0..8bbe7f6179949c30b167d82cb2236394af9332c4
@@@ -129,7 -129,8 +129,8 @@@ static void mpc52xx_fec_free_rx_buffers
                struct sk_buff *skb;
  
                skb = bcom_retrieve_buffer(s, NULL, (struct bcom_bd **)&bd);
-               dma_unmap_single(&dev->dev, bd->skb_pa, skb->len, DMA_FROM_DEVICE);
+               dma_unmap_single(dev->dev.parent, bd->skb_pa, skb->len,
+                                DMA_FROM_DEVICE);
                kfree_skb(skb);
        }
  }
@@@ -150,7 -151,7 +151,7 @@@ static int mpc52xx_fec_alloc_rx_buffers
                bd = (struct bcom_fec_bd *)bcom_prepare_next_buffer(rxtsk);
  
                bd->status = FEC_RX_BUFFER_SIZE;
-               bd->skb_pa = dma_map_single(&dev->dev, skb->data,
+               bd->skb_pa = dma_map_single(dev->dev.parent, skb->data,
                                FEC_RX_BUFFER_SIZE, DMA_FROM_DEVICE);
  
                bcom_submit_next_buffer(rxtsk, skb);
@@@ -270,15 -271,6 +271,6 @@@ static void mpc52xx_fec_phy_stop(struc
        phy_write(priv->phydev, MII_BMCR, BMCR_PDOWN);
  }
  
- static int mpc52xx_fec_phy_mii_ioctl(struct mpc52xx_fec_priv *priv,
-               struct mii_ioctl_data *mii_data, int cmd)
- {
-       if (!priv->phydev)
-               return -ENOTSUPP;
-       return phy_mii_ioctl(priv->phydev, mii_data, cmd);
- }
  static void mpc52xx_fec_phy_hw_init(struct mpc52xx_fec_priv *priv)
  {
        struct mpc52xx_fec __iomem *fec = priv->fec;
@@@ -370,7 -362,7 +362,7 @@@ static int mpc52xx_fec_close(struct net
   * invariant will hold if you make sure that the netif_*_queue()
   * calls are done at the proper times.
   */
- static int mpc52xx_fec_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
+ static int mpc52xx_fec_start_xmit(struct sk_buff *skb, struct net_device *dev)
  {
        struct mpc52xx_fec_priv *priv = netdev_priv(dev);
        struct bcom_fec_bd *bd;
        if (bcom_queue_full(priv->tx_dmatsk)) {
                if (net_ratelimit())
                        dev_err(&dev->dev, "transmit queue overrun\n");
-               return 1;
+               return NETDEV_TX_BUSY;
        }
  
        spin_lock_irq(&priv->lock);
                bcom_prepare_next_buffer(priv->tx_dmatsk);
  
        bd->status = skb->len | BCOM_FEC_TX_BD_TFD | BCOM_FEC_TX_BD_TC;
-       bd->skb_pa = dma_map_single(&dev->dev, skb->data, skb->len, DMA_TO_DEVICE);
+       bd->skb_pa = dma_map_single(dev->dev.parent, skb->data, skb->len,
+                                   DMA_TO_DEVICE);
  
        bcom_submit_next_buffer(priv->tx_dmatsk, skb);
  
  
        spin_unlock_irq(&priv->lock);
  
-       return 0;
+       return NETDEV_TX_OK;
  }
  
  #ifdef CONFIG_NET_POLL_CONTROLLER
@@@ -430,7 -423,8 +423,8 @@@ static irqreturn_t mpc52xx_fec_tx_inter
                struct bcom_fec_bd *bd;
                skb = bcom_retrieve_buffer(priv->tx_dmatsk, NULL,
                                (struct bcom_bd **)&bd);
-               dma_unmap_single(&dev->dev, bd->skb_pa, skb->len, DMA_TO_DEVICE);
+               dma_unmap_single(dev->dev.parent, bd->skb_pa, skb->len,
+                                DMA_TO_DEVICE);
  
                dev_kfree_skb_irq(skb);
        }
@@@ -455,7 -449,8 +449,8 @@@ static irqreturn_t mpc52xx_fec_rx_inter
  
                rskb = bcom_retrieve_buffer(priv->rx_dmatsk, &status,
                                (struct bcom_bd **)&bd);
-               dma_unmap_single(&dev->dev, bd->skb_pa, rskb->len, DMA_FROM_DEVICE);
+               dma_unmap_single(dev->dev.parent, bd->skb_pa, rskb->len,
+                                DMA_FROM_DEVICE);
  
                /* Test for errors in received frame */
                if (status & BCOM_FEC_RX_BD_ERRORS) {
                                bcom_prepare_next_buffer(priv->rx_dmatsk);
  
                        bd->status = FEC_RX_BUFFER_SIZE;
-                       bd->skb_pa = dma_map_single(&dev->dev, rskb->data,
+                       bd->skb_pa = dma_map_single(dev->dev.parent,
+                                       rskb->data,
                                        FEC_RX_BUFFER_SIZE, DMA_FROM_DEVICE);
  
                        bcom_submit_next_buffer(priv->rx_dmatsk, rskb);
                        bcom_prepare_next_buffer(priv->rx_dmatsk);
  
                bd->status = FEC_RX_BUFFER_SIZE;
-               bd->skb_pa = dma_map_single(&dev->dev, skb->data,
+               bd->skb_pa = dma_map_single(dev->dev.parent, skb->data,
                                FEC_RX_BUFFER_SIZE, DMA_FROM_DEVICE);
  
                bcom_submit_next_buffer(priv->rx_dmatsk, skb);
@@@ -847,12 -843,20 +843,20 @@@ static void mpc52xx_fec_get_drvinfo(str
  static int mpc52xx_fec_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
  {
        struct mpc52xx_fec_priv *priv = netdev_priv(dev);
+       if (!priv->phydev)
+               return -ENODEV;
        return phy_ethtool_gset(priv->phydev, cmd);
  }
  
  static int mpc52xx_fec_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
  {
        struct mpc52xx_fec_priv *priv = netdev_priv(dev);
+       if (!priv->phydev)
+               return -ENODEV;
        return phy_ethtool_sset(priv->phydev, cmd);
  }
  
@@@ -882,9 -886,28 +886,28 @@@ static int mpc52xx_fec_ioctl(struct net
  {
        struct mpc52xx_fec_priv *priv = netdev_priv(dev);
  
-       return mpc52xx_fec_phy_mii_ioctl(priv, if_mii(rq), cmd);
+       if (!priv->phydev)
+               return -ENOTSUPP;
+       return phy_mii_ioctl(priv->phydev, if_mii(rq), cmd);
  }
  
+ static const struct net_device_ops mpc52xx_fec_netdev_ops = {
+       .ndo_open = mpc52xx_fec_open,
+       .ndo_stop = mpc52xx_fec_close,
+       .ndo_start_xmit = mpc52xx_fec_start_xmit,
+       .ndo_set_multicast_list = mpc52xx_fec_set_multicast_list,
+       .ndo_set_mac_address = mpc52xx_fec_set_mac_address,
+       .ndo_validate_addr = eth_validate_addr,
+       .ndo_do_ioctl = mpc52xx_fec_ioctl,
+       .ndo_change_mtu = eth_change_mtu,
+       .ndo_tx_timeout = mpc52xx_fec_tx_timeout,
+       .ndo_get_stats = mpc52xx_fec_get_stats,
+ #ifdef CONFIG_NET_POLL_CONTROLLER
+       .ndo_poll_controller = mpc52xx_fec_poll_controller,
+ #endif
+ };
  /* ======================================================================== */
  /* OF Driver                                                                */
  /* ======================================================================== */
@@@ -929,22 -952,10 +952,10 @@@ mpc52xx_fec_probe(struct of_device *op
                return -EBUSY;
  
        /* Init ether ndev with what we have */
-       ndev->open              = mpc52xx_fec_open;
-       ndev->stop              = mpc52xx_fec_close;
-       ndev->hard_start_xmit   = mpc52xx_fec_hard_start_xmit;
-       ndev->do_ioctl          = mpc52xx_fec_ioctl;
+       ndev->netdev_ops        = &mpc52xx_fec_netdev_ops;
        ndev->ethtool_ops       = &mpc52xx_fec_ethtool_ops;
-       ndev->get_stats         = mpc52xx_fec_get_stats;
-       ndev->set_mac_address   = mpc52xx_fec_set_mac_address;
-       ndev->set_multicast_list = mpc52xx_fec_set_multicast_list;
-       ndev->tx_timeout        = mpc52xx_fec_tx_timeout;
        ndev->watchdog_timeo    = FEC_WATCHDOG_TIMEOUT;
        ndev->base_addr         = mem.start;
- #ifdef CONFIG_NET_POLL_CONTROLLER
-       ndev->poll_controller = mpc52xx_fec_poll_controller;
- #endif
-       priv->t_irq = priv->r_irq = ndev->irq = NO_IRQ; /* IRQ are free for now */
  
        spin_lock_init(&priv->lock);
  
@@@ -1123,9 -1134,9 +1134,9 @@@ static int mpc52xx_fec_of_resume(struc
  #endif
  
  static struct of_device_id mpc52xx_fec_match[] = {
 -      { .type = "network", .compatible = "fsl,mpc5200b-fec", },
 -      { .type = "network", .compatible = "fsl,mpc5200-fec", },
 -      { .type = "network", .compatible = "mpc5200-fec", },
 +      { .compatible = "fsl,mpc5200b-fec", },
 +      { .compatible = "fsl,mpc5200-fec", },
 +      { .compatible = "mpc5200-fec", },
        { }
  };