lkml.org 
[lkml]   [2007]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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/

\
 
 \ /
  Last update: 2007-07-30 22:07    [W:0.309 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site