projects/linux·commit f0094b28

Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

f0094b28 · Linus Torvalds <[email protected]> · 2014-08-13 18:27:40 -06:00

Pull networking fixes from David Miller:
 "Several networking final fixes and tidies for the merge window:

   1) Changes during the merge window unintentionally took away the
      ability to build bluetooth modular, fix from Geert Uytterhoeven.

   2) Several phy_node reference count bug fixes from Uwe Kleine-König.

   3) Fix ucc_geth build failures, also from Uwe Kleine-König.

   4) Fix klog false positivies when netlink messages go to network
      taps, by properly resetting the network header.  Fix from Daniel
      Borkmann.

   5) Sizing estimate of VF netlink messages is too small, from Jiri
      Benc.

   6) New APM X-Gene SoC ethernet driver, from Iyappan Subramanian.

   7) VLAN untagging is erroneously dependent upon whether the VLAN
      module is loaded or not, but there are generic dependencies that
      matter wrt what can be expected as the SKB enters the stack.
      Make the basic untagging generic code, and do it unconditionally.
      From Vlad Yasevich.

   8) xen-netfront only has so many slots in it's transmit queue so
      linearize packets that have too many frags.  From Zoltan Kiss.

   9) Fix suspend/resume PHY handling in bcmgenet driver, from Florian
      Fainelli"

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (55 commits)
  net: bcmgenet: correctly resume adapter from Wake-on-LAN
  net: bcmgenet: update UMAC_CMD only when link is detected
  net: bcmgenet: correctly suspend and resume PHY device
  net: bcmgenet: request and enable main clock earlier
  net: ethernet: myricom: myri10ge: myri10ge.c: Cleaning up missing null-terminate after strncpy call
  xen-netfront: Fix handling packets on compound pages with skb_linearize
  net: fec: Support phys probed from devicetree and fixed-link
  smsc: replace WARN_ON() with WARN_ON_SMP()
  xen-netback: Don't deschedule NAPI when carrier off
  net: ethernet: qlogic: qlcnic: Remove duplicate object file from Makefile
  wan: wanxl: Remove typedefs from struct names
  m68k/atari: EtherNEC - ethernet support (ne)
  net: ethernet: ti: cpmac.c: Cleaning up missing null-terminate after strncpy call
  hdlc: Remove typedefs from struct names
  airo_cs: Remove typedef local_info_t
  atmel: Remove typedef atmel_priv_ioctl
  com20020_cs: Remove typedef com20020_dev_t
  ethernet: amd: Remove typedef local_info_t
  net: Always untag vlan-tagged traffic on input.
  drivers: net: Add APM X-Gene SoC ethernet driver support.
  ...
Commit
f0094b28f3038936c1985be64dbe83f0e950b671
Parents
13b102bf · 61dac43e

Merge commit. Changes below are compared with the first parent: 13b102bf.

Changes

72 files changed · +3114 −531

