* [PATCH] 8139cp: SIOCGMIIPHY and SIOCGMIIREG
@ 2002-09-20 1:49 Felipe W Damasio
0 siblings, 0 replies; only message in thread
From: Felipe W Damasio @ 2002-09-20 1:49 UTC (permalink / raw)
To: Jeff Garzik; +Cc: Linux Kernel Mailing List
Hi,
This patch adds support to the GMIIPHY and GMIIREG ioctls to the 2.4
version of the 8139cp ethernet driver.
This is required so we don't break apps (eg mii-diag, mii-tools) who
rely on these ioctls to get the NIC's settings.
Patch against 2.4.20-pre7.
Please consider pulling it from:
http://cscience.org/~felipewd/linux/patches-fwd/2.4/8139cp-gmii.patch
Felipe
--- ./8139cp.c.orig Fri Sep 20 00:20:19 2002
+++ ./8139cp.c Fri Sep 20 00:29:01 2002
@@ -1641,14 +1641,29 @@
static int cp_ioctl (struct net_device *dev, struct ifreq *rq, int cmd)
{
struct cp_private *cp = dev->priv;
+ struct mii_ioctl_data *mii;
int rc = 0;
+ mii = (struct mii_ioctl_data *) &rq->ifr_data;
if (!netif_running(dev))
return -EINVAL;
+ if (cmd != SIOCETHTOOL)
+ mii->reg_num &= 0x1f;
+
switch (cmd) {
case SIOCETHTOOL:
return cp_ethtool_ioctl(cp, (void *) rq->ifr_data);
+
+ case SIOCGMIIPHY: /* Get the address of the PHY in use. */
+ case SIOCDEVPRIVATE: /* binary compat, remove in 2.5 */
+ mii->phy_id = CP_INTERNAL_PHY;
+ /* Fall Through */
+
+ case SIOCGMIIREG: /* Read the specified MII register. */
+ case SIOCDEVPRIVATE+1: /* binary compat, remove in 2.5 */
+ mii->val_out = mdio_read (dev, CP_INTERNAL_PHY, mii->reg_num);
+ break;
default:
rc = -EOPNOTSUPP;
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2002-09-20 4:41 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-09-20 1:49 [PATCH] 8139cp: SIOCGMIIPHY and SIOCGMIIREG Felipe W Damasio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox