Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 25 Apr 2008 19:28:28 +0000 (12:28 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 25 Apr 2008 19:28:28 +0000 (12:28 -0700)
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (48 commits)
  net: Fix wrong interpretation of some copy_to_user() results.
  xfrm: alg_key_len & alg_icv_len should be unsigned
  [netdrvr] tehuti: move ioctl perm check closer to function start
  ipv6: Fix typo in net/ipv6/Kconfig
  via-velocity: fix vlan receipt
  tg3: sparse cleanup
  forcedeth: realtek phy crossover detection
  ibm_newemac: Increase MDIO timeouts
  gianfar: Fix skb allocation strategy
  netxen: reduce stack usage of netxen_nic_flash_print
  smc911x: test after postfix decrement fails in smc911x_{reset,drop_pkt}
  net drivers: fix platform driver hotplug/coldplug
  forcedeth: new backoff implementation
  ehea: make things static
  phylib: Add support for board-level PHY fixups
  [netdrvr] atlx: code movement: move atl1 parameter parsing
  atlx: remove flash vendor parameter
  korina: misc cleanup
  korina: fix misplaced return statement
  WAN: Fix confusing insmod error code for C101 too.
  ...

1  2 
drivers/net/arm/at91_ether.c
drivers/net/irda/pxaficp_ir.c
drivers/net/ucc_geth.c

index 978e20a1791bda8239cbc213b0e0afebab4461b4,770226d904d48a019abebbaa07de5cbbad2722b9..1e39e78f1778c5228d7e6345005e900a347ccbff
@@@ -1043,9 -1043,7 +1043,9 @@@ static int __init at91ether_setup(unsig
        } else if (machine_is_csb337()) {
                /* mix link activity status into LED2 link state */
                write_phy(phy_address, MII_LEDCTRL_REG, 0x0d22);
 -      }
 +      } else if (machine_is_ecbat91())
 +              write_phy(phy_address, MII_LEDCTRL_REG, 0x156A);
 +
        disable_mdi();
        spin_unlock_irq(&lp->lock);
  
@@@ -1248,3 -1246,4 +1248,4 @@@ module_exit(at91ether_exit
  MODULE_LICENSE("GPL");
  MODULE_DESCRIPTION("AT91RM9200 EMAC Ethernet driver");
  MODULE_AUTHOR("Andrew Victor");
+ MODULE_ALIAS("platform:" DRV_NAME);
index 8db71ab20456b38d14ce1f8e5cd4e1e8e4c87ecf,60b94bb4d25e060fe33ff2cbeedb4e8b0f6f9fc8..d5c2d27f3ea4d12c8b29a7aac0f1426303f8dc42
@@@ -36,7 -36,6 +36,7 @@@
  #include <asm/hardware.h>
  #include <asm/arch/irda.h>
  #include <asm/arch/pxa-regs.h>
 +#include <asm/arch/pxa2xx-gpio.h>
  
  #ifdef CONFIG_MACH_MAINSTONE
  #include <asm/arch/mainstone.h>
@@@ -832,11 -831,6 +832,11 @@@ static int pxa_irda_probe(struct platfo
        if (err)
                goto err_mem_5;
  
 +      if (si->pdata->startup)
 +              err = si->pdata->startup(si->dev);
 +      if (err)
 +              goto err_startup;
 +
        dev->hard_start_xmit    = pxa_irda_hard_xmit;
        dev->open               = pxa_irda_start;
        dev->stop               = pxa_irda_stop;
                dev_set_drvdata(&pdev->dev, dev);
  
        if (err) {
 +              if (si->pdata->shutdown)
 +                      si->pdata->shutdown(si->dev);
 +err_startup:
                kfree(si->tx_buff.head);
  err_mem_5:
                kfree(si->rx_buff.head);
@@@ -890,8 -881,6 +890,8 @@@ static int pxa_irda_remove(struct platf
        if (dev) {
                struct pxa_irda *si = netdev_priv(dev);
                unregister_netdev(dev);
 +              if (si->pdata->shutdown)
 +                      si->pdata->shutdown(si->dev);
                kfree(si->tx_buff.head);
                kfree(si->rx_buff.head);
                clk_put(si->fir_clk);
  static struct platform_driver pxa_ir_driver = {
        .driver         = {
                .name   = "pxa2xx-ir",
+               .owner  = THIS_MODULE,
        },
        .probe          = pxa_irda_probe,
        .remove         = pxa_irda_remove,
@@@ -929,3 -919,4 +930,4 @@@ module_init(pxa_irda_init)
  module_exit(pxa_irda_exit);
  
  MODULE_LICENSE("GPL");
+ MODULE_ALIAS("platform:pxa2xx-ir");
diff --combined drivers/net/ucc_geth.c
index 2f11254bcc077fa22f506a1481221150429d3bee,0aac91c3e4e49ccd3f4f35f9cab5da8f1539fbe6..281ce3d395324787c8b986f0dae5648e793aa853
@@@ -3853,13 -3853,7 +3853,13 @@@ static int ucc_geth_probe(struct of_dev
  
        ugeth_vdbg("%s: IN", __FUNCTION__);
  
 -      prop = of_get_property(np, "device-id", NULL);
 +      prop = of_get_property(np, "cell-index", NULL);
 +      if (!prop) {
 +              prop = of_get_property(np, "device-id", NULL);
 +              if (!prop)
 +                      return -ENODEV;
 +      }
 +
        ucc_num = *prop - 1;
        if ((ucc_num < 0) || (ucc_num > 7))
                return -ENODEV;
        ug_info->uf_info.irq = irq_of_parse_and_map(np, 0);
        fixed_link = of_get_property(np, "fixed-link", NULL);
        if (fixed_link) {
-               ug_info->mdio_bus = 0;
+               snprintf(ug_info->mdio_bus, MII_BUS_ID_SIZE, "0");
                ug_info->phy_address = fixed_link[0];
                phy = NULL;
        } else {