netdev/phy: Handle IEEE802.3 clause 45 Ethernet PHYs
authorDavid Daney <david.daney@cavium.com>
Wed, 27 Jun 2012 07:33:35 +0000 (07:33 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 28 Jun 2012 04:23:24 +0000 (21:23 -0700)
commitac28b9f8cd66d6bc54f8063df59e99abd62173a4
tree9a837eafeead399aebad03fb891654ddeff37513
parenta3caad0a160c03b7238a2518fa89abda78adef1e
netdev/phy: Handle IEEE802.3 clause 45 Ethernet PHYs

The IEEE802.3 clause 45 MDIO bus protocol allows for directly
addressing PHY registers using a 21 bit address, and is used by many
10G Ethernet PHYS.  Already existing is the ability of MDIO bus
drivers to use clause 45, with the MII_ADDR_C45 flag.  Here we add
struct phy_c45_device_ids to hold the device identifier registers
present in clause 45. struct phy_device gets a couple of new fields:
c45_ids to hold the identifiers and is_c45 to signal that it is clause
45.

get_phy_device() gets a new parameter is_c45 to indicate that the PHY
device should use the clause 45 protocol, and its callers are adjusted
to pass false.  The follow-on patch to of_mdio.c will pass true where
appropriate.

EXPORT phy_device_create() so that the follow-on patch to of_mdio.c
can use it to create phy devices for PHYs, that have non-standard
device identifier registers, based on the device tree bindings.

Signed-off-by: David Daney <david.daney@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/mdio_bus.c
drivers/net/phy/phy_device.c
drivers/of/of_mdio.c
include/linux/phy.h