[PATCH,CFT] dynamic struct mii_bus allocation
Laurent Pinchart
laurentp at cse-semaphore.com
Fri Oct 3 19:49:56 EST 2008
On Friday 03 October 2008, Lennert Buytenhek wrote:
> On Fri, Oct 03, 2008 at 11:36:01AM +0200, Laurent Pinchart wrote:
>
> > Hi Lennert,
>
> Hi Laurent,
>
>
> > > You're listed as maintainer of one of the network drivers in the tree
> > > that use phylib. Available at the URL below is a change to the phylib
> > > API (dynamic allocation of struct mii_bus, which is needed for hooking
> > > up mdio buses into the device tree) that needs corresponding mdio bus
> > > driver changes. I've patched all mdio bus drivers I could find, and
> > > tried not to break anything, but it's possible I might have
> > > inadvertently broken something, so I'd like you to test these changes
> > > and let me know if they work for you or not:
> > >
> > > git://git.marvell.com/phylib.git master
> > >
> > > As a side-effect of the last patch, you should end up with a list of
> > > mdio buses in your system in /sys/class/mdio_bus.
> > >
> > >
> > > thanks,
> > > Lennert
> > >
> > >
> > > The following changes since commit e69c4e0f1210450841e40716894ba6a877b31d52:
> > > Vlad Yasevich (1):
> > > sctp: correctly save sctp_adaptation from parameter.
> > >
> > > are available in the git repository at:
> > >
> > > git://git.marvell.com/phylib.git master
> > >
> > > Lennert Buytenhek (5):
> > > phylib: phy_mii_ioctl() fixes
> > > phylib: add mdiobus_{read,write}
> > > phylib: rename mii_bus::dev to mii_bus::parent
> > > phylib: move to dynamic allocation of struct mii_bus
> > > phylib: give mdio buses a device tree presence
> > >
> > > arch/powerpc/platforms/82xx/ep8248e.c | 2 +-
> > > arch/powerpc/platforms/pasemi/gpio_mdio.c | 6 +-
> > > drivers/net/au1000_eth.c | 43 ++++++---
> > > drivers/net/au1000_eth.h | 2 +-
> > > drivers/net/bfin_mac.c | 31 ++++---
> > > drivers/net/bfin_mac.h | 2 +-
> > > drivers/net/cpmac.c | 51 ++++++----
> > > drivers/net/fec_mpc52xx_phy.c | 8 +-
> > > drivers/net/fs_enet/mii-bitbang.c | 9 +-
> > > drivers/net/fs_enet/mii-fec.c | 8 +-
> > > drivers/net/gianfar_mii.c | 9 +-
> > > drivers/net/macb.c | 49 ++++++----
> > > drivers/net/macb.h | 2 +-
> > > drivers/net/mv643xx_eth.c | 32 ++++---
> >
> > Just a side note, the patch "phylib: rename mii_bus::dev to
> > mii_bus::parent" seems to do a lot more than just renaming mii_bus::dev
> > to mii_bus::parent in drivers/net/mv643xx_eth.c. You might have
> > inadvertently committed unrelated changes.
>
> What commit ID are you looking at? I only see this:
>
> commit def8867a8d2a9f474262dd46179770845a420d51
> Author: Lennert Buytenhek <buytenh at wantstofly.org>
> Date: Tue Sep 23 02:35:17 2008 +0200
>
> phylib: rename mii_bus::dev to mii_bus::parent
>
> In preparation of giving mii_bus objects a device tree presence of
> their own, rename struct mii_bus's ->dev argument to ->parent, since
> having a 'struct device *dev' that points to our parent device
> conflicts with introducing a 'struct device dev' representing our own
> device.
>
> Signed-off-by: Lennert Buytenhek <buytenh at marvell.com>
> Acked-by: Andy Fleming <afleming at freescale.com>
>
> [...]
>
> diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c
> index 372811a..6340081 100644
> --- a/drivers/net/mv643xx_eth.c
> +++ b/drivers/net/mv643xx_eth.c
> @@ -2368,7 +2368,7 @@ static int mv643xx_eth_shared_probe(struct platform_device
> msp->smi_bus.read = smi_bus_read;
> msp->smi_bus.write = smi_bus_write,
> snprintf(msp->smi_bus.id, MII_BUS_ID_SIZE, "%d", pdev->id);
> - msp->smi_bus.dev = &pdev->dev;
> + msp->smi_bus.parent = &pdev->dev;
> msp->smi_bus.phy_mask = 0xffffffff;
> if (mdiobus_register(&msp->smi_bus) < 0)
> goto out_unmap;
My bad, I was looking at my local branch which included a merge conflict resolution. Sorry for the noise.
> > > drivers/net/phy/fixed.c | 29 ++++--
> > > drivers/net/phy/mdio-bitbang.c | 4 +-
> > > drivers/net/phy/mdio-ofgpio.c | 11 +-
> >
> > Works fine for me. For the mdio-ofgpio part:
> >
> > Acked-by: Laurent Pinchart <laurentp at cse-semaphore.com>
>
> Thanks!
>
>
> > BTW your "phylib: move to dynamic allocation of struct mii_bus"
> > patch fixes a double free in drivers/net/phy/mdio-ofgpio.c. Thanks
> > for catching this.
>
> Yeah, sorry for not reporting that separately. (I'm not sure if it's
> worth fixing separately, since deinit probably doesn't happen very
> often.)
No worries. This is not critical, so I'm happy to let your patch fix the bug.
Cheers,
--
Laurent Pinchart
CSE Semaphore Belgium
Chaussee de Bruxelles, 732A
B-1410 Waterloo
Belgium
T +32 (2) 387 42 59
F +32 (2) 387 42 75
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20081003/d3499d1c/attachment.pgp>
More information about the Linuxppc-dev
mailing list