[PATCH net v3 1/3] net: phylink: add phylink_expects_phy() method
Jakub Kicinski
kuba at kernel.org
Tue Mar 28 18:57:20 PDT 2023
On Fri, 24 Mar 2023 16:16:54 +0800 Michael Sit Wei Hong wrote:
> Provide phylink_expects_phy() to allow MAC drivers to check if it
> is expecting a PHY to attach to. Since fixed-linked setups do not
> need to attach to a PHY.
>
> Provides a boolean value as to if the MAC should expect a PHY.
> returns true if a PHY is expected.
>
> Signed-off-by: Michael Sit Wei Hong <michael.wei.hong.sit at intel.com>
Russell, looks good?
> diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c
> index 1a2f074685fa..5c2bd1370993 100644
> --- a/drivers/net/phy/phylink.c
> +++ b/drivers/net/phy/phylink.c
> @@ -1586,6 +1586,19 @@ void phylink_destroy(struct phylink *pl)
> }
> EXPORT_SYMBOL_GPL(phylink_destroy);
>
> +/**
> + * phylink_expects_phy() - Determine if phylink expects a phy to be attached
> + * @pl: a pointer to a &struct phylink returned from phylink_create()
> + *
> + * Fixed-link mode does not need a PHY, returns a boolean value to check if
> + * phylink will be expecting a PHY to attach.
> + */
> +bool phylink_expects_phy(struct phylink *pl)
> +{
> + return pl->cfg_link_an_mode != MLO_AN_FIXED;
> +}
> +EXPORT_SYMBOL_GPL(phylink_expects_phy);
> +
> static void phylink_phy_change(struct phy_device *phydev, bool up)
> {
> struct phylink *pl = phydev->phylink;
> diff --git a/include/linux/phylink.h b/include/linux/phylink.h
> index c492c26202b5..637698ed5cb6 100644
> --- a/include/linux/phylink.h
> +++ b/include/linux/phylink.h
> @@ -574,6 +574,7 @@ struct phylink *phylink_create(struct phylink_config *, struct fwnode_handle *,
> phy_interface_t iface,
> const struct phylink_mac_ops *mac_ops);
> void phylink_destroy(struct phylink *);
> +bool phylink_expects_phy(struct phylink *pl);
>
> int phylink_connect_phy(struct phylink *, struct phy_device *);
> int phylink_of_phy_connect(struct phylink *, struct device_node *, u32 flags);
More information about the linux-arm-kernel
mailing list