mirror of
https://github.com/openwrt/openwrt.git
synced 2025-12-21 19:14:28 +04:00
realtek: pcs: switch to id from SerDes struct
Drop usage of the to-be-phased-out SerDes id stored in rtpcs_link and use the reference to the SerDes instance to use the embedded id in rtpcs_serdes instead. Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com> Link: https://github.com/openwrt/openwrt/pull/21146 Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
committed by
Robert Marko
parent
69bbcc685b
commit
4d9400f86b
@@ -153,7 +153,6 @@ struct rtpcs_link {
|
|||||||
struct rtpcs_ctrl *ctrl;
|
struct rtpcs_ctrl *ctrl;
|
||||||
struct phylink_pcs pcs;
|
struct phylink_pcs pcs;
|
||||||
struct rtpcs_serdes *sds;
|
struct rtpcs_serdes *sds;
|
||||||
int sds_id;
|
|
||||||
int port;
|
int port;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2920,7 +2919,7 @@ static void rtpcs_pcs_an_restart(struct phylink_pcs *pcs)
|
|||||||
struct rtpcs_ctrl *ctrl = link->ctrl;
|
struct rtpcs_ctrl *ctrl = link->ctrl;
|
||||||
|
|
||||||
dev_warn(ctrl->dev, "an_restart() for port %d and sds %d not yet implemented\n",
|
dev_warn(ctrl->dev, "an_restart() for port %d and sds %d not yet implemented\n",
|
||||||
link->port, link->sds_id);
|
link->port, link->sds->id);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rtpcs_pcs_config(struct phylink_pcs *pcs, unsigned int neg_mode,
|
static int rtpcs_pcs_config(struct phylink_pcs *pcs, unsigned int neg_mode,
|
||||||
@@ -2931,7 +2930,7 @@ static int rtpcs_pcs_config(struct phylink_pcs *pcs, unsigned int neg_mode,
|
|||||||
struct rtpcs_ctrl *ctrl = link->ctrl;
|
struct rtpcs_ctrl *ctrl = link->ctrl;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
if (link->sds_id < 0)
|
if (link->sds->id < 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -2941,18 +2940,18 @@ static int rtpcs_pcs_config(struct phylink_pcs *pcs, unsigned int neg_mode,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
dev_warn(ctrl->dev, "pcs_config(%s) for port %d and sds %d not yet fully implemented\n",
|
dev_warn(ctrl->dev, "pcs_config(%s) for port %d and sds %d not yet fully implemented\n",
|
||||||
phy_modes(interface), link->port, link->sds_id);
|
phy_modes(interface), link->port, link->sds->id);
|
||||||
|
|
||||||
mutex_lock(&ctrl->lock);
|
mutex_lock(&ctrl->lock);
|
||||||
|
|
||||||
if (ctrl->cfg->setup_serdes) {
|
if (ctrl->cfg->setup_serdes) {
|
||||||
ret = ctrl->cfg->setup_serdes(ctrl, link->sds_id, interface);
|
ret = ctrl->cfg->setup_serdes(ctrl, link->sds->id, interface);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ctrl->cfg->set_autoneg) {
|
if (ctrl->cfg->set_autoneg) {
|
||||||
ret = ctrl->cfg->set_autoneg(ctrl, link->sds_id, neg_mode);
|
ret = ctrl->cfg->set_autoneg(ctrl, link->sds->id, neg_mode);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
@@ -3016,7 +3015,6 @@ struct phylink_pcs *rtpcs_create(struct device *dev, struct device_node *np, int
|
|||||||
link->ctrl = ctrl;
|
link->ctrl = ctrl;
|
||||||
link->port = port;
|
link->port = port;
|
||||||
link->sds = &ctrl->serdes[sds_id];
|
link->sds = &ctrl->serdes[sds_id];
|
||||||
link->sds_id = sds_id;
|
|
||||||
link->pcs.ops = ctrl->cfg->pcs_ops;
|
link->pcs.ops = ctrl->cfg->pcs_ops;
|
||||||
link->pcs.neg_mode = true;
|
link->pcs.neg_mode = true;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user