Messages in this thread | | | Date | Mon, 30 Jul 2007 16:03:01 -0400 | From | Jeff Garzik <> | Subject | Re: [PATCH] dev->priv to netdev_priv(dev), drivers/net/tokenring/ |
| |
Yoann Padioleau wrote: > Replacing accesses to dev->priv to netdev_priv(dev). The replacment > is safe when netdev_priv is used to access a private structure that is > right next to the net_device structure in memory. > Cf http://groups.google.com/group/comp.os.linux.development.system/browse_thread/thread/de19321bcd94dbb8/0d74a4adcd6177bd > This is the case when the net_device structure was allocated with > a call to alloc_netdev or one of its derivative. > > Here is an excerpt of the semantic patch that performs the transformation > > @ rule1 @ > type T; > struct net_device *dev; > @@ > > dev = > ( > alloc_netdev > | > alloc_etherdev > | > alloc_trdev > ) > (sizeof(T), ...) > > @ rule1bis @ > struct net_device *dev; > expression E; > @@ > dev->priv = E > > @ rule2 depends on rule1 && !rule1bis @ > struct net_device *dev; > type rule1.T; > @@ > > - (T*) dev->priv > + netdev_priv(dev) > > > PS: I have performed the same transformation on the whole kernel > and it affects around 70 files, most of them in drivers/net/. > Should I split my patch for each subnet directories ? (wireless/, wan/, etc)
applied. splitting up by sub-directory would be helpful.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |