Hi guys,
This patch allows you to set phy address parameters through ethtool, like:
/bin/ethtool -s eth0 phyad 8
--- drivers/net/cris/eth_v10.c 2008-06-12 14:12:33.000000000 +0200
+++ drivers/net/cris/eth_v10.c 2008-06-12 14:19:35.000000000 +0200
@@ -1430,7 +1430,11 @@
e100_set_duplex(dev, ecmd->duplex == DUPLEX_HALF ? half : full);
e100_set_speed(dev, ecmd->speed == SPEED_10 ? 10: 100);
}
-
+ //Honor ethtool phy address parameter, which was simply
discarded before this.
+ if (ecmd->phy_address <= 31)
+ mdio_phy_addr = ecmd->phy_address;
+ else if (ecmd->phy_address == 32)
+ return -ENODEV;
return 0;
}
I've searched the MAINTAINERS file and haven't seen anything regarding
either the source file name or cris. Please consider applying my
patch to main kernel...
Thanks,
Pieter Steyn
Ah, I did not consider case when searching...DOH! :]
I've now cc'ed in Jesper who seems to be the maintainer.
Cheers,
Pieter Steyn
> On 6/13/08, Pieter Steyn <[email protected]> wrote:
> Hi guys,
>
> This patch allows you to set phy address parameters through ethtool, like:
>
> /bin/ethtool -s eth0 phyad 8
>
> --- drivers/net/cris/eth_v10.c 2008-06-12 14:12:33.000000000 +0200
> +++ drivers/net/cris/eth_v10.c 2008-06-12 14:19:35.000000000 +0200
> @@ -1430,7 +1430,11 @@
> e100_set_duplex(dev, ecmd->duplex == DUPLEX_HALF ? half : full);
> e100_set_speed(dev, ecmd->speed == SPEED_10 ? 10: 100);
> }
> -
> + //Honor ethtool phy address parameter, which was simply
> discarded before this.
> + if (ecmd->phy_address <= 31)
> + mdio_phy_addr = ecmd->phy_address;
> + else if (ecmd->phy_address == 32)
> + return -ENODEV;
> return 0;
> }
>
> I've searched the MAINTAINERS file and haven't seen anything regarding
> either the source file name or cris. Please consider applying my
> patch to main kernel...
>
> Thanks,
>
> Pieter Steyn
>
>
Hi guys,
Any word on this?
Thanks,
Pieter
> On 6/13/08, Pieter Steyn <[email protected]> wrote:
> Ah, I did not consider case when searching...DOH! :]
>
> I've now cc'ed in Jesper who seems to be the maintainer.
>
> Cheers,
>
> Pieter Steyn
>
>
> > On 6/13/08, Pieter Steyn <[email protected]> wrote:
> > Hi guys,
> >
> > This patch allows you to set phy address parameters through ethtool, like:
> >
> > /bin/ethtool -s eth0 phyad 8
> >
> > --- drivers/net/cris/eth_v10.c 2008-06-12 14:12:33.000000000 +0200
> > +++ drivers/net/cris/eth_v10.c 2008-06-12 14:19:35.000000000 +0200
> > @@ -1430,7 +1430,11 @@
> > e100_set_duplex(dev, ecmd->duplex == DUPLEX_HALF ? half : full);
> > e100_set_speed(dev, ecmd->speed == SPEED_10 ? 10: 100);
> > }
> > -
> > + //Honor ethtool phy address parameter, which was simply
> > discarded before this.
> > + if (ecmd->phy_address <= 31)
> > + mdio_phy_addr = ecmd->phy_address;
> > + else if (ecmd->phy_address == 32)
> > + return -ENODEV;
> > return 0;
> > }
> >
> > I've searched the MAINTAINERS file and haven't seen anything regarding
> > either the source file name or cris. Please consider applying my
> > patch to main kernel...
> >
> > Thanks,
> >
> > Pieter Steyn
> >
> >
>
On Wed, Jun 18, 2008 at 02:09:23PM +0200, Pieter Steyn wrote:
> Hi guys,
Hi,
> Any word on this?
The patch seems to be against the 2.6.23 kernel, mdio_phy_addr was
removed in 2.6.24. The following compiles, although I haven't had
time to test it yet:
diff --git a/drivers/net/cris/eth_v10.c b/drivers/net/cris/eth_v10.c
index 65d0a91..c8bcb22 100644
--- a/drivers/net/cris/eth_v10.c
+++ b/drivers/net/cris/eth_v10.c
@@ -1431,6 +1431,14 @@ static int e100_set_settings(struct net_device *dev,
e100_set_speed(dev, ecmd->speed == SPEED_10 ? 10: 100);
}
+ struct net_local *np = netdev_priv(dev);
+ /* Honor ethtool phy address parameter, which was simply */
+ /* discarded before this. */
+ if (ecmd->phy_address <= 31)
+ np->mii_if.phy_id = ecmd->phy_address;
+ else if (ecmd->phy_address == 32)
+ return -ENODEV;
+
return 0;
}
I'll add it to my queue (which will be published RSN :), thanks!
Best regards,
/Jesper
> Thanks,
> Pieter
>
> > On 6/13/08, Pieter Steyn <[email protected]> wrote:
> > Ah, I did not consider case when searching...DOH! :]
> >
> > I've now cc'ed in Jesper who seems to be the maintainer.
> >
> > Cheers,
> >
> > Pieter Steyn
> >
> >
> > > On 6/13/08, Pieter Steyn <[email protected]> wrote:
> > > Hi guys,
> > >
> > > This patch allows you to set phy address parameters through ethtool, like:
> > >
> > > /bin/ethtool -s eth0 phyad 8
> > >
> > > --- drivers/net/cris/eth_v10.c 2008-06-12 14:12:33.000000000 +0200
> > > +++ drivers/net/cris/eth_v10.c 2008-06-12 14:19:35.000000000 +0200
> > > @@ -1430,7 +1430,11 @@
> > > e100_set_duplex(dev, ecmd->duplex == DUPLEX_HALF ? half : full);
> > > e100_set_speed(dev, ecmd->speed == SPEED_10 ? 10: 100);
> > > }
> > > -
> > > + //Honor ethtool phy address parameter, which was simply
> > > discarded before this.
> > > + if (ecmd->phy_address <= 31)
> > > + mdio_phy_addr = ecmd->phy_address;
> > > + else if (ecmd->phy_address == 32)
> > > + return -ENODEV;
> > > return 0;
> > > }
> > >
> > > I've searched the MAINTAINERS file and haven't seen anything regarding
> > > either the source file name or cris. Please consider applying my
> > > patch to main kernel...
> > >
> > > Thanks,
> > >
> > > Pieter Steyn
> > >
> > >
> >
/^JN - Jesper Nilsson
--
Jesper Nilsson -- [email protected]
> I'll add it to my queue (which will be published RSN :), thanks!
>
> Best regards,
>
> /Jesper
Thank you Jesper. :)
Cheers,
Pieter