On Mo, 2024-11-18 at 14:02 +0800, Jacky Chou wrote: > Toggle the SCU reset before hardware initialization. > > Signed-off-by: Jacky Chou <jacky_chou@xxxxxxxxxxxxxx> > --- > drivers/net/ethernet/faraday/ftgmac100.c | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/drivers/net/ethernet/faraday/ftgmac100.c b/drivers/net/ethernet/faraday/ftgmac100.c > index 17ec35e75a65..cae23b712a6d 100644 > --- a/drivers/net/ethernet/faraday/ftgmac100.c > +++ b/drivers/net/ethernet/faraday/ftgmac100.c > @@ -9,6 +9,7 @@ > #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt > > #include <linux/clk.h> > +#include <linux/reset.h> > #include <linux/dma-mapping.h> > #include <linux/etherdevice.h> > #include <linux/ethtool.h> > @@ -98,6 +99,7 @@ struct ftgmac100 { > struct work_struct reset_task; > struct mii_bus *mii_bus; > struct clk *clk; > + struct reset_control *rst; > > /* AST2500/AST2600 RMII ref clock gate */ > struct clk *rclk; > @@ -1969,10 +1971,29 @@ static int ftgmac100_probe(struct platform_device *pdev) > } > > if (priv->is_aspeed) { > + struct reset_control *rst; > + > err = ftgmac100_setup_clk(priv); > if (err) > goto err_phy_connect; > > + rst = devm_reset_control_get_optional(priv->dev, NULL); Please use devm_reset_control_get_optional_exclusive() directly. regards Philipp