public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
* [PATCH RFC 0/7] phylib MMD accessor cleanups
@ 2017-03-19 10:59 Russell King - ARM Linux
  2017-03-19 11:00 ` [PATCH RFC 1/7] net: phy: move phy MMD accessors to phy-core.c Russell King
                   ` (8 more replies)
  0 siblings, 9 replies; 14+ messages in thread
From: Russell King - ARM Linux @ 2017-03-19 10:59 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: linux-usb, Microchip Linux Driver Support, netdev, Woojung Huh

Hi,

This series cleans up the phylib MMD accessors.  We have two accessors
at present, phy_(read|write)_mmd() and phy_(read|write)_mmd_indirect()

The _indirect methods access the MMD registers via a clause 22 phy,
whereas the non-_indirect methods acess via clause 45 accesses.

Current PHY-independent parts of phylib (such as EEE) access the MMD
registers via the _indirect methods, which is no good if you have a
clause 45 PHY that doesn't respond to clause 22 accesses.

In order to make these features available, we need to rework these
accessors such that they can access the MMD registers using a method
dependent on the clause that the PHY conforms with.

This series of patches does exactly that - we merge the functionality
of the indirect accesses into the clause 45 accessors, and use these
exclusively to access MMD registers.  Internally, the new clause
independent MMD accessors indirect via the PHY drivers read_mmd/write_mmd
methods if present, otherwise fall back to using clause 45 accesses if
the PHY is a clause 45 phy, or clause 22 indirect accesses if the PHY
is clause 22.

Note: confusingly, phy_read_mmd_indirect() vs phy_read_mmd() switches
the order of prtad and devad, which means that converting between the
two is not a simple matter of just replacing the function name.  Same
applies for the write methods.

 drivers/net/phy/Makefile      |   2 +-
 drivers/net/phy/bcm-phy-lib.c |  12 ++---
 drivers/net/phy/dp83867.c     |  25 +++++-----
 drivers/net/phy/intel-xway.c  |  26 +++++-----
 drivers/net/phy/micrel.c      |  13 +++--
 drivers/net/phy/microchip.c   |   5 +-
 drivers/net/phy/phy-core.c    | 101 ++++++++++++++++++++++++++++++++++++++
 drivers/net/phy/phy.c         | 110 ++++--------------------------------------
 drivers/net/phy/phy_device.c  |   4 +-
 drivers/net/usb/lan78xx.c     |  10 ++--
 include/linux/phy.h           |  80 +++++++++---------------------
 11 files changed, 178 insertions(+), 210 deletions(-)

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2017-03-21 15:23 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-19 10:59 [PATCH RFC 0/7] phylib MMD accessor cleanups Russell King - ARM Linux
2017-03-19 11:00 ` [PATCH RFC 1/7] net: phy: move phy MMD accessors to phy-core.c Russell King
2017-03-19 11:00 ` [PATCH RFC 2/7] net: phy: make phy_(read|write)_mmd() generic MMD accessors Russell King
2017-03-19 11:00 ` [PATCH RFC 3/7] net: lan78xx: update for phy_(read|write)_mmd_indirect() removal Russell King
     [not found]   ` <E1cpYZZ-0006Uj-8Z-eh5Bv4kxaXIk46pC+1QYvQNdhmdF6hFW@public.gmane.org>
2017-03-19 17:00     ` Andrew Lunn
2017-03-20 14:29   ` Woojung.Huh
2017-03-19 11:00 ` [PATCH RFC 4/7] net: phy: switch remaining users to phy_(read|write)_mmd() Russell King
2017-03-19 11:00 ` [PATCH RFC 5/7] net: phy: convert micrel to new read_mmd/write_mmd driver methods Russell King
2017-03-19 11:00 ` [PATCH RFC 6/7] net: phy: remove the indirect MMD read/write methods Russell King
2017-03-19 11:00 ` [PATCH RFC 7/7] net: phy: clean up mmd_phy_indirect() Russell King
2017-03-19 17:01 ` [PATCH RFC 0/7] phylib MMD accessor cleanups Andrew Lunn
2017-03-19 22:30 ` Florian Fainelli
     [not found]   ` <0b44bbd9-2be9-85cb-1518-4e4ec36927e1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-03-21 13:09     ` Russell King - ARM Linux
2017-03-21 15:22       ` Andrew Lunn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox