ax88172a.c (f9a8f83b04e0c362a2fc660dbad980d24af209fc) ax88172a.c (8b5b6f5413e97c3e8bafcdd67553d508f4f698cd)
1/*
2 * ASIX AX88172A based USB 2.0 Ethernet Devices
3 * Copyright (C) 2012 OMICRON electronics GmbH
4 *
5 * Supports external PHYs via phylib. Based on the driver for the
6 * AX88772. Original copyrights follow:
7 *
8 * Copyright (C) 2003-2006 David Hollis <dhollis@davehollis.com>

--- 21 unchanged lines hidden (view full) ---

30
31struct ax88172a_private {
32 struct mii_bus *mdio;
33 struct phy_device *phydev;
34 char phy_name[20];
35 u16 phy_addr;
36 u16 oldmode;
37 int use_embdphy;
1/*
2 * ASIX AX88172A based USB 2.0 Ethernet Devices
3 * Copyright (C) 2012 OMICRON electronics GmbH
4 *
5 * Supports external PHYs via phylib. Based on the driver for the
6 * AX88772. Original copyrights follow:
7 *
8 * Copyright (C) 2003-2006 David Hollis <dhollis@davehollis.com>

--- 21 unchanged lines hidden (view full) ---

30
31struct ax88172a_private {
32 struct mii_bus *mdio;
33 struct phy_device *phydev;
34 char phy_name[20];
35 u16 phy_addr;
36 u16 oldmode;
37 int use_embdphy;
38 struct asix_rx_fixup_info rx_fixup_info;
38};
39
40/* MDIO read and write wrappers for phylib */
41static int asix_mdio_bus_read(struct mii_bus *bus, int phy_id, int regnum)
42{
43 return asix_mdio_read(((struct usbnet *)bus->priv)->net, phy_id,
44 regnum);
45}

--- 349 unchanged lines hidden (view full) ---

395
396 return 0;
397
398out:
399 return ret;
400
401}
402
39};
40
41/* MDIO read and write wrappers for phylib */
42static int asix_mdio_bus_read(struct mii_bus *bus, int phy_id, int regnum)
43{
44 return asix_mdio_read(((struct usbnet *)bus->priv)->net, phy_id,
45 regnum);
46}

--- 349 unchanged lines hidden (view full) ---

396
397 return 0;
398
399out:
400 return ret;
401
402}
403
404static int ax88172a_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
405{
406 struct ax88172a_private *dp = dev->driver_priv;
407 struct asix_rx_fixup_info *rx = &dp->rx_fixup_info;
408
409 return asix_rx_fixup_internal(dev, skb, rx);
410}
411
403const struct driver_info ax88172a_info = {
404 .description = "ASIX AX88172A USB 2.0 Ethernet",
405 .bind = ax88172a_bind,
406 .reset = ax88172a_reset,
407 .stop = ax88172a_stop,
408 .unbind = ax88172a_unbind,
409 .status = ax88172a_status,
410 .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_LINK_INTR |
411 FLAG_MULTI_PACKET,
412const struct driver_info ax88172a_info = {
413 .description = "ASIX AX88172A USB 2.0 Ethernet",
414 .bind = ax88172a_bind,
415 .reset = ax88172a_reset,
416 .stop = ax88172a_stop,
417 .unbind = ax88172a_unbind,
418 .status = ax88172a_status,
419 .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_LINK_INTR |
420 FLAG_MULTI_PACKET,
412 .rx_fixup = asix_rx_fixup,
421 .rx_fixup = ax88172a_rx_fixup,
413 .tx_fixup = asix_tx_fixup,
414};
422 .tx_fixup = asix_tx_fixup,
423};