Commit 030352a9 authored by David S. Miller's avatar David S. Miller

Merge branch 'davem-next' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6

parents e6e30add 0c1aa20f
...@@ -524,6 +524,18 @@ config STNIC ...@@ -524,6 +524,18 @@ config STNIC
If unsure, say N. If unsure, say N.
config SH_ETH
tristate "Renesas SuperH Ethernet support"
depends on SUPERH && \
(CPU_SUBTYPE_SH7710 || CPU_SUBTYPE_SH7712)
select CRC32
select MII
select MDIO_BITBANG
select PHYLIB
help
Renesas SuperH Ethernet device driver.
This driver support SH7710 and SH7712.
config SUNLANCE config SUNLANCE
tristate "Sun LANCE support" tristate "Sun LANCE support"
depends on SBUS depends on SBUS
...@@ -955,7 +967,7 @@ config SMC911X ...@@ -955,7 +967,7 @@ config SMC911X
tristate "SMSC LAN911[5678] support" tristate "SMSC LAN911[5678] support"
select CRC32 select CRC32
select MII select MII
depends on ARCH_PXA || SH_MAGIC_PANEL_R2 depends on ARCH_PXA || SUPERH
help help
This is a driver for SMSC's LAN911x series of Ethernet chipsets This is a driver for SMSC's LAN911x series of Ethernet chipsets
including the new LAN9115, LAN9116, LAN9117, and LAN9118. including the new LAN9115, LAN9116, LAN9117, and LAN9118.
......
...@@ -80,6 +80,7 @@ obj-$(CONFIG_VIA_RHINE) += via-rhine.o ...@@ -80,6 +80,7 @@ obj-$(CONFIG_VIA_RHINE) += via-rhine.o
obj-$(CONFIG_VIA_VELOCITY) += via-velocity.o obj-$(CONFIG_VIA_VELOCITY) += via-velocity.o
obj-$(CONFIG_ADAPTEC_STARFIRE) += starfire.o obj-$(CONFIG_ADAPTEC_STARFIRE) += starfire.o
obj-$(CONFIG_RIONET) += rionet.o obj-$(CONFIG_RIONET) += rionet.o
obj-$(CONFIG_SH_ETH) += sh_eth.o
# #
# end link order section # end link order section
...@@ -236,6 +237,7 @@ obj-$(CONFIG_USB_CATC) += usb/ ...@@ -236,6 +237,7 @@ obj-$(CONFIG_USB_CATC) += usb/
obj-$(CONFIG_USB_KAWETH) += usb/ obj-$(CONFIG_USB_KAWETH) += usb/
obj-$(CONFIG_USB_PEGASUS) += usb/ obj-$(CONFIG_USB_PEGASUS) += usb/
obj-$(CONFIG_USB_RTL8150) += usb/ obj-$(CONFIG_USB_RTL8150) += usb/
obj-$(CONFIG_USB_HSO) += usb/
obj-$(CONFIG_USB_USBNET) += usb/ obj-$(CONFIG_USB_USBNET) += usb/
obj-$(CONFIG_USB_ZD1201) += usb/ obj-$(CONFIG_USB_ZD1201) += usb/
......
...@@ -475,16 +475,12 @@ static irqreturn_t lance_interrupt (int irq, void *dev_id) ...@@ -475,16 +475,12 @@ static irqreturn_t lance_interrupt (int irq, void *dev_id)
return IRQ_HANDLED; return IRQ_HANDLED;
} }
struct net_device *last_dev;
static int lance_open (struct net_device *dev) static int lance_open (struct net_device *dev)
{ {
struct lance_private *lp = netdev_priv(dev); struct lance_private *lp = netdev_priv(dev);
volatile struct lance_regs *ll = lp->ll; volatile struct lance_regs *ll = lp->ll;
int ret; int ret;
last_dev = dev;
/* Stop the Lance */ /* Stop the Lance */
ll->rap = LE_CSR0; ll->rap = LE_CSR0;
ll->rdp = LE_C0_STOP; ll->rdp = LE_C0_STOP;
......
...@@ -243,7 +243,7 @@ struct lance_private { ...@@ -243,7 +243,7 @@ struct lance_private {
/* Possible memory/IO addresses for probing */ /* Possible memory/IO addresses for probing */
struct lance_addr { static struct lance_addr {
unsigned long memaddr; unsigned long memaddr;
unsigned long ioaddr; unsigned long ioaddr;
int slow_flag; int slow_flag;
......
...@@ -773,8 +773,6 @@ static irqreturn_t lance_interrupt(int irq, void *dev_id) ...@@ -773,8 +773,6 @@ static irqreturn_t lance_interrupt(int irq, void *dev_id)
return IRQ_HANDLED; return IRQ_HANDLED;
} }
struct net_device *last_dev = 0;
static int lance_open(struct net_device *dev) static int lance_open(struct net_device *dev)
{ {
volatile u16 *ib = (volatile u16 *)dev->mem_start; volatile u16 *ib = (volatile u16 *)dev->mem_start;
...@@ -782,8 +780,6 @@ static int lance_open(struct net_device *dev) ...@@ -782,8 +780,6 @@ static int lance_open(struct net_device *dev)
volatile struct lance_regs *ll = lp->ll; volatile struct lance_regs *ll = lp->ll;
int status = 0; int status = 0;
last_dev = dev;
/* Stop the Lance */ /* Stop the Lance */
writereg(&ll->rap, LE_CSR0); writereg(&ll->rap, LE_CSR0);
writereg(&ll->rdp, LE_C0_STOP); writereg(&ll->rdp, LE_C0_STOP);
......
...@@ -4343,6 +4343,11 @@ static int __devinit e1000_probe(struct pci_dev *pdev, ...@@ -4343,6 +4343,11 @@ static int __devinit e1000_probe(struct pci_dev *pdev,
netdev->features |= NETIF_F_TSO; netdev->features |= NETIF_F_TSO;
netdev->features |= NETIF_F_TSO6; netdev->features |= NETIF_F_TSO6;
netdev->vlan_features |= NETIF_F_TSO;
netdev->vlan_features |= NETIF_F_TSO6;
netdev->vlan_features |= NETIF_F_HW_CSUM;
netdev->vlan_features |= NETIF_F_SG;
if (pci_using_dac) if (pci_using_dac)
netdev->features |= NETIF_F_HIGHDMA; netdev->features |= NETIF_F_HIGHDMA;
......
...@@ -220,12 +220,12 @@ static int hplance_close(struct net_device *dev) ...@@ -220,12 +220,12 @@ static int hplance_close(struct net_device *dev)
return 0; return 0;
} }
int __init hplance_init_module(void) static int __init hplance_init_module(void)
{ {
return dio_register_driver(&hplance_driver); return dio_register_driver(&hplance_driver);
} }
void __exit hplance_cleanup_module(void) static void __exit hplance_cleanup_module(void)
{ {
dio_unregister_driver(&hplance_driver); dio_unregister_driver(&hplance_driver);
} }
......
...@@ -967,8 +967,13 @@ static int __devinit igb_probe(struct pci_dev *pdev, ...@@ -967,8 +967,13 @@ static int __devinit igb_probe(struct pci_dev *pdev,
NETIF_F_HW_VLAN_FILTER; NETIF_F_HW_VLAN_FILTER;
netdev->features |= NETIF_F_TSO; netdev->features |= NETIF_F_TSO;
netdev->features |= NETIF_F_TSO6; netdev->features |= NETIF_F_TSO6;
netdev->vlan_features |= NETIF_F_TSO;
netdev->vlan_features |= NETIF_F_TSO6;
netdev->vlan_features |= NETIF_F_HW_CSUM;
netdev->vlan_features |= NETIF_F_SG;
if (pci_using_dac) if (pci_using_dac)
netdev->features |= NETIF_F_HIGHDMA; netdev->features |= NETIF_F_HIGHDMA;
......
...@@ -3518,8 +3518,13 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev, ...@@ -3518,8 +3518,13 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
NETIF_F_HW_VLAN_FILTER; NETIF_F_HW_VLAN_FILTER;
netdev->features |= NETIF_F_TSO; netdev->features |= NETIF_F_TSO;
netdev->features |= NETIF_F_TSO6; netdev->features |= NETIF_F_TSO6;
netdev->vlan_features |= NETIF_F_TSO;
netdev->vlan_features |= NETIF_F_TSO6;
netdev->vlan_features |= NETIF_F_HW_CSUM;
netdev->vlan_features |= NETIF_F_SG;
if (pci_using_dac) if (pci_using_dac)
netdev->features |= NETIF_F_HIGHDMA; netdev->features |= NETIF_F_HIGHDMA;
......
...@@ -553,6 +553,8 @@ static void __ei_poll(struct net_device *dev) ...@@ -553,6 +553,8 @@ static void __ei_poll(struct net_device *dev)
static void ei_tx_err(struct net_device *dev) static void ei_tx_err(struct net_device *dev)
{ {
unsigned long e8390_base = dev->base_addr; unsigned long e8390_base = dev->base_addr;
/* ei_local is used on some platforms via the EI_SHIFT macro */
struct ei_device *ei_local __maybe_unused = netdev_priv(dev);
unsigned char txsr = ei_inb_p(e8390_base+EN0_TSR); unsigned char txsr = ei_inb_p(e8390_base+EN0_TSR);
unsigned char tx_was_aborted = txsr & (ENTSR_ABT+ENTSR_FU); unsigned char tx_was_aborted = txsr & (ENTSR_ABT+ENTSR_FU);
...@@ -815,6 +817,8 @@ static void ei_rx_overrun(struct net_device *dev) ...@@ -815,6 +817,8 @@ static void ei_rx_overrun(struct net_device *dev)
{ {
unsigned long e8390_base = dev->base_addr; unsigned long e8390_base = dev->base_addr;
unsigned char was_txing, must_resend = 0; unsigned char was_txing, must_resend = 0;
/* ei_local is used on some platforms via the EI_SHIFT macro */
struct ei_device *ei_local __maybe_unused = netdev_priv(dev);
/* /*
* Record whether a Tx was in progress and then issue the * Record whether a Tx was in progress and then issue the
......
...@@ -117,8 +117,6 @@ enum mac8390_access { ...@@ -117,8 +117,6 @@ enum mac8390_access {
ACCESS_16, ACCESS_16,
}; };
extern enum mac8390_type mac8390_ident(struct nubus_dev * dev);
extern int mac8390_memsize(unsigned long membase);
extern int mac8390_memtest(struct net_device * dev); extern int mac8390_memtest(struct net_device * dev);
static int mac8390_initdev(struct net_device * dev, struct nubus_dev * ndev, static int mac8390_initdev(struct net_device * dev, struct nubus_dev * ndev,
enum mac8390_type type); enum mac8390_type type);
...@@ -163,7 +161,7 @@ static void slow_sane_block_output(struct net_device *dev, int count, ...@@ -163,7 +161,7 @@ static void slow_sane_block_output(struct net_device *dev, int count,
static void word_memcpy_tocard(void *tp, const void *fp, int count); static void word_memcpy_tocard(void *tp, const void *fp, int count);
static void word_memcpy_fromcard(void *tp, const void *fp, int count); static void word_memcpy_fromcard(void *tp, const void *fp, int count);
enum mac8390_type __init mac8390_ident(struct nubus_dev * dev) static enum mac8390_type __init mac8390_ident(struct nubus_dev *dev)
{ {
switch (dev->dr_sw) { switch (dev->dr_sw) {
case NUBUS_DRSW_3COM: case NUBUS_DRSW_3COM:
...@@ -234,7 +232,7 @@ enum mac8390_type __init mac8390_ident(struct nubus_dev * dev) ...@@ -234,7 +232,7 @@ enum mac8390_type __init mac8390_ident(struct nubus_dev * dev)
return MAC8390_NONE; return MAC8390_NONE;
} }
enum mac8390_access __init mac8390_testio(volatile unsigned long membase) static enum mac8390_access __init mac8390_testio(volatile unsigned long membase)
{ {
unsigned long outdata = 0xA5A0B5B0; unsigned long outdata = 0xA5A0B5B0;
unsigned long indata = 0x00000000; unsigned long indata = 0x00000000;
...@@ -252,7 +250,7 @@ enum mac8390_access __init mac8390_testio(volatile unsigned long membase) ...@@ -252,7 +250,7 @@ enum mac8390_access __init mac8390_testio(volatile unsigned long membase)
return ACCESS_UNKNOWN; return ACCESS_UNKNOWN;
} }
int __init mac8390_memsize(unsigned long membase) static int __init mac8390_memsize(unsigned long membase)
{ {
unsigned long flags; unsigned long flags;
int i, j; int i, j;
......
...@@ -80,8 +80,12 @@ static void __init macb_get_hwaddr(struct macb *bp) ...@@ -80,8 +80,12 @@ static void __init macb_get_hwaddr(struct macb *bp)
addr[4] = top & 0xff; addr[4] = top & 0xff;
addr[5] = (top >> 8) & 0xff; addr[5] = (top >> 8) & 0xff;
if (is_valid_ether_addr(addr)) if (is_valid_ether_addr(addr)) {
memcpy(bp->dev->dev_addr, addr, sizeof(addr)); memcpy(bp->dev->dev_addr, addr, sizeof(addr));
} else {
dev_info(&bp->pdev->dev, "invalid hw address, using random\n");
random_ether_addr(bp->dev->dev_addr);
}
} }
static int macb_mdio_read(struct mii_bus *bus, int mii_id, int regnum) static int macb_mdio_read(struct mii_bus *bus, int mii_id, int regnum)
......
...@@ -83,9 +83,6 @@ static unsigned int sonic_debug = 1; ...@@ -83,9 +83,6 @@ static unsigned int sonic_debug = 1;
static int sonic_version_printed; static int sonic_version_printed;
extern int mac_onboard_sonic_probe(struct net_device* dev);
extern int mac_nubus_sonic_probe(struct net_device* dev);
/* For onboard SONIC */ /* For onboard SONIC */
#define ONBOARD_SONIC_REGISTERS 0x50F0A000 #define ONBOARD_SONIC_REGISTERS 0x50F0A000
#define ONBOARD_SONIC_PROM_BASE 0x50f08000 #define ONBOARD_SONIC_PROM_BASE 0x50f08000
...@@ -170,7 +167,7 @@ static int macsonic_close(struct net_device* dev) ...@@ -170,7 +167,7 @@ static int macsonic_close(struct net_device* dev)
return err; return err;
} }
int __init macsonic_init(struct net_device* dev) static int __init macsonic_init(struct net_device *dev)
{ {
struct sonic_local* lp = netdev_priv(dev); struct sonic_local* lp = netdev_priv(dev);
...@@ -218,7 +215,7 @@ int __init macsonic_init(struct net_device* dev) ...@@ -218,7 +215,7 @@ int __init macsonic_init(struct net_device* dev)
return 0; return 0;
} }
int __init mac_onboard_sonic_ethernet_addr(struct net_device* dev) static int __init mac_onboard_sonic_ethernet_addr(struct net_device *dev)
{ {
struct sonic_local *lp = netdev_priv(dev); struct sonic_local *lp = netdev_priv(dev);
const int prom_addr = ONBOARD_SONIC_PROM_BASE; const int prom_addr = ONBOARD_SONIC_PROM_BASE;
...@@ -284,7 +281,7 @@ int __init mac_onboard_sonic_ethernet_addr(struct net_device* dev) ...@@ -284,7 +281,7 @@ int __init mac_onboard_sonic_ethernet_addr(struct net_device* dev)
} else return 0; } else return 0;
} }
int __init mac_onboard_sonic_probe(struct net_device* dev) static int __init mac_onboard_sonic_probe(struct net_device *dev)
{ {
/* Bwahahaha */ /* Bwahahaha */
static int once_is_more_than_enough; static int once_is_more_than_enough;
...@@ -405,9 +402,9 @@ int __init mac_onboard_sonic_probe(struct net_device* dev) ...@@ -405,9 +402,9 @@ int __init mac_onboard_sonic_probe(struct net_device* dev)
return macsonic_init(dev); return macsonic_init(dev);
} }
int __init mac_nubus_sonic_ethernet_addr(struct net_device* dev, static int __init mac_nubus_sonic_ethernet_addr(struct net_device *dev,
unsigned long prom_addr, unsigned long prom_addr,
int id) int id)
{ {
int i; int i;
for(i = 0; i < 6; i++) for(i = 0; i < 6; i++)
...@@ -420,7 +417,7 @@ int __init mac_nubus_sonic_ethernet_addr(struct net_device* dev, ...@@ -420,7 +417,7 @@ int __init mac_nubus_sonic_ethernet_addr(struct net_device* dev,
return 0; return 0;
} }
int __init macsonic_ident(struct nubus_dev* ndev) static int __init macsonic_ident(struct nubus_dev *ndev)
{ {
if (ndev->dr_hw == NUBUS_DRHW_ASANTE_LC && if (ndev->dr_hw == NUBUS_DRHW_ASANTE_LC &&
ndev->dr_sw == NUBUS_DRSW_SONIC_LC) ndev->dr_sw == NUBUS_DRSW_SONIC_LC)
...@@ -445,7 +442,7 @@ int __init macsonic_ident(struct nubus_dev* ndev) ...@@ -445,7 +442,7 @@ int __init macsonic_ident(struct nubus_dev* ndev)
return -1; return -1;
} }
int __init mac_nubus_sonic_probe(struct net_device* dev) static int __init mac_nubus_sonic_probe(struct net_device *dev)
{ {
static int slots; static int slots;
struct nubus_dev* ndev = NULL; struct nubus_dev* ndev = NULL;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -915,15 +915,11 @@ static void build_fake_packet(struct lance_private *lp) ...@@ -915,15 +915,11 @@ static void build_fake_packet(struct lance_private *lp)
lp->tx_new = TX_NEXT(entry); lp->tx_new = TX_NEXT(entry);
} }
struct net_device *last_dev;
static int lance_open(struct net_device *dev) static int lance_open(struct net_device *dev)
{ {
struct lance_private *lp = netdev_priv(dev); struct lance_private *lp = netdev_priv(dev);
int status = 0; int status = 0;
last_dev = dev;
STOP_LANCE(lp); STOP_LANCE(lp);
if (request_irq(dev->irq, &lance_interrupt, IRQF_SHARED, if (request_irq(dev->irq, &lance_interrupt, IRQF_SHARED,
......
...@@ -154,6 +154,16 @@ config USB_NET_AX8817X ...@@ -154,6 +154,16 @@ config USB_NET_AX8817X
This driver creates an interface named "ethX", where X depends on This driver creates an interface named "ethX", where X depends on
what other networking devices you have in use. what other networking devices you have in use.
config USB_HSO
tristate "Option USB High Speed Mobile Devices"
depends on USB && RFKILL
default n
help
Choose this option if you have an Option HSDPA/HSUPA card.
These cards support downlink speeds of 7.2Mbps or greater.
To compile this driver as a module, choose M here: the
module will be called hso.
config USB_NET_CDCETHER config USB_NET_CDCETHER
tristate "CDC Ethernet support (smart devices such as cable modems)" tristate "CDC Ethernet support (smart devices such as cable modems)"
......
...@@ -6,6 +6,7 @@ obj-$(CONFIG_USB_CATC) += catc.o ...@@ -6,6 +6,7 @@ obj-$(CONFIG_USB_CATC) += catc.o
obj-$(CONFIG_USB_KAWETH) += kaweth.o obj-$(CONFIG_USB_KAWETH) += kaweth.o
obj-$(CONFIG_USB_PEGASUS) += pegasus.o obj-$(CONFIG_USB_PEGASUS) += pegasus.o
obj-$(CONFIG_USB_RTL8150) += rtl8150.o obj-$(CONFIG_USB_RTL8150) += rtl8150.o
obj-$(CONFIG_USB_HSO) += hso.o
obj-$(CONFIG_USB_NET_AX8817X) += asix.o obj-$(CONFIG_USB_NET_AX8817X) += asix.o
obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o
obj-$(CONFIG_USB_NET_DM9601) += dm9601.o obj-$(CONFIG_USB_NET_DM9601) += dm9601.o
......
This diff is collapsed.
#ifndef __SMC911X_H__
#define __SMC911X_H__
#define SMC911X_USE_16BIT (1 << 0)
#define SMC911X_USE_32BIT (1 << 1)
struct smc911x_platdata {
unsigned long flags;
unsigned long irq_flags; /* IRQF_... */
};
#endif /* __SMC911X_H__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment