* [PATCH] 3c59x: Add ethtool WOL support
@ 2010-07-25 2:24 Andrew O. Shadoura
2010-07-25 19:03 ` Andrew O. Shadoura
2010-07-25 23:48 ` David Miller
0 siblings, 2 replies; 3+ messages in thread
From: Andrew O. Shadoura @ 2010-07-25 2:24 UTC (permalink / raw)
To: Andrew Morton; +Cc: Netdev mailing list, Linux kernel mailing list
This patch adds wrappers for ethtool to get or set wake-on-LAN
setting without re-inserting the kernel module.
Signed-off-by: Andrew O. Shadoura <andrew@beldisplaytech.com>
---
Hello.
I've actually tested this patch on a machine with a network
card that's idenfied by lsusb as "3c905C-TX/TX-M", and it seems
to work.
---
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c
index d75803e..a452dfe 100644
--- a/drivers/net/3c59x.c
+++ b/drivers/net/3c59x.c
@@ -2909,6 +2909,36 @@ static void vortex_get_drvinfo(struct net_device *dev,
}
}
+static void vortex_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
+{
+ struct vortex_private *vp = netdev_priv(dev);
+
+ spin_lock_irq(&vp->lock);
+ wol->supported = WAKE_MAGIC;
+
+ wol->wolopts = 0;
+ if (vp->enable_wol)
+ wol->wolopts |= WAKE_MAGIC;
+ spin_unlock_irq(&vp->lock);
+}
+
+static int vortex_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
+{
+ struct vortex_private *vp = netdev_priv(dev);
+ if (wol->wolopts & ~WAKE_MAGIC)
+ return -EINVAL;
+
+ spin_lock_irq(&vp->lock);
+ if (wol->wolopts & WAKE_MAGIC)
+ vp->enable_wol = 1;
+ else
+ vp->enable_wol = 0;
+ acpi_set_WOL(dev);
+ spin_unlock_irq(&vp->lock);
+
+ return 0;
+}
+
static const struct ethtool_ops vortex_ethtool_ops = {
.get_drvinfo = vortex_get_drvinfo,
.get_strings = vortex_get_strings,
@@ -2920,6 +2950,8 @@ static const struct ethtool_ops vortex_ethtool_ops = {
.set_settings = vortex_set_settings,
.get_link = ethtool_op_get_link,
.nway_reset = vortex_nway_reset,
+ .get_wol = vortex_get_wol,
+ .set_wol = vortex_set_wol,
};
#ifdef CONFIG_PCI
--
WBR, Andrew
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] 3c59x: Add ethtool WOL support
2010-07-25 2:24 [PATCH] 3c59x: Add ethtool WOL support Andrew O. Shadoura
@ 2010-07-25 19:03 ` Andrew O. Shadoura
2010-07-25 23:48 ` David Miller
1 sibling, 0 replies; 3+ messages in thread
From: Andrew O. Shadoura @ 2010-07-25 19:03 UTC (permalink / raw)
To: Netdev mailing list; +Cc: Linux kernel mailing list
[-- Attachment #1: Type: Text/Plain, Size: 293 bytes --]
Hello.
On Sunday 25 July 2010 05:24:17 Andrew O. Shadoura wrote:
> I've actually tested this patch on a machine with a network
> card that's idenfied by lsusb as "3c905C-TX/TX-M", and it seems
> to work.
Oops, of course I meant "it's identified by lspci as ...".
--
WBR, Andrew
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] 3c59x: Add ethtool WOL support
2010-07-25 2:24 [PATCH] 3c59x: Add ethtool WOL support Andrew O. Shadoura
2010-07-25 19:03 ` Andrew O. Shadoura
@ 2010-07-25 23:48 ` David Miller
1 sibling, 0 replies; 3+ messages in thread
From: David Miller @ 2010-07-25 23:48 UTC (permalink / raw)
To: bugzilla, andrew; +Cc: akpm, netdev, linux-kernel
From: "Andrew O. Shadoura" <andrew@beldisplaytech.com>
Date: Sun, 25 Jul 2010 05:24:17 +0300
> This patch adds wrappers for ethtool to get or set wake-on-LAN
> setting without re-inserting the kernel module.
>
> Signed-off-by: Andrew O. Shadoura <andrew@beldisplaytech.com>
Applied, thanks.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-07-25 23:48 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-25 2:24 [PATCH] 3c59x: Add ethtool WOL support Andrew O. Shadoura
2010-07-25 19:03 ` Andrew O. Shadoura
2010-07-25 23:48 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).