FileStatusAddDelContent
Documentation/devicetree/bindings/net/apm-xgene-enet.txtadded+66−0View file
Documentation/devicetree/bindings/net/fsl-fec.txtmodified+28−1View file
MAINTAINERSmodified+8−0View file
arch/arm64/boot/dts/apm-mustang.dtsmodified+4−0View file
arch/arm64/boot/dts/apm-storm.dtsimodified+27−3View file
drivers/atm/atmtcp.cmodified+1−0View file
drivers/atm/solos-pci.cmodified+1−0View file
drivers/net/arcnet/com20020_cs.cmodified+8−8View file
drivers/net/ethernet/8390/Kconfigmodified+2−1View file
drivers/net/ethernet/8390/axnet_cs.cmodified+13−13View file
drivers/net/ethernet/8390/ne.cmodified+2−0View file
drivers/net/ethernet/8390/pcnet_cs.cmodified+34−34View file
drivers/net/ethernet/Kconfigmodified+1−0View file
drivers/net/ethernet/Makefilemodified+1−0View file
drivers/net/ethernet/amd/xgbe/xgbe-drv.cmodified+0−1View file
drivers/net/ethernet/apm/Kconfigadded+1−0View file
drivers/net/ethernet/apm/Makefileadded+5−0View file
drivers/net/ethernet/apm/xgene/Kconfigadded+9−0View file
drivers/net/ethernet/apm/xgene/Makefileadded+6−0View file
drivers/net/ethernet/apm/xgene/xgene_enet_ethtool.cadded+125−0View file
drivers/net/ethernet/apm/xgene/xgene_enet_hw.cadded+728−0View file
drivers/net/ethernet/apm/xgene/xgene_enet_hw.hadded+337−0View file
drivers/net/ethernet/apm/xgene/xgene_enet_main.cadded+951−0View file
drivers/net/ethernet/apm/xgene/xgene_enet_main.hadded+135−0View file
drivers/net/ethernet/broadcom/genet/bcmgenet.cmodified+24−13View file
drivers/net/ethernet/broadcom/genet/bcmmii.cmodified+10−4View file
drivers/net/ethernet/chelsio/cxgb4/cxgb4.hmodified+7−4View file
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.cmodified+190−70View file
drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.hmodified+10−0View file
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.cmodified+2−0View file
drivers/net/ethernet/chelsio/cxgb4/t4fw_api.hmodified+11−1View file
drivers/net/ethernet/davicom/dm9000.cmodified+46−46View file
drivers/net/ethernet/freescale/fec.hmodified+1−0View file
drivers/net/ethernet/freescale/fec_main.cmodified+55−21View file
drivers/net/ethernet/freescale/fec_mpc52xx.cmodified+1−2View file
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.cmodified+1−1View file
drivers/net/ethernet/freescale/gianfar.cmodified+6−10View file
drivers/net/ethernet/freescale/ucc_geth.cmodified+15−9View file
drivers/net/ethernet/fujitsu/fmvj18x_cs.cmodified+17−17View file
drivers/net/ethernet/marvell/mvneta.cmodified+6−3View file
drivers/net/ethernet/myricom/myri10ge/myri10ge.cmodified+1−0View file
drivers/net/ethernet/qlogic/qlcnic/Makefilemodified+1−1View file
drivers/net/ethernet/smsc/smsc911x.hmodified+1−1View file
drivers/net/ethernet/ti/cpmac.cmodified+1−0View file
drivers/net/ethernet/xilinx/ll_temac_main.cmodified+1−2View file
drivers/net/ethernet/xilinx/xilinx_axienet_main.cmodified+1−2View file
drivers/net/ethernet/xircom/xirc2ps_cs.cmodified+20−20View file
drivers/net/wan/hdlc_fr.cmodified+32−31View file
drivers/net/wan/wanxl.cmodified+32−31View file
drivers/net/wireless/airo_cs.cmodified+13−12View file
drivers/net/wireless/atmel.cmodified+4−4View file
drivers/net/xen-netback/interface.cmodified+1−5View file
drivers/net/xen-netback/netback.cmodified+8−2View file
drivers/net/xen-netfront.cmodified+4−3View file
include/linux/if_vlan.hmodified+0−6View file
include/linux/skbuff.hmodified+1−0View file
net/6lowpan/Kconfigmodified+1−1View file
net/8021q/vlan_core.cmodified+0−53View file
net/batman-adv/multicast.cmodified+0−1View file
net/bridge/br_vlan.cmodified+1−1View file
net/bridge/netfilter/ebtables.cmodified+2−8View file
net/core/dev.cmodified+1−1View file
net/core/rtnetlink.cmodified+2−1View file
net/core/skbuff.cmodified+53−0View file
net/ipv4/route.cmodified+0−2View file
net/netfilter/core.cmodified+2−9View file
net/netfilter/ipvs/ip_vs_ctl.cmodified+4−15View file
net/netfilter/nf_sockopt.cmodified+2−6View file
net/netfilter/nf_tables_api.cmodified+17−13View file
net/netfilter/x_tables.cmodified+12−35View file
net/netlink/af_netlink.cmodified+1−1View file
net/openvswitch/datapath.cmodified+0−2View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/devicetree/bindings/net/apm-xgene-enet.txt

View file
diff --git a/Documentation/devicetree/bindings/net/apm-xgene-enet.txt b/Documentation/devicetree/bindings/net/apm-xgene-enet.txt
new file mode 100644
index 0000000..ebcad25
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/apm-xgene-enet.txt
@@ -0,0 +1,66 @@
+APM X-Gene SoC Ethernet nodes
+
+Ethernet nodes are defined to describe on-chip ethernet interfaces in
+APM X-Gene SoC.
+
+Required properties:
+- compatible: Should be "apm,xgene-enet"
+- reg: Address and length of the register set for the device. It contains the
+ information of registers in the same order as described by reg-names
+- reg-names: Should contain the register set names
+ - "enet_csr": Ethernet control and status register address space
+ - "ring_csr": Descriptor ring control and status register address space
+ - "ring_cmd": Descriptor ring command register address space
+- interrupts: Ethernet main interrupt
+- clocks: Reference to the clock entry.
+- local-mac-address: MAC address assigned to this device
+- phy-connection-type: Interface type between ethernet device and PHY device
+- phy-handle: Reference to a PHY node connected to this device
+
+- mdio: Device tree subnode with the following required properties:
+ - compatible: Must be "apm,xgene-mdio".
+ - #address-cells: Must be <1>.
+ - #size-cells: Must be <0>.
+
+ For the phy on the mdio bus, there must be a node with the following fields:
+ - compatible: PHY identifier. Please refer ./phy.txt for the format.
+ - reg: The ID number for the phy.
+
+Optional properties:
+- status: Should be "ok" or "disabled" for enabled/disabled. Default is "ok".
+
+Example:
+ menetclk: menetclk {
+ compatible = "apm,xgene-device-clock";
+ clock-output-names = "menetclk";
+ status = "ok";
+ };
+
+ menet: ethernet@17020000 {
+ compatible = "apm,xgene-enet";
+ status = "disabled";
+ reg = <0x0 0x17020000 0x0 0xd100>,
+ <0x0 0X17030000 0x0 0X400>,
+ <0x0 0X10000000 0x0 0X200>;
+ reg-names = "enet_csr", "ring_csr", "ring_cmd";
+ interrupts = <0x0 0x3c 0x4>;
+ clocks = <&menetclk 0>;
+ local-mac-address = [00 01 73 00 00 01];
+ phy-connection-type = "rgmii";
+ phy-handle = <&menetphy>;
+ mdio {
+ compatible = "apm,xgene-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ menetphy: menetphy@3 {
+ compatible = "ethernet-phy-id001c.c915";
+ reg = <0x3>;
+ };
+
+ };
+ };
+
+/* Board-specific peripheral configurations */
+&menet {
+ status = "ok";
+};

Documentation/devicetree/bindings/net/fsl-fec.txt

View file
diff --git a/Documentation/devicetree/bindings/net/fsl-fec.txt b/Documentation/devicetree/bindings/net/fsl-fec.txt
index 6bc84ad..8a2c7b5 100644
--- a/Documentation/devicetree/bindings/net/fsl-fec.txt
+++ b/Documentation/devicetree/bindings/net/fsl-fec.txt
@@ -12,7 +12,14 @@ Optional properties:
only if property "phy-reset-gpios" is available. Missing the property
will have the duration be 1 millisecond. Numbers greater than 1000 are
invalid and 1 millisecond will be used instead.
-- phy-supply: regulator that powers the Ethernet PHY.
+- phy-supply : regulator that powers the Ethernet PHY.
+- phy-handle : phandle to the PHY device connected to this device.
+- fixed-link : Assume a fixed link. See fixed-link.txt in the same directory.
+ Use instead of phy-handle.
+
+Optional subnodes:
+- mdio : specifies the mdio bus in the FEC, used as a container for phy nodes
+ according to phy.txt in the same directory
Example:
@@ -25,3 +32,23 @@ ethernet@83fec000 {
local-mac-address = [00 04 9F 01 1B B9];
phy-supply = <&reg_fec_supply>;
};
+
+Example with phy specified:
+
+ethernet@83fec000 {
+ compatible = "fsl,imx51-fec", "fsl,imx27-fec";
+ reg = <0x83fec000 0x4000>;
+ interrupts = <87>;
+ phy-mode = "mii";
+ phy-reset-gpios = <&gpio2 14 0>; /* GPIO2_14 */
+ local-mac-address = [00 04 9F 01 1B B9];
+ phy-supply = <&reg_fec_supply>;
+ phy-handle = <&ethphy>;
+ mdio {
+ ethphy: ethernet-phy@6 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <6>;
+ max-speed = <100>;
+ };
+ };
+};

MAINTAINERS

View file
diff --git a/MAINTAINERS b/MAINTAINERS
index 7e2eb4c..2f85f55 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -719,6 +719,14 @@ S: Maintained
F: drivers/net/appletalk/
F: net/appletalk/
+APPLIED MICRO (APM) X-GENE SOC ETHERNET DRIVER
+M: Iyappan Subramanian <[email protected]>
+M: Keyur Chudgar <[email protected]>
+M: Ravi Patel <[email protected]>
+S: Supported
+F: drivers/net/ethernet/apm/xgene/
+F: Documentation/devicetree/bindings/net/apm-xgene-enet.txt
+
APTINA CAMERA SENSOR PLL
M: Laurent Pinchart <[email protected]>

arch/arm64/boot/dts/apm-mustang.dts

View file
diff --git a/arch/arm64/boot/dts/apm-mustang.dts b/arch/arm64/boot/dts/apm-mustang.dts
index 6541962..b2f5622 100644
--- a/arch/arm64/boot/dts/apm-mustang.dts
+++ b/arch/arm64/boot/dts/apm-mustang.dts
@@ -28,3 +28,7 @@
&serial0 {
status = "ok";
};
+
+&menet {
+ status = "ok";
+};

arch/arm64/boot/dts/apm-storm.dtsi

View file
diff --git a/arch/arm64/boot/dts/apm-storm.dtsi b/arch/arm64/boot/dts/apm-storm.dtsi
index 40aa96c..c0aceef 100644
--- a/arch/arm64/boot/dts/apm-storm.dtsi
+++ b/arch/arm64/boot/dts/apm-storm.dtsi
@@ -167,14 +167,13 @@
clock-output-names = "ethclk";
};
- eth8clk: eth8clk {
+ menetclk: menetclk {
compatible = "apm,xgene-device-clock";
#clock-cells = <1>;
clocks = <&ethclk 0>;
- clock-names = "eth8clk";
reg = <0x0 0x1702C000 0x0 0x1000>;
reg-names = "csr-reg";
- clock-output-names = "eth8clk";
+ clock-output-names = "menetclk";
};
sataphy1clk: sataphy1clk@1f21c000 {
@@ -397,5 +396,30 @@
#clock-cells = <1>;
clocks = <&rtcclk 0>;
};
+
+ menet: ethernet@17020000 {
+ compatible = "apm,xgene-enet";
+ status = "disabled";
+ reg = <0x0 0x17020000 0x0 0xd100>,
+ <0x0 0X17030000 0x0 0X400>,
+ <0x0 0X10000000 0x0 0X200>;
+ reg-names = "enet_csr", "ring_csr", "ring_cmd";
+ interrupts = <0x0 0x3c 0x4>;
+ dma-coherent;
+ clocks = <&menetclk 0>;
+ local-mac-address = [00 01 73 00 00 01];
+ phy-connection-type = "rgmii";
+ phy-handle = <&menetphy>;
+ mdio {
+ compatible = "apm,xgene-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ menetphy: menetphy@3 {
+ compatible = "ethernet-phy-id001c.c915";
+ reg = <0x3>;
+ };
+
+ };
+ };
};
};

drivers/atm/atmtcp.c

View file
diff --git a/drivers/atm/atmtcp.c b/drivers/atm/atmtcp.c
index 0e3f8f9..480fa6f 100644
--- a/drivers/atm/atmtcp.c
+++ b/drivers/atm/atmtcp.c
@@ -299,6 +299,7 @@ static int atmtcp_c_send(struct atm_vcc *vcc,struct sk_buff *skb)
out_vcc = find_vcc(dev, ntohs(hdr->vpi), ntohs(hdr->vci));
read_unlock(&vcc_sklist_lock);
if (!out_vcc) {
+ result = -EUNATCH;
atomic_inc(&vcc->stats->tx_err);
goto done;
}

drivers/atm/solos-pci.c

View file
diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
index 943cf0d..7652e8d 100644
--- a/drivers/atm/solos-pci.c
+++ b/drivers/atm/solos-pci.c
@@ -1278,6 +1278,7 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id)
card->dma_bounce = kmalloc(card->nr_ports * BUF_SIZE, GFP_KERNEL);
if (!card->dma_bounce) {
dev_warn(&card->dev->dev, "Failed to allocate DMA bounce buffers\n");
+ err = -ENOMEM;
/* Fallback to MMIO doesn't work */
goto out_unmap_both;
}

drivers/net/arcnet/com20020_cs.c

View file
diff --git a/drivers/net/arcnet/com20020_cs.c b/drivers/net/arcnet/com20020_cs.c
index 326a612..1a790a2 100644
--- a/drivers/net/arcnet/com20020_cs.c
+++ b/drivers/net/arcnet/com20020_cs.c
@@ -112,20 +112,20 @@ static void com20020_detach(struct pcmcia_device *p_dev);
/*====================================================================*/
-typedef struct com20020_dev_t {
+struct com20020_dev {
struct net_device *dev;
-} com20020_dev_t;
+};
static int com20020_probe(struct pcmcia_device *p_dev)
{
- com20020_dev_t *info;
+ struct com20020_dev *info;
struct net_device *dev;
struct arcnet_local *lp;
dev_dbg(&p_dev->dev, "com20020_attach()\n");
/* Create new network device */
- info = kzalloc(sizeof(struct com20020_dev_t), GFP_KERNEL);
+ info = kzalloc(sizeof(*info), GFP_KERNEL);
if (!info)
goto fail_alloc_info;
@@ -160,7 +160,7 @@ fail_alloc_info:
static void com20020_detach(struct pcmcia_device *link)
{
- struct com20020_dev_t *info = link->priv;
+ struct com20020_dev *info = link->priv;
struct net_device *dev = info->dev;
dev_dbg(&link->dev, "detach...\n");
@@ -199,7 +199,7 @@ static void com20020_detach(struct pcmcia_device *link)
static int com20020_config(struct pcmcia_device *link)
{
struct arcnet_local *lp;
- com20020_dev_t *info;
+ struct com20020_dev *info;
struct net_device *dev;
int i, ret;
int ioaddr;
@@ -291,7 +291,7 @@ static void com20020_release(struct pcmcia_device *link)
static int com20020_suspend(struct pcmcia_device *link)
{
- com20020_dev_t *info = link->priv;
+ struct com20020_dev *info = link->priv;
struct net_device *dev = info->dev;
if (link->open)
@@ -302,7 +302,7 @@ static int com20020_suspend(struct pcmcia_device *link)
static int com20020_resume(struct pcmcia_device *link)
{
- com20020_dev_t *info = link->priv;
+ struct com20020_dev *info = link->priv;
struct net_device *dev = info->dev;
if (link->open) {

drivers/net/ethernet/8390/Kconfig

View file
diff --git a/drivers/net/ethernet/8390/Kconfig b/drivers/net/ethernet/8390/Kconfig
index 0988811..2d89bd0 100644
--- a/drivers/net/ethernet/8390/Kconfig
+++ b/drivers/net/ethernet/8390/Kconfig
@@ -91,7 +91,8 @@ config MCF8390
config NE2000
tristate "NE2000/NE1000 support"
- depends on (ISA || (Q40 && m) || M32R || MACH_TX49XX)
+ depends on (ISA || (Q40 && m) || M32R || MACH_TX49XX || \
+ ATARI_ETHERNEC)
select CRC32
---help---
If you have a network (Ethernet) card of this type, say Y and read

drivers/net/ethernet/8390/axnet_cs.c

View file
diff --git a/drivers/net/ethernet/8390/axnet_cs.c b/drivers/net/ethernet/8390/axnet_cs.c
index 73c57a4..7769c05 100644
--- a/drivers/net/ethernet/8390/axnet_cs.c
+++ b/drivers/net/ethernet/8390/axnet_cs.c
@@ -108,7 +108,7 @@ static u32 axnet_msg_enable;
/*====================================================================*/
-typedef struct axnet_dev_t {
+struct axnet_dev {
struct pcmcia_device *p_dev;
caddr_t base;
struct timer_list watchdog;
@@ -118,9 +118,9 @@ typedef struct axnet_dev_t {
int phy_id;
int flags;
int active_low;
-} axnet_dev_t;
+};
-static inline axnet_dev_t *PRIV(struct net_device *dev)
+static inline struct axnet_dev *PRIV(struct net_device *dev)
{
void *p = (char *)netdev_priv(dev) + sizeof(struct ei_device);
return p;
@@ -141,13 +141,13 @@ static const struct net_device_ops axnet_netdev_ops = {
static int axnet_probe(struct pcmcia_device *link)
{
- axnet_dev_t *info;
+ struct axnet_dev *info;
struct net_device *dev;
struct ei_device *ei_local;
dev_dbg(&link->dev, "axnet_attach()\n");
- dev = alloc_etherdev(sizeof(struct ei_device) + sizeof(axnet_dev_t));
+ dev = alloc_etherdev(sizeof(struct ei_device) + sizeof(struct axnet_dev));
if (!dev)
return -ENOMEM;
@@ -274,7 +274,7 @@ static int axnet_configcheck(struct pcmcia_device *p_dev, void *priv_data)
static int axnet_config(struct pcmcia_device *link)
{
struct net_device *dev = link->priv;
- axnet_dev_t *info = PRIV(dev);
+ struct axnet_dev *info = PRIV(dev);
int i, j, j2, ret;
dev_dbg(&link->dev, "axnet_config(0x%p)\n", link);
@@ -389,7 +389,7 @@ static int axnet_suspend(struct pcmcia_device *link)
static int axnet_resume(struct pcmcia_device *link)
{
struct net_device *dev = link->priv;
- axnet_dev_t *info = PRIV(dev);
+ struct axnet_dev *info = PRIV(dev);
if (link->open) {
if (info->active_low == 1)
@@ -467,7 +467,7 @@ static void mdio_write(unsigned int addr, int phy_id, int loc, int value)
static int axnet_open(struct net_device *dev)
{
int ret;
- axnet_dev_t *info = PRIV(dev);
+ struct axnet_dev *info = PRIV(dev);
struct pcmcia_device *link = info->p_dev;
unsigned int nic_base = dev->base_addr;
@@ -497,7 +497,7 @@ static int axnet_open(struct net_device *dev)
static int axnet_close(struct net_device *dev)
{
- axnet_dev_t *info = PRIV(dev);
+ struct axnet_dev *info = PRIV(dev);
struct pcmcia_device *link = info->p_dev;
dev_dbg(&link->dev, "axnet_close('%s')\n", dev->name);
@@ -554,7 +554,7 @@ static irqreturn_t ei_irq_wrapper(int irq, void *dev_id)
static void ei_watchdog(u_long arg)
{
struct net_device *dev = (struct net_device *)(arg);
- axnet_dev_t *info = PRIV(dev);
+ struct axnet_dev *info = PRIV(dev);
unsigned int nic_base = dev->base_addr;
unsigned int mii_addr = nic_base + AXNET_MII_EEP;
u_short link;
@@ -610,7 +610,7 @@ reschedule:
static int axnet_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
{
- axnet_dev_t *info = PRIV(dev);
+ struct axnet_dev *info = PRIV(dev);
struct mii_ioctl_data *data = if_mii(rq);
unsigned int mii_addr = dev->base_addr + AXNET_MII_EEP;
switch (cmd) {
@@ -1452,7 +1452,7 @@ static void ei_receive(struct net_device *dev)
static void ei_rx_overrun(struct net_device *dev)
{
- axnet_dev_t *info = PRIV(dev);
+ struct axnet_dev *info = PRIV(dev);
long e8390_base = dev->base_addr;
unsigned char was_txing, must_resend = 0;
struct ei_device *ei_local = netdev_priv(dev);
@@ -1624,7 +1624,7 @@ static void set_multicast_list(struct net_device *dev)
static void AX88190_init(struct net_device *dev, int startp)
{
- axnet_dev_t *info = PRIV(dev);
+ struct axnet_dev *info = PRIV(dev);
long e8390_base = dev->base_addr;
struct ei_device *ei_local = netdev_priv(dev);
int i;

drivers/net/ethernet/8390/ne.c

View file
diff --git a/drivers/net/ethernet/8390/ne.c b/drivers/net/ethernet/8390/ne.c
index 58eaa8f..de566fb 100644
--- a/drivers/net/ethernet/8390/ne.c
+++ b/drivers/net/ethernet/8390/ne.c
@@ -169,6 +169,8 @@ bad_clone_list[] __initdata = {
#elif defined(CONFIG_PLAT_OAKS32R) || \
defined(CONFIG_MACH_TX49XX)
# define DCR_VAL 0x48 /* 8-bit mode */
+#elif defined(CONFIG_ATARI) /* 8-bit mode on Atari, normal on Q40 */
+# define DCR_VAL (MACH_IS_ATARI ? 0x48 : 0x49)
#else
# define DCR_VAL 0x49
#endif

drivers/net/ethernet/8390/pcnet_cs.c

View file
diff --git a/drivers/net/ethernet/8390/pcnet_cs.c b/drivers/net/ethernet/8390/pcnet_cs.c
index ca3c2b9..9fb7b9d 100644
--- a/drivers/net/ethernet/8390/pcnet_cs.c
+++ b/drivers/net/ethernet/8390/pcnet_cs.c
@@ -111,11 +111,11 @@ static void pcnet_detach(struct pcmcia_device *p_dev);
/*====================================================================*/
-typedef struct hw_info_t {
+struct hw_info {
u_int offset;
u_char a0, a1, a2;
u_int flags;
-} hw_info_t;
+};
#define DELAY_OUTPUT 0x01
#define HAS_MISC_REG 0x02
@@ -132,7 +132,7 @@ typedef struct hw_info_t {
#define MII_PHYID_REG1 0x02
#define MII_PHYID_REG2 0x03
-static hw_info_t hw_info[] = {
+static struct hw_info hw_info[] = {
{ /* Accton EN2212 */ 0x0ff0, 0x00, 0x00, 0xe8, DELAY_OUTPUT },
{ /* Allied Telesis LA-PCM */ 0x0ff0, 0x00, 0x00, 0xf4, 0 },
{ /* APEX MultiCard */ 0x03f4, 0x00, 0x20, 0xe5, 0 },
@@ -196,11 +196,11 @@ static hw_info_t hw_info[] = {
#define NR_INFO ARRAY_SIZE(hw_info)
-static hw_info_t default_info = { 0, 0, 0, 0, 0 };
-static hw_info_t dl10019_info = { 0, 0, 0, 0, IS_DL10019|HAS_MII };
-static hw_info_t dl10022_info = { 0, 0, 0, 0, IS_DL10022|HAS_MII };
+static struct hw_info default_info = { 0, 0, 0, 0, 0 };
+static struct hw_info dl10019_info = { 0, 0, 0, 0, IS_DL10019|HAS_MII };
+static struct hw_info dl10022_info = { 0, 0, 0, 0, IS_DL10022|HAS_MII };
-typedef struct pcnet_dev_t {
+struct pcnet_dev {
struct pcmcia_device *p_dev;
u_int flags;
void __iomem *base;
@@ -210,12 +210,12 @@ typedef struct pcnet_dev_t {
u_char eth_phy, pna_phy;
u_short link_status;
u_long mii_reset;
-} pcnet_dev_t;
+};
-static inline pcnet_dev_t *PRIV(struct net_device *dev)
+static inline struct pcnet_dev *PRIV(struct net_device *dev)
{
char *p = netdev_priv(dev);
- return (pcnet_dev_t *)(p + sizeof(struct ei_device));
+ return (struct pcnet_dev *)(p + sizeof(struct ei_device));
}
static const struct net_device_ops pcnet_netdev_ops = {
@@ -237,13 +237,13 @@ static const struct net_device_ops pcnet_netdev_ops = {
static int pcnet_probe(struct pcmcia_device *link)
{
- pcnet_dev_t *info;
+ struct pcnet_dev *info;
struct net_device *dev;
dev_dbg(&link->dev, "pcnet_attach()\n");
/* Create new ethernet device */
- dev = __alloc_ei_netdev(sizeof(pcnet_dev_t));
+ dev = __alloc_ei_netdev(sizeof(struct pcnet_dev));
if (!dev) return -ENOMEM;
info = PRIV(dev);
info->p_dev = link;
@@ -276,7 +276,7 @@ static void pcnet_detach(struct pcmcia_device *link)
======================================================================*/
-static hw_info_t *get_hwinfo(struct pcmcia_device *link)
+static struct hw_info *get_hwinfo(struct pcmcia_device *link)
{
struct net_device *dev = link->priv;
u_char __iomem *base, *virt;
@@ -317,7 +317,7 @@ static hw_info_t *get_hwinfo(struct pcmcia_device *link)
======================================================================*/
-static hw_info_t *get_prom(struct pcmcia_device *link)
+static struct hw_info *get_prom(struct pcmcia_device *link)
{
struct net_device *dev = link->priv;
unsigned int ioaddr = dev->base_addr;
@@ -371,7 +371,7 @@ static hw_info_t *get_prom(struct pcmcia_device *link)
======================================================================*/
-static hw_info_t *get_dl10019(struct pcmcia_device *link)
+static struct hw_info *get_dl10019(struct pcmcia_device *link)
{
struct net_device *dev = link->priv;
int i;
@@ -393,7 +393,7 @@ static hw_info_t *get_dl10019(struct pcmcia_device *link)
======================================================================*/
-static hw_info_t *get_ax88190(struct pcmcia_device *link)
+static struct hw_info *get_ax88190(struct pcmcia_device *link)
{
struct net_device *dev = link->priv;
unsigned int ioaddr = dev->base_addr;
@@ -424,7 +424,7 @@ static hw_info_t *get_ax88190(struct pcmcia_device *link)
======================================================================*/
-static hw_info_t *get_hwired(struct pcmcia_device *link)
+static struct hw_info *get_hwired(struct pcmcia_device *link)
{
struct net_device *dev = link->priv;
int i;
@@ -489,12 +489,12 @@ static int pcnet_confcheck(struct pcmcia_device *p_dev, void *priv_data)
return try_io_port(p_dev);
}
-static hw_info_t *pcnet_try_config(struct pcmcia_device *link,
- int *has_shmem, int try)
+static struct hw_info *pcnet_try_config(struct pcmcia_device *link,
+ int *has_shmem, int try)
{
struct net_device *dev = link->priv;
- hw_info_t *local_hw_info;
- pcnet_dev_t *info = PRIV(dev);
+ struct hw_info *local_hw_info;
+ struct pcnet_dev *info = PRIV(dev);
int priv = try;
int ret;
@@ -553,10 +553,10 @@ static hw_info_t *pcnet_try_config(struct pcmcia_device *link,
static int pcnet_config(struct pcmcia_device *link)
{
struct net_device *dev = link->priv;
- pcnet_dev_t *info = PRIV(dev);
+ struct pcnet_dev *info = PRIV(dev);
int start_pg, stop_pg, cm_offset;
int has_shmem = 0;
- hw_info_t *local_hw_info;
+ struct hw_info *local_hw_info;
struct ei_device *ei_local;
dev_dbg(&link->dev, "pcnet_config\n");
@@ -639,7 +639,7 @@ failed:
static void pcnet_release(struct pcmcia_device *link)
{
- pcnet_dev_t *info = PRIV(link->priv);
+ struct pcnet_dev *info = PRIV(link->priv);
dev_dbg(&link->dev, "pcnet_release\n");
@@ -836,7 +836,7 @@ static void write_asic(unsigned int ioaddr, int location, short asic_data)
static void set_misc_reg(struct net_device *dev)
{
unsigned int nic_base = dev->base_addr;
- pcnet_dev_t *info = PRIV(dev);
+ struct pcnet_dev *info = PRIV(dev);
u_char tmp;
if (info->flags & HAS_MISC_REG) {
@@ -873,7 +873,7 @@ static void set_misc_reg(struct net_device *dev)
static void mii_phy_probe(struct net_device *dev)
{

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/amd/xgbe/xgbe-drv.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/apm/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/apm/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/apm/xgene/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/apm/xgene/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/apm/xgene/xgene_enet_ethtool.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/apm/xgene/xgene_enet_hw.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/apm/xgene/xgene_enet_hw.h

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/apm/xgene/xgene_enet_main.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/apm/xgene/xgene_enet_main.h

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/broadcom/genet/bcmgenet.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/broadcom/genet/bcmmii.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/chelsio/cxgb4/cxgb4.h

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.h

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/davicom/dm9000.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/freescale/fec.h

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/freescale/fec_main.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/freescale/fec_mpc52xx.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/freescale/gianfar.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/freescale/ucc_geth.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/fujitsu/fmvj18x_cs.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/marvell/mvneta.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/myricom/myri10ge/myri10ge.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/qlogic/qlcnic/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/smsc/smsc911x.h

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/ti/cpmac.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/xilinx/ll_temac_main.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/xilinx/xilinx_axienet_main.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/xircom/xirc2ps_cs.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/wan/hdlc_fr.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/wan/wanxl.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/wireless/airo_cs.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/wireless/atmel.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/xen-netback/interface.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/xen-netback/netback.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/xen-netfront.c

View file

This diff is incomplete. Download the complete patch.

include/linux/if_vlan.h

View file

This diff is incomplete. Download the complete patch.

include/linux/skbuff.h

View file

This diff is incomplete. Download the complete patch.

net/6lowpan/Kconfig

View file

This diff is incomplete. Download the complete patch.

net/8021q/vlan_core.c

View file

This diff is incomplete. Download the complete patch.

net/batman-adv/multicast.c

View file

This diff is incomplete. Download the complete patch.

net/bridge/br_vlan.c

View file

This diff is incomplete. Download the complete patch.

net/bridge/netfilter/ebtables.c

View file

This diff is incomplete. Download the complete patch.

net/core/dev.c

View file

This diff is incomplete. Download the complete patch.

net/core/rtnetlink.c

View file

This diff is incomplete. Download the complete patch.

net/core/skbuff.c

View file

This diff is incomplete. Download the complete patch.

net/ipv4/route.c

View file

This diff is incomplete. Download the complete patch.

net/netfilter/core.c

View file

This diff is incomplete. Download the complete patch.

net/netfilter/ipvs/ip_vs_ctl.c

View file

This diff is incomplete. Download the complete patch.

net/netfilter/nf_sockopt.c

View file

This diff is incomplete. Download the complete patch.

net/netfilter/nf_tables_api.c

View file

This diff is incomplete. Download the complete patch.

net/netfilter/x_tables.c

View file

This diff is incomplete. Download the complete patch.

net/netlink/af_netlink.c

View file

This diff is incomplete. Download the complete patch.

net/openvswitch/datapath.c

View file

This diff is incomplete. Download the complete patch.