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 v4 00/10] New network driver for Amiga X-Surf 100 (m68k)
Date: Thu, 19 Apr 2018 14:05:17 +1200 [thread overview]
Message-ID: <1524103526-12240-1-git-send-email-schmitzmic@gmail.com> (raw)
In-Reply-To: <1524025616-3722-1-git-send-email-schmitzmic@gmail.com>
[This is a resend of my v3 series which was based on the wrong version and
tree. Only substantial change is to Asix AX99796B PHY driver.]
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
Changes since v3:
- various checkpatch cleanup
Andrew Lunn:
- don't duplicate genphy_soft_reset in Asix PHY driver, just call
genphy_soft_reset after writing zero to control register
This series' patches, in order:
1/9 net-next: phy: new Asix Electronics PHY driver
2/9 net-next: ax88796: Fix MAC address reading
3/9 net-next: ax88796: Attach MII bus only when open
4/9 net-next: ax88796: Do not free IRQ in ax_remove() (already freed in ax_close()).
5/9 net-next: ax88796: Add block_input/output hooks to ax_plat_data
6/9 net-next: ax88796: add interrupt status callback to platform data
7/9 net-next: ax88796: set IRQF_SHARED flag when IRQ resource is marked as shareable
8/9 net-next: ax88796: release platform device drvdata on probe error and module remove
9/9 net-next: 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 | 382 ++++++++++++++++++++++++++++++++++
drivers/net/phy/Kconfig | 6 +
drivers/net/phy/Makefile | 1 +
drivers/net/phy/asix.c | 63 ++++++
include/net/ax88796.h | 14 ++
8 files changed, 617 insertions(+), 95 deletions(-)
Cheers,
Michael
next prev parent reply other threads:[~2018-04-19 2:05 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 ` [PATCH v3 00/10] " Michael Schmitz
2018-04-18 5: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 ` Michael Schmitz [this message]
2018-04-19 3:17 ` [PATCH v4 " 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=1524103526-12240-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).