linux-m68k.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Schmitz <schmitzmic@gmail.com>
To: netdev@vger.kernel.org
Cc: andrew@lunn.ch, fthain@telegraphics.com.au, geert@linux-m68k.org,
	f.fainelli@gmail.com, linux-m68k@vger.kernel.org,
	Michael.Karcher@fu-berlin.de
Subject: [PATCH v3 00/10] New network driver for Amiga X-Surf 100 (m68k)
Date: Wed, 18 Apr 2018 16:26:47 +1200	[thread overview]
Message-ID: <1524025616-3722-1-git-send-email-schmitzmic@gmail.com> (raw)
In-Reply-To: <1523930895-6973-1-git-send-email-schmitzmic@gmail.com>

This patch series adds support for the Individual Computers X-Surf 100
network card for m68k Amiga, a network adapter based on the AX88796 chip set.

The driver was originally written for kernel version 3.19 by Michael Karcher
(see CC:), and adapted to 4.16 for submission to netdev by me. Questions
regarding motivation for some of the changes are probably best directed at
Michael Karcher.

The driver has been tested by Adrian <glaubitz@physik.fu-berlin.de> who will
send his Tested-by tag separately.

A few changes to the ax88796 driver were required:
- to read the MAC address, some setup of the ax99796 chip must be done,
- attach to the MII bus only on device open to allow module unloading,
- allow to supersede ax_block_input/ax_block_output by card-specific
  optimized code,
- use an optional interrupt status callback to allow easier sharing of the
  card interrupt,
- set IRQF_SHARED if platform IRQ resource is marked shareable,

The Asix Electronix PHY used on the X-Surf 100 is buggy, and causes the
software reset to hang if the previous command sent to the PHY was also
a soft reset. This bug requires addition of a PHY driver for Asix PHYs
to provide a fixed .soft_reset function, included in this series.

Some additional cleanup:
- do not attempt to free IRQ in ax_remove (complements 82533ad9a1c),
- clear platform drvdata on probe fail and module remove.

Changes since v1:

Raised in review by Andrew Lunn:
- move MII code around to avoid need for forward declaration
- combine patches 2 and 7 to add cleanup in error path

Changes since v2:

- corrected authorship attribution to Michael Karcher

Suggested by Geert Uytterhoeven:
- use ei_local->reset_8390() instead of duplicating ax_reset_8390()
- use %pR to format struct resource pointers
- assign pdev and xs100 pointers in declaration
- don't split error messages
- change Kconfig logic to only require XSURF100 set on Amiga

Suggested by Andrew Lunn:
- add COMPILE_TEST to ax88796 Kconfig options
- use new Asix PHY driver for X-Surf 100

Suggested by Andrew Lunn/Finn Thain:
- declare struct sk_buff in ax88796.h
- correct whitespace error in ax88796.h

This series' patches, in order:

1/9 net: phy: new Asix Electronics PHY driver
2/9 net: ax88796: Fix MAC address reading
3/9 net: ax88796: Attach MII bus only when open
4/9 net: ax88796: Do not free IRQ in ax_remove() (already freed in ax_close()).
5/9 net: ax88796: Add block_input/output hooks to ax_plat_data
6/9 net: ax88796: add interrupt status callback to platform data
7/9 net: ax88796: set IRQF_SHARED flag when IRQ resource is marked as shareable
8/9 net: ax88796: release platform device drvdata on probe error and module remove
9/9 net: New ax88796 platform driver for Amiga X-Surf 100 Zorro board (m68k)

 drivers/net/ethernet/8390/Kconfig    |   17 ++-
 drivers/net/ethernet/8390/Makefile   |    1 +
 drivers/net/ethernet/8390/ax88796.c  |  228 ++++++++++++--------
 drivers/net/ethernet/8390/xsurf100.c |  381 ++++++++++++++++++++++++++++++++++
 drivers/net/phy/Kconfig              |    6 +
 drivers/net/phy/Makefile             |    1 +
 drivers/net/phy/asix.c               |   65 ++++++
 drivers/net/phy/phy_device.c         |    3 +-
 include/linux/phy.h                  |    1 +
 include/net/ax88796.h                |   14 ++
 10 files changed, 621 insertions(+), 96 deletions(-)

Cheers,

  Michael

  reply	other threads:[~2018-04-18  4:26 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-16 22:04 [PATCH 00/10] New network driver for Amiga X-Surf 100 (m68k) Michael Schmitz
2018-04-16 22:04 ` [PATCH 01/10] net: ax88796: Fix MAC address reading Michael Schmitz
2018-04-16 22:04 ` [PATCH 02/10] net: ax88796: Attach MII bus only when open Michael Schmitz
2018-04-16 22:59   ` Andrew Lunn
2018-04-16 23:53     ` Michael Schmitz
2018-04-16 22:04 ` [PATCH 03/10] net: ax88796: Do not free IRQ in ax_remove() (already freed in ax_close()) Michael Schmitz
2018-04-17  9:15   ` Sergei Shtylyov
2018-04-16 22:04 ` [PATCH 04/10] net: ax88796: Add block_input/output hooks to ax_plat_data Michael Schmitz
2018-04-17 18:46   ` kbuild test robot
2018-04-18  0:53     ` Michael Schmitz
2018-04-18  1:19       ` Andrew Lunn
2018-04-18  3:39         ` Michael Schmitz
2018-04-18  1:23       ` Finn Thain
2018-04-18  3:46         ` Michael Schmitz
2018-04-16 22:04 ` [PATCH 05/10] net: ax88796: add interrupt status callback to platform data Michael Schmitz
2018-04-16 22:04 ` [PATCH 06/10] net: ax88796: set IRQF_SHARED flag when IRQ resource is marked as shareable Michael Schmitz
2018-04-16 22:04 ` [PATCH 07/10] net: ax88796: unregister mdiobus on ax_mii_init() fail Michael Schmitz
2018-04-16 22:04 ` [PATCH 08/10] net: ax88796: Make reset more robust on AX88796B Michael Schmitz
2018-04-16 23:12   ` Andrew Lunn
2018-04-17  0:14     ` Michael Schmitz
2018-04-17  1:32       ` Andrew Lunn
2018-04-17  5:18         ` Michael Karcher
2018-04-17 13:01           ` Andrew Lunn
2018-04-17 18:08             ` Florian Fainelli
2018-04-17 19:25               ` Michael Schmitz
2018-04-16 22:04 ` [PATCH 09/10] net: ax88796: release platform device drvdata on probe error and module remove Michael Schmitz
2018-04-16 22:04 ` [PATCH 10/10] net: New ax88796 platform driver for Amiga X-Surf 100 Zorro board (m68k) Michael Schmitz
2018-04-17 13:53   ` Geert Uytterhoeven
2018-04-17 22:35     ` Michael Schmitz
2018-04-18  7:54       ` Geert Uytterhoeven
2018-04-18  4:32     ` Michael Schmitz
2018-04-17  2:08 ` [PATCH v2 0/8] New network driver for Amiga X-Surf 100 (m68k) Michael Schmitz
2018-04-18  4:26   ` Michael Schmitz [this message]
2018-04-18  5:10     ` [PATCH v3 00/10] " Michael Schmitz
2018-04-18  5:45       ` Finn Thain
2018-04-18 21:26         ` Michael Schmitz
2018-04-18 12:19       ` Andrew Lunn
2018-04-18 21:34         ` Michael Schmitz
2018-04-19  2:05     ` [PATCH v4 " Michael Schmitz
2018-04-19  3:17       ` Michael Schmitz
2018-04-19 20:11       ` David Miller
2018-04-19 21:36         ` Michael Schmitz
2018-04-19  2:05     ` [PATCH v4 1/9] net-next: phy: new Asix Electronics PHY driver Michael Schmitz
2018-04-19 12:21       ` Andrew Lunn
2018-04-19 16:15       ` Florian Fainelli
2019-01-18 10:22       ` [v4,1/9] " Thomas Gleixner
2019-01-20 17:43         ` Andrew Lunn
2019-01-20 22:44           ` Michael Schmitz
2018-04-19  2:05     ` [PATCH v4 2/9] net-next: ax88796: Fix MAC address reading Michael Schmitz
2018-04-19  2:05     ` [PATCH v4 3/9] net-next: ax88796: Attach MII bus only when open Michael Schmitz
2018-04-19  2:05     ` [PATCH v4 4/9] net-next: ax88796: Do not free IRQ in ax_remove() (already freed in ax_close()) Michael Schmitz
2018-04-19  2:05     ` [PATCH v4 5/9] net-next: ax88796: Add block_input/output hooks to ax_plat_data Michael Schmitz
2018-04-19  2:05     ` [PATCH v4 6/9] net-next: ax88796: add interrupt status callback to platform data Michael Schmitz
2018-04-19  2:05     ` [PATCH v4 7/9] net-next: ax88796: set IRQF_SHARED flag when IRQ resource is marked as shareable Michael Schmitz
2018-04-19  2:05     ` [PATCH v4 8/9] net-next: ax88796: release platform device drvdata on probe error and module remove Michael Schmitz
2018-04-19  2:05     ` [PATCH v4 9/9] net-next: New ax88796 platform driver for Amiga X-Surf 100 Zorro board (m68k) Michael Schmitz
2018-06-07 14:36       ` Geert Uytterhoeven
2018-06-08  7:31         ` Michael Schmitz
2018-06-08  9:28           ` Michael Karcher
2018-06-09  0:28             ` Michael Schmitz
2018-06-09  9:15               ` Michael Karcher
2018-06-09 20:09                 ` Michael Schmitz
2018-06-09  5:57         ` [RFC PATCH 0/2] net-next: cleanup use of lib8390.c code in xsurf100.c Michael Schmitz
2018-06-09  5:57         ` [RFC PATCH 1/2] net-next: ax88796: export ax_NS8390_init() hook Michael Schmitz
2018-06-09 14:31           ` Geert Uytterhoeven
2018-06-09  5:57         ` [RFC PATCH 2/2] net-next: xsurf100: drop include of lib8390.c Michael Schmitz
2018-06-09 14:33           ` Geert Uytterhoeven
2018-06-09 19:00             ` Michael Schmitz
2018-06-10  4:22             ` [PATCH 0/2] net-next: cleanup use of lib8390.c code in xsurf100.c Michael Schmitz
2018-06-10  4:22             ` [PATCH 1/2] net-next: ax88796: export ax_NS8390_init() hook Michael Schmitz
2018-06-10  9:34               ` Geert Uytterhoeven
2018-06-10  4:22             ` [PATCH 2/2] net-next: xsurf100: drop include of lib8390.c Michael Schmitz
2018-06-10  9:34               ` Geert Uytterhoeven
2021-05-16  9:52               ` Arnd Bergmann
2021-05-18  8:42                 ` Michael Schmitz
2021-05-18 13:56                   ` Arnd Bergmann
2021-05-18 20:33                     ` Michael Schmitz
2018-04-18  4:26   ` [PATCH v3 1/9] net: phy: new Asix Electronics PHY driver Michael Schmitz
2018-04-18  7:04     ` John Paul Adrian Glaubitz
2018-04-18 12:13     ` Andrew Lunn
2018-04-18 22:26       ` Michael Schmitz
2018-04-18  4:26   ` [PATCH v3 2/9] net: ax88796: Fix MAC address reading Michael Schmitz
2018-04-18  4:26   ` [PATCH v3 3/9] net: ax88796: Attach MII bus only when open Michael Schmitz
2018-04-18  4:26   ` [PATCH v3 4/9] net: ax88796: Do not free IRQ in ax_remove() (already freed in ax_close()) Michael Schmitz
2018-04-18  4:26   ` [PATCH v3 5/9] net: ax88796: Add block_input/output hooks to ax_plat_data Michael Schmitz
2018-04-18  4:26   ` [PATCH v3 6/9] net: ax88796: add interrupt status callback to platform data Michael Schmitz
2018-04-18  4:26   ` [PATCH v3 7/9] net: ax88796: set IRQF_SHARED flag when IRQ resource is marked as shareable Michael Schmitz
2018-04-18  4:26   ` [PATCH v3 8/9] net: ax88796: release platform device drvdata on probe error and module remove Michael Schmitz
2018-04-18  4:26   ` [PATCH v3 9/9] net: New ax88796 platform driver for Amiga X-Surf 100 Zorro board (m68k) Michael Schmitz
2018-04-17  2:08 ` [PATCH v2 1/8] net: ax88796: Fix MAC address reading Michael Schmitz
2018-04-17  2:08 ` [PATCH v2 2/8] net: ax88796: Attach MII bus only when open Michael Schmitz
2018-04-17 13:19   ` Andrew Lunn
2018-04-17  2:08 ` [PATCH v2 3/8] net: ax88796: Do not free IRQ in ax_remove() (already freed in ax_close()) Michael Schmitz
2018-04-17  8:20   ` Geert Uytterhoeven
2018-04-17 13:51     ` David Miller
2018-04-17 20:36       ` Michael Schmitz
2018-04-17 11:40   ` John Paul Adrian Glaubitz
2018-04-17 20:32     ` Michael Schmitz
2018-04-17 20:42       ` John Paul Adrian Glaubitz
2018-04-17 21:13       ` Andrew Lunn
2018-04-17 21:53         ` Michael Schmitz
2018-04-17  2:08 ` [PATCH v2 4/8] net: ax88796: Add block_input/output hooks to ax_plat_data Michael Schmitz
2018-04-17  2:08 ` [PATCH v2 5/8] net: ax88796: add interrupt status callback to platform data Michael Schmitz
2018-04-17  2:08 ` [PATCH v2 6/8] net: ax88796: set IRQF_SHARED flag when IRQ resource is marked as shareable Michael Schmitz
2018-04-17 11:40   ` John Paul Adrian Glaubitz
2018-04-17  2:08 ` [PATCH v2 7/8] net: ax88796: release platform device drvdata on probe error and module remove Michael Schmitz
2018-04-17  2:08 ` [PATCH v2 8/8] net: New ax88796 platform driver for Amiga X-Surf 100 Zorro board (m68k) Michael Schmitz
2018-04-17 13:26   ` Andrew Lunn
2018-04-17 23:00     ` Michael Schmitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1524025616-3722-1-git-send-email-schmitzmic@gmail.com \
    --to=schmitzmic@gmail.com \
    --cc=Michael.Karcher@fu-berlin.de \
    --cc=andrew@lunn.ch \
    --cc=f.fainelli@gmail.com \
    --cc=fthain@telegraphics.com.au \
    --cc=geert@linux-m68k.org \
    --cc=linux-m68k@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).