Re: [PATCH 1/3] netdev/phy: Handle IEEE802.3 clause 45 Ethernet PHYs

From: Grant Likely
Date: Wed Oct 12 2011 - 22:26:04 EST


On Wed, Oct 12, 2011 at 11:06:21AM -0700, David Daney wrote:
> 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
> some support in the PHY and device tree infrastructure to use these
> PHYs.
>
> Normally the MII_ADDR_C45 flag is ORed with the register address to
> indicate a clause 45 transaction. Here we also use this flag in the
> *device* address passed to get_phy_id() and get_phy_device() to
> indicate that probing should be done with clause 45 transactions. If
> a PHY is successfully probed with MII_ADDR_C45, the new struct
> phy_device is_c45 flag is set for the PHY.
>
> Signed-off-by: David Daney <david.daney@xxxxxxxxxx>

Minor comment below, but otherwise,

Acked-by: Grant Likely <grant.likely@xxxxxxxxxxxx>

> diff --git a/include/linux/phy.h b/include/linux/phy.h
> index e4c3844..0a25e2c 100644
> --- a/include/linux/phy.h
> +++ b/include/linux/phy.h
> @@ -246,6 +246,7 @@ struct sk_buff;
> * phy_id: UID for this device found during discovery
> * state: state of the PHY for management purposes
> * dev_flags: Device-specific flags used by the PHY driver.
> + * is_c45: Set to 1 if this phy uses clause 45 addressing.

"Set to true if ..."

> * addr: Bus address of PHY
> * link_timeout: The number of timer firings to wait before the
> * giving up on the current attempt at acquiring a link
> @@ -283,6 +284,8 @@ struct phy_device {
>
> u32 dev_flags;
>
> + unsigned int is_c45:1;
> +

bool

> phy_interface_t interface;
>
> /* Bus address of the PHY (0-31) */
> --
> 1.7.2.3
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/