diff for duplicates of <1509884946.21689.10.camel@amazon.com> diff --git a/a/1.txt b/N1/1.txt index 67d861a..e2b8ca2 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,15 +1,15 @@ On Thu, 2017-11-02 at 11:19 -0700, Florian Fainelli wrote: > On 11/02/2017 09:05 AM, Chocron, Jonathan wrote: > > -> > ?-----Original Message----- +> > -----Original Message----- > > > -> > > From: Andrew Lunn [mailto:andrew at lunn.ch] +> > > From: Andrew Lunn [mailto:andrew@lunn.ch] > > > Sent: Monday, August 28, 2017 9:10 PM > > > To: Chocron, Jonathan <jonnyc@amazon.com> > > > Cc: Antoine Tenart <antoine.tenart@free-electrons.com>; -> > > netdev at vger.kernel.org; davem at davemloft.net; linux-arm- -> > > kernel at lists.infradead.org; thomas.petazzoni at free-electrons.com; -> > > arnd at arndb.de +> > > netdev@vger.kernel.org; davem@davemloft.net; linux-arm- +> > > kernel@lists.infradead.org; thomas.petazzoni@free-electrons.com; +> > > arnd@arndb.de > > > Subject: Re: [PATCH net-next 4/8] net: ethernet: add the Alpine > > > Ethernet > > > driver @@ -21,7 +21,7 @@ On Thu, 2017-11-02 at 11:19 -0700, Florian Fainelli wrote: > > > > indentation > > > and leaving only the specific questions responded to). > > > -> > > Wow, this is old.??3 Feb 2017. I had to go dig into the archive +> > > Wow, this is old. 3 Feb 2017. I had to go dig into the archive > > > to refresh my > > > memory. > > > @@ -29,67 +29,67 @@ On Thu, 2017-11-02 at 11:19 -0700, Florian Fainelli wrote: > > > > > > > > > > > > > > > > > +/* MDIO */ -> > > > > > +#define AL_ETH_MDIO_C45_DEV_MASK?????0x1f0000 -> > > > > > +#define AL_ETH_MDIO_C45_DEV_SHIFT????16 -> > > > > > +#define AL_ETH_MDIO_C45_REG_MASK?????0xffff +> > > > > > +#define AL_ETH_MDIO_C45_DEV_MASK 0x1f0000 +> > > > > > +#define AL_ETH_MDIO_C45_DEV_SHIFT 16 +> > > > > > +#define AL_ETH_MDIO_C45_REG_MASK 0xffff > > > > > > + > > > > > > +static int al_mdio_read(struct mii_bus *bp, int mii_id, > > > > > > int reg) > > > > > > +{ -> > > > > > +?????struct al_eth_adapter *adapter = bp->priv; -> > > > > > +?????u16 value = 0; -> > > > > > +?????int rc; -> > > > > > +?????int timeout = MDIO_TIMEOUT_MSEC; +> > > > > > + struct al_eth_adapter *adapter = bp->priv; +> > > > > > + u16 value = 0; +> > > > > > + int rc; +> > > > > > + int timeout = MDIO_TIMEOUT_MSEC; > > > > > > + -> > > > > > +?????while (timeout > 0) { -> > > > > > +?????????????if (reg & MII_ADDR_C45) { -> > > > > > +?????????????????????netdev_dbg(adapter->netdev, "[c45]: +> > > > > > + while (timeout > 0) { +> > > > > > + if (reg & MII_ADDR_C45) { +> > > > > > + netdev_dbg(adapter->netdev, "[c45]: > > > > > > dev %x reg %x val > > > %x\n", > > > > > > > > > > > > > > > -> > > > > > +????????????????????????????????((reg & +> > > > > > + ((reg & > > > > > > AL_ETH_MDIO_C45_DEV_MASK) >> > > > AL_ETH_MDIO_C45_DEV_SHIFT), > > > > > > > > > > > > > > > -> > > > > > +????????????????????????????????(reg & +> > > > > > + (reg & > > > > > > AL_ETH_MDIO_C45_REG_MASK), value); -> > > > > > +?????????????????????rc = al_eth_mdio_read(&adapter- +> > > > > > + rc = al_eth_mdio_read(&adapter- > > > > > > >hw_adapter, adapter- > > > > phy_addr, > > > > > > > > > > > -> > > > > > +?????????????????????????????((reg & +> > > > > > + ((reg & > > > > > > AL_ETH_MDIO_C45_DEV_MASK) >> > > > AL_ETH_MDIO_C45_DEV_SHIFT), > > > > > > > > > > > > > > > -> > > > > > +?????????????????????????????(reg & +> > > > > > + (reg & > > > > > > AL_ETH_MDIO_C45_REG_MASK), &value); -> > > > > > +?????????????} else { -> > > > > > +?????????????????????rc = al_eth_mdio_read(&adapter- +> > > > > > + } else { +> > > > > > + rc = al_eth_mdio_read(&adapter- > > > > > > >hw_adapter, adapter- > > > > phy_addr, > > > > > > > > > > > -> > > > > > +???????????????????????????????????????????MDIO_DEVAD_NONE +> > > > > > + MDIO_DEVAD_NONE > > > > > > , reg, &value); -> > > > > > +?????????????} +> > > > > > + } > > > > > > + -> > > > > > +?????????????if (rc == 0) -> > > > > > +?????????????????????return value; +> > > > > > + if (rc == 0) +> > > > > > + return value; > > > > > > + -> > > > > > +?????????????netdev_dbg(adapter->netdev, -> > > > > > +????????????????????????"mdio read failed. try again in 10 +> > > > > > + netdev_dbg(adapter->netdev, +> > > > > > + "mdio read failed. try again in 10 > > > > > > + msec\n"); > > > > > > + -> > > > > > +?????????????timeout -= 10; -> > > > > > +?????????????msleep(10); -> > > > > > +?????} +> > > > > > + timeout -= 10; +> > > > > > + msleep(10); +> > > > > > + } > > > > > This is rather unusual, retrying MDIO operations. Are you > > > > > working > > > > > around a hardware bug? I suspect this also opens up race @@ -112,27 +112,27 @@ On Thu, 2017-11-02 at 11:19 -0700, Florian Fainelli wrote: > > > > > > +kernel */ static int al_eth_mdiobus_setup(struct > > > > > > al_eth_adapter > > > > > > +*adapter) { -> > > > > > +?????struct phy_device *phydev; -> > > > > > +?????int i; -> > > > > > +?????int ret = 0; +> > > > > > + struct phy_device *phydev; +> > > > > > + int i; +> > > > > > + int ret = 0; > > > > > > + -> > > > > > +?????adapter->mdio_bus = mdiobus_alloc(); -> > > > > > +?????if (!adapter->mdio_bus) -> > > > > > +?????????????return -ENOMEM; +> > > > > > + adapter->mdio_bus = mdiobus_alloc(); +> > > > > > + if (!adapter->mdio_bus) +> > > > > > + return -ENOMEM; > > > > > > + -> > > > > > +?????adapter->mdio_bus->name?????= "al mdio bus"; -> > > > > > +?????snprintf(adapter->mdio_bus->id, MII_BUS_ID_SIZE, +> > > > > > + adapter->mdio_bus->name = "al mdio bus"; +> > > > > > + snprintf(adapter->mdio_bus->id, MII_BUS_ID_SIZE, > > > > > > "%x", -> > > > > > +??????????????(adapter->pdev->bus->number << 8) | adapter- +> > > > > > + (adapter->pdev->bus->number << 8) | adapter- > > > > > > >pdev- > > > > devfn); > > > > > > > > > > > -> > > > > > +?????adapter->mdio_bus->priv?????= adapter; -> > > > > > +?????adapter->mdio_bus->parent???= &adapter->pdev->dev; -> > > > > > +?????adapter->mdio_bus->read?????= &al_mdio_read; -> > > > > > +?????adapter->mdio_bus->write????= &al_mdio_write; -> > > > > > +?????adapter->mdio_bus->phy_mask = ~BIT(adapter- +> > > > > > + adapter->mdio_bus->priv = adapter; +> > > > > > + adapter->mdio_bus->parent = &adapter->pdev->dev; +> > > > > > + adapter->mdio_bus->read = &al_mdio_read; +> > > > > > + adapter->mdio_bus->write = &al_mdio_write; +> > > > > > + adapter->mdio_bus->phy_mask = ~BIT(adapter- > > > > > > >phy_addr); > > > > > Why do this? > > > > Since the MDIO bus is shared, we want each interface to probe @@ -204,3 +204,7 @@ will reset the "shared" mdio controller. > want > to bind to their devices (pure mdio_device, or phy_device) on that > MDIO bus. +_______________________________________________ +linux-arm-kernel mailing list +linux-arm-kernel@lists.infradead.org +http://lists.infradead.org/mailman/listinfo/linux-arm-kernel diff --git a/a/content_digest b/N1/content_digest index 7aa4140..4710055 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -5,24 +5,33 @@ "ref\020170828180932.GG10418@lunn.ch\0" "ref\08023db8c8218450fb6c97049db054989@EX13D13UWA001.ant.amazon.com\0" "ref\0723d35ce-aaa2-9011-19d6-99e77eed846f@gmail.com\0" - "From\0saeedb@amazon.com (BSHARA, Said)\0" - "Subject\0[PATCH net-next 4/8] net: ethernet: add the Alpine Ethernet driver\0" + "From\0BSHARA, Said <saeedb@amazon.com>\0" + "Subject\0Re: [PATCH net-next 4/8] net: ethernet: add the Alpine Ethernet driver\0" "Date\0Sun, 5 Nov 2017 12:29:06 +0000\0" - "To\0linux-arm-kernel@lists.infradead.org\0" + "To\0f.fainelli@gmail.com <f.fainelli@gmail.com>" + Chocron + Jonathan <jonnyc@amazon.com> + " andrew@lunn.ch <andrew@lunn.ch>\0" + "Cc\0thomas.petazzoni@free-electrons.com <thomas.petazzoni@free-electrons.com>" + arnd@arndb.de <arnd@arndb.de> + netdev@vger.kernel.org <netdev@vger.kernel.org> + antoine.tenart@free-electrons.com <antoine.tenart@free-electrons.com> + davem@davemloft.net <davem@davemloft.net> + " linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org>\0" "\00:1\0" "b\0" "On Thu, 2017-11-02 at 11:19 -0700, Florian Fainelli wrote:\n" "> On 11/02/2017 09:05 AM, Chocron, Jonathan wrote:\n" "> > \n" - "> > ?-----Original Message-----\n" + "> > \302\240-----Original Message-----\n" "> > > \n" - "> > > From: Andrew Lunn [mailto:andrew at lunn.ch]\n" + "> > > From: Andrew Lunn [mailto:andrew@lunn.ch]\n" "> > > Sent: Monday, August 28, 2017 9:10 PM\n" "> > > To: Chocron, Jonathan <jonnyc@amazon.com>\n" "> > > Cc: Antoine Tenart <antoine.tenart@free-electrons.com>;\n" - "> > > netdev at vger.kernel.org; davem at davemloft.net; linux-arm-\n" - "> > > kernel at lists.infradead.org; thomas.petazzoni at free-electrons.com;\n" - "> > > arnd at arndb.de\n" + "> > > netdev@vger.kernel.org; davem@davemloft.net; linux-arm-\n" + "> > > kernel@lists.infradead.org; thomas.petazzoni@free-electrons.com;\n" + "> > > arnd@arndb.de\n" "> > > Subject: Re: [PATCH net-next 4/8] net: ethernet: add the Alpine\n" "> > > Ethernet\n" "> > > driver\n" @@ -34,7 +43,7 @@ "> > > > indentation\n" "> > > and leaving only the specific questions responded to).\n" "> > > \n" - "> > > Wow, this is old.??3 Feb 2017. I had to go dig into the archive\n" + "> > > Wow, this is old.\302\240\302\2403 Feb 2017. I had to go dig into the archive\n" "> > > to refresh my\n" "> > > memory.\n" "> > > \n" @@ -42,67 +51,67 @@ "> > > > > \n" "> > > > > > \n" "> > > > > > +/* MDIO */\n" - "> > > > > > +#define AL_ETH_MDIO_C45_DEV_MASK?????0x1f0000\n" - "> > > > > > +#define AL_ETH_MDIO_C45_DEV_SHIFT????16\n" - "> > > > > > +#define AL_ETH_MDIO_C45_REG_MASK?????0xffff\n" + "> > > > > > +#define AL_ETH_MDIO_C45_DEV_MASK\302\240\302\240\302\240\302\240\302\2400x1f0000\n" + "> > > > > > +#define AL_ETH_MDIO_C45_DEV_SHIFT\302\240\302\240\302\240\302\24016\n" + "> > > > > > +#define AL_ETH_MDIO_C45_REG_MASK\302\240\302\240\302\240\302\240\302\2400xffff\n" "> > > > > > +\n" "> > > > > > +static int al_mdio_read(struct mii_bus *bp, int mii_id,\n" "> > > > > > int reg)\n" "> > > > > > +{\n" - "> > > > > > +?????struct al_eth_adapter *adapter = bp->priv;\n" - "> > > > > > +?????u16 value = 0;\n" - "> > > > > > +?????int rc;\n" - "> > > > > > +?????int timeout = MDIO_TIMEOUT_MSEC;\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240struct al_eth_adapter *adapter = bp->priv;\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240u16 value = 0;\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240int rc;\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240int timeout = MDIO_TIMEOUT_MSEC;\n" "> > > > > > +\n" - "> > > > > > +?????while (timeout > 0) {\n" - "> > > > > > +?????????????if (reg & MII_ADDR_C45) {\n" - "> > > > > > +?????????????????????netdev_dbg(adapter->netdev, \"[c45]:\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240while (timeout > 0) {\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240if (reg & MII_ADDR_C45) {\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240netdev_dbg(adapter->netdev, \"[c45]:\n" "> > > > > > dev %x reg %x val\n" "> > > %x\\n\",\n" "> > > > \n" "> > > > > \n" "> > > > > > \n" - "> > > > > > +????????????????????????????????((reg &\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240((reg &\n" "> > > > > > AL_ETH_MDIO_C45_DEV_MASK) >>\n" "> > > AL_ETH_MDIO_C45_DEV_SHIFT),\n" "> > > > \n" "> > > > > \n" "> > > > > > \n" - "> > > > > > +????????????????????????????????(reg &\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240(reg &\n" "> > > > > > AL_ETH_MDIO_C45_REG_MASK), value);\n" - "> > > > > > +?????????????????????rc = al_eth_mdio_read(&adapter-\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240rc = al_eth_mdio_read(&adapter-\n" "> > > > > > >hw_adapter, adapter-\n" "> > > > phy_addr,\n" "> > > > > \n" "> > > > > > \n" - "> > > > > > +?????????????????????????????((reg &\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240((reg &\n" "> > > > > > AL_ETH_MDIO_C45_DEV_MASK) >>\n" "> > > AL_ETH_MDIO_C45_DEV_SHIFT),\n" "> > > > \n" "> > > > > \n" "> > > > > > \n" - "> > > > > > +?????????????????????????????(reg &\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240(reg &\n" "> > > > > > AL_ETH_MDIO_C45_REG_MASK), &value);\n" - "> > > > > > +?????????????} else {\n" - "> > > > > > +?????????????????????rc = al_eth_mdio_read(&adapter-\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240} else {\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240rc = al_eth_mdio_read(&adapter-\n" "> > > > > > >hw_adapter, adapter-\n" "> > > > phy_addr,\n" "> > > > > \n" "> > > > > > \n" - "> > > > > > +???????????????????????????????????????????MDIO_DEVAD_NONE\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240MDIO_DEVAD_NONE\n" "> > > > > > , reg, &value);\n" - "> > > > > > +?????????????}\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240}\n" "> > > > > > +\n" - "> > > > > > +?????????????if (rc == 0)\n" - "> > > > > > +?????????????????????return value;\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240if (rc == 0)\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240return value;\n" "> > > > > > +\n" - "> > > > > > +?????????????netdev_dbg(adapter->netdev,\n" - "> > > > > > +????????????????????????\"mdio read failed. try again in 10\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240netdev_dbg(adapter->netdev,\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\"mdio read failed. try again in 10\n" "> > > > > > + msec\\n\");\n" "> > > > > > +\n" - "> > > > > > +?????????????timeout -= 10;\n" - "> > > > > > +?????????????msleep(10);\n" - "> > > > > > +?????}\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240timeout -= 10;\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240msleep(10);\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240}\n" "> > > > > This is rather unusual, retrying MDIO operations. Are you\n" "> > > > > working\n" "> > > > > around a hardware bug? I suspect this also opens up race\n" @@ -125,27 +134,27 @@ "> > > > > > +kernel */ static int al_eth_mdiobus_setup(struct\n" "> > > > > > al_eth_adapter\n" "> > > > > > +*adapter) {\n" - "> > > > > > +?????struct phy_device *phydev;\n" - "> > > > > > +?????int i;\n" - "> > > > > > +?????int ret = 0;\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240struct phy_device *phydev;\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240int i;\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240int ret = 0;\n" "> > > > > > +\n" - "> > > > > > +?????adapter->mdio_bus = mdiobus_alloc();\n" - "> > > > > > +?????if (!adapter->mdio_bus)\n" - "> > > > > > +?????????????return -ENOMEM;\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240adapter->mdio_bus = mdiobus_alloc();\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240if (!adapter->mdio_bus)\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240return -ENOMEM;\n" "> > > > > > +\n" - "> > > > > > +?????adapter->mdio_bus->name?????= \"al mdio bus\";\n" - "> > > > > > +?????snprintf(adapter->mdio_bus->id, MII_BUS_ID_SIZE,\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240adapter->mdio_bus->name\302\240\302\240\302\240\302\240\302\240= \"al mdio bus\";\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240snprintf(adapter->mdio_bus->id, MII_BUS_ID_SIZE,\n" "> > > > > > \"%x\",\n" - "> > > > > > +??????????????(adapter->pdev->bus->number << 8) | adapter-\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240(adapter->pdev->bus->number << 8) | adapter-\n" "> > > > > > >pdev-\n" "> > > > devfn);\n" "> > > > > \n" "> > > > > > \n" - "> > > > > > +?????adapter->mdio_bus->priv?????= adapter;\n" - "> > > > > > +?????adapter->mdio_bus->parent???= &adapter->pdev->dev;\n" - "> > > > > > +?????adapter->mdio_bus->read?????= &al_mdio_read;\n" - "> > > > > > +?????adapter->mdio_bus->write????= &al_mdio_write;\n" - "> > > > > > +?????adapter->mdio_bus->phy_mask = ~BIT(adapter-\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240adapter->mdio_bus->priv\302\240\302\240\302\240\302\240\302\240= adapter;\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240adapter->mdio_bus->parent\302\240\302\240\302\240= &adapter->pdev->dev;\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240adapter->mdio_bus->read\302\240\302\240\302\240\302\240\302\240= &al_mdio_read;\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240adapter->mdio_bus->write\302\240\302\240\302\240\302\240= &al_mdio_write;\n" + "> > > > > > +\302\240\302\240\302\240\302\240\302\240adapter->mdio_bus->phy_mask = ~BIT(adapter-\n" "> > > > > > >phy_addr);\n" "> > > > > Why do this?\n" "> > > > Since the MDIO bus is shared, we want each interface to probe\n" @@ -216,6 +225,10 @@ "> one, just have all instances reference the same MDIO bus when they\n" "> want\n" "> to bind to their devices (pure mdio_device, or phy_device) on that\n" - > MDIO bus. + "> MDIO bus.\n" + "_______________________________________________\n" + "linux-arm-kernel mailing list\n" + "linux-arm-kernel@lists.infradead.org\n" + http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -e7e50bc7f7809e9cb67e9c361769596a9f62e4391fec9dd1ddc78dd1b97a1fb5 +0069783e124195018381d966768757e8e4101f4f0733be74734273a69c9eb43e
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.