> -----Original Message----- > From: Herve Codina <herve.codina@xxxxxxxxxxx> > Sent: Tuesday, April 30, 2024 2:07 PM > To: Herve Codina <herve.codina@xxxxxxxxxxx>; Thomas Gleixner > <tglx@xxxxxxxxxxxxx>; Rob Herring <robh@xxxxxxxxxx>; Krzysztof Kozlowski > <krzk+dt@xxxxxxxxxx>; Conor Dooley <conor+dt@xxxxxxxxxx>; David S. Miller > <davem@xxxxxxxxxxxxx>; Eric Dumazet <edumazet@xxxxxxxxxx>; Jakub > Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni <pabeni@xxxxxxxxxx>; Lee Jones > <lee@xxxxxxxxxx>; Arnd Bergmann <arnd@xxxxxxxx>; Horatiu Vultur > <horatiu.vultur@xxxxxxxxxxxxx>; UNGLinuxDriver@xxxxxxxxxxxxx; Andrew > Lunn <andrew@xxxxxxx>; Heiner Kallweit <hkallweit1@xxxxxxxxx>; Russell > King <linux@xxxxxxxxxxxxxxx>; Saravana Kannan <saravanak@xxxxxxxxxx>; > Bjorn Helgaas <bhelgaas@xxxxxxxxxx>; Philipp Zabel > <p.zabel@xxxxxxxxxxxxxx>; Lars Povlsen <lars.povlsen@xxxxxxxxxxxxx>; > Steen Hegelund <Steen.Hegelund@xxxxxxxxxxxxx>; Daniel Machon > <daniel.machon@xxxxxxxxxxxxx>; Alexandre Belloni > <alexandre.belloni@xxxxxxxxxxx> > Cc: linux-kernel@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; > netdev@xxxxxxxxxxxxxxx; linux-pci@xxxxxxxxxxxxxxx; linux-arm- > kernel@xxxxxxxxxxxxxxxxxxx; Allan Nielsen <allan.nielsen@xxxxxxxxxxxxx>; > Steen Hegelund <steen.hegelund@xxxxxxxxxxxxx>; Luca Ceresoli > <luca.ceresoli@xxxxxxxxxxx>; Thomas Petazzoni > <thomas.petazzoni@xxxxxxxxxxx> > Subject: [PATCH 07/17] net: mdio: mscc-miim: Handle the switch > reset > > The mscc-miim device can be impacted by the switch reset, at least when this > device is part of the LAN966x PCI device. > > Handle this newly added (optional) resets property. > > Signed-off-by: Herve Codina <herve.codina@xxxxxxxxxxx> > --- > drivers/net/mdio/mdio-mscc-miim.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/net/mdio/mdio-mscc-miim.c b/drivers/net/mdio/mdio- > mscc-miim.c > index c29377c85307..6a6c1768f533 100644 > --- a/drivers/net/mdio/mdio-mscc-miim.c > +++ b/drivers/net/mdio/mdio-mscc-miim.c > @@ -19,6 +19,7 @@ > #include <linux/platform_device.h> > #include <linux/property.h> > #include <linux/regmap.h> > +#include <linux/reset.h> > > #define MSCC_MIIM_REG_STATUS 0x0 > #define MSCC_MIIM_STATUS_STAT_PENDING BIT(2) > @@ -270,11 +271,18 @@ static int mscc_miim_probe(struct platform_device > *pdev) { > struct device_node *np = pdev->dev.of_node; > struct regmap *mii_regmap, *phy_regmap; > + struct reset_control *reset; Please follow reverse x-mass tree order > struct device *dev = &pdev->dev; > struct mscc_miim_dev *miim; > struct mii_bus *bus; > int ret; > > + reset = devm_reset_control_get_optional_shared(dev, "switch"); > + if (IS_ERR(reset)) > + return dev_err_probe(dev, PTR_ERR(reset), "Failed to get > reset\n"); > + > + reset_control_reset(reset); > + > mii_regmap = ocelot_regmap_from_resource(pdev, 0, > > &mscc_miim_regmap_config); > if (IS_ERR(mii_regmap)) > -- > 2.44.0 >