netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@osdl.org>
To: Pavel Roskin <proski@gnu.org>
Cc: netdev@vger.kernel.org, Greg Kroah-Hartman <gregkh@suse.de>
Subject: Re: Can we have GET_NETDEV_DEV?
Date: Tue, 25 Jul 2006 10:20:05 -0700	[thread overview]
Message-ID: <20060725102005.7edb5509@localhost.localdomain> (raw)
In-Reply-To: <1153803145.23803.19.camel@dv>

On Tue, 25 Jul 2006 00:52:25 -0400
Pavel Roskin <proski@gnu.org> wrote:

> Hello!
> 
> gregkh-driver-network-class_device-to-device.patch, which briefly
> appeared in Linux 2.6.18-rc1-mm1 broke MadWifi, which is copying the
> physical device information from the master network device to the
> virtual network devices:
> 
> SET_NETDEV_DEV(dev, mdev->class_dev.dev);
>

I would rather see SET_NETDEV_DEV go away. It was done for source
compatibility between 2.4 and 2.6 network device drivers. This is
no longer really important.

It would be better to either access the network device directly.
BUT, there are plans to get rid of class_dev so that would mean
source changes to all the drivers again...

So how about these wrappers.

--- a/include/linux/netdevice.h	2006-07-24 10:56:59.000000000 -0700
+++ b/include/linux/netdevice.h	2006-07-25 10:18:12.000000000 -0700
@@ -535,10 +535,23 @@
 }
 
 #define SET_MODULE_OWNER(dev) do { } while (0)
+
 /* Set the sysfs physical device reference for the network logical device
  * if set prior to registration will cause a symlink during initialization.
  */
-#define SET_NETDEV_DEV(net, pdev)	((net)->class_dev.dev = (pdev))
+static inline void netdev_set_pdev(struct net_device *dev, struct device *pdev)
+{
+	dev->class_dev.dev = pdev;
+}
+
+static inline struct device *netdev_get_pdev(struct net_device *dev)
+{
+	return dev->class_dev.dev;
+}
+
+
+/* old style macro for compatiablity */
+#define SET_NETDEV_DEV(net, pdev)	netdev_set_pdev(net, pdev)
 
 struct packet_type {
 	__be16			type;	/* This is really htons(ether_type). */

  reply	other threads:[~2006-07-25 17:21 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-25  4:52 Can we have GET_NETDEV_DEV? Pavel Roskin
2006-07-25 17:20 ` Stephen Hemminger [this message]
2006-07-25 21:08   ` Pavel Roskin
2006-07-25 21:26     ` Stephen Hemminger
2006-07-25 22:02       ` Pavel Roskin
2006-07-25 21:31   ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060725102005.7edb5509@localhost.localdomain \
    --to=shemminger@osdl.org \
    --cc=gregkh@suse.de \
    --cc=netdev@vger.kernel.org \
    --cc=proski@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).