Commit ab393850 authored by Ong Boon Leong's avatar Ong Boon Leong Committed by David S. Miller
Browse files

net: phylink: make phylink_parse_mode() support non-DT platform



Certain platform does not support DT, so we make phylink_parse_mode() to
allow non-DT platform to use it to setup in-band AN advertising.

Signed-off-by: default avatarOng Boon Leong <boon.leong.ong@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b97b5331
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -271,8 +271,9 @@ static int phylink_parse_mode(struct phylink *pl, struct fwnode_handle *fwnode)
		pl->cfg_link_an_mode = MLO_AN_FIXED;
	fwnode_handle_put(dn);

	if (fwnode_property_read_string(fwnode, "managed", &managed) == 0 &&
	    strcmp(managed, "in-band-status") == 0) {
	if ((fwnode_property_read_string(fwnode, "managed", &managed) == 0 &&
	     strcmp(managed, "in-band-status") == 0) ||
	    pl->config->ovr_an_inband) {
		if (pl->cfg_link_an_mode == MLO_AN_FIXED) {
			phylink_err(pl,
				    "can't use both fixed-link and in-band-status\n");
+2 −0
Original line number Diff line number Diff line
@@ -64,6 +64,7 @@ enum phylink_op_type {
 * @pcs_poll: MAC PCS cannot provide link change interrupt
 * @poll_fixed_state: if true, starts link_poll,
 *		      if MAC link is at %MLO_AN_FIXED mode.
 * @ovr_an_inband: if true, override PCS to MLO_AN_INBAND
 * @get_fixed_state: callback to execute to determine the fixed link state,
 *		     if MAC link is at %MLO_AN_FIXED mode.
 */
@@ -72,6 +73,7 @@ struct phylink_config {
	enum phylink_op_type type;
	bool pcs_poll;
	bool poll_fixed_state;
	bool ovr_an_inband;
	void (*get_fixed_state)(struct phylink_config *config,
				struct phylink_link_state *state);
};