lkml.org 
[lkml]   [2023]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH net v3 1/3] net: phylink: add phylink_expects_phy() method
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@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);

\
 
 \ /
  Last update: 2023-03-29 03:58    [W:0.146 / U:0.460 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site