aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c14
-rw-r--r--target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.h3
2 files changed, 9 insertions, 8 deletions
diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c
index b79b3489380..78b17605d27 100644
--- a/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c
+++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.c
@@ -143,12 +143,12 @@ void fe_reset(u32 reset_bits)
void fe_reset_fe(struct fe_priv *priv)
{
- if (!priv->rst_fe)
+ if (!priv->resets)
return;
- reset_control_assert(priv->rst_fe);
+ reset_control_assert(priv->resets);
usleep_range(60, 120);
- reset_control_deassert(priv->rst_fe);
+ reset_control_deassert(priv->resets);
usleep_range(60, 120);
}
@@ -1595,9 +1595,11 @@ static int fe_probe(struct platform_device *pdev)
priv = netdev_priv(netdev);
spin_lock_init(&priv->page_lock);
- priv->rst_fe = devm_reset_control_get(&pdev->dev, "fe");
- if (IS_ERR(priv->rst_fe))
- priv->rst_fe = NULL;
+ priv->resets = devm_reset_control_array_get_exclusive(&pdev->dev);
+ if (IS_ERR(priv->resets)) {
+ dev_err(&pdev->dev, "Failed to get resets for FE and ESW cores: %pe\n", priv->resets);
+ priv->resets = NULL;
+ }
if (soc->init_data)
soc->init_data(soc, netdev);
diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.h b/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.h
index 968db366cfa..892ffb21262 100644
--- a/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.h
+++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/mtk_eth_soc.h
@@ -497,8 +497,7 @@ struct fe_priv {
struct work_struct pending_work;
DECLARE_BITMAP(pending_flags, FE_FLAG_MAX);
- struct reset_control *rst_ppe;
- struct reset_control *rst_fe;
+ struct reset_control *resets;
struct mtk_foe_entry *foe_table;
dma_addr_t foe_table_phys;
struct flow_offload __rcu **foe_flow_table;