Skip to content

netdevice: Fix directly reference of netdev->priv

Wang Chen linux-wireless netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest16 of 18 patches 11 repliesIn review

16 of 18 patches are in this archive. The cover letter announces 18.

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/18netdevice: safe convert to netdev_priv() #part-1drivers/net/3c501.c drivers/net/3c505.c drivers/net/3c523.c +29 more+229 -2290 replies
2/18netdevice: safe convert to netdev_priv() #part-2drivers/net/declance.c drivers/net/depca.c drivers/net/dm9000.c +30 more+258 -2600 replies
3/18netdevice: safe convert to netdev_priv() #part-3drivers/net/sgiseeq.c drivers/net/sis900.c drivers/net/smc9194.c +22 more+256 -2471 reply
4/18netdevice: safe convert to netdev_priv() #part-4drivers/net/wireless/libertas/wext.c drivers/net/wireless/rndis_wlan.c drivers/net/wireless/wavelan.c +10 more+153 -1530 replies
5/18netdevice 82596: Convert directly reference of netdev->priv to netdev->ml_privdrivers/net/82596.c+14 -140 replies
6/18netdevice chelsio: Convert directly reference of netdev->priv to netdev->ml_privdrivers/net/chelsio/cxgb2.c drivers/net/chelsio/sge.c+31 -310 replies
7/18netdevice hamradio: Convert directly reference of netdev->priv to netdev->ml_privdrivers/net/hamradio/dmascc.c drivers/net/hamradio/scc.c+12 -120 replies
8/18netdevice lance: Convert directly reference of netdev->priv to netdev->ml_privdrivers/net/lance.c+13 -130 replies
9/18netdevice ni65: Convert directly reference of netdev->priv to netdev->ml_privdrivers/net/ni65.c+16 -160 replies
10/18netdevice ppp: Convert directly reference of netdev->priv to netdev->ml_privdrivers/net/ppp_generic.c+3 -30 replies
11/18netdevice cycx_x25: Convert directly reference of netdev->priv to netdev->ml_privdrivers/net/wan/cycx_x25.c+21 -210 replies
12/18netdevice hdlc: Convert directly reference of netdev->priv to netdev->ml_privdrivers/net/wan/hdlc_fr.c include/linux/hdlc.h+6 -61 reply
13/18netdevice wanrouter: Convert directly reference of netdev->priv to netdev->ml_privnet/wanrouter/wanmain.c+12 -110 replies
14/18netdevice airo: Convert directly reference of netdev->priv to netdev->ml_privdrivers/net/wireless/airo.c+86 -854 replies
17/18netdevice pc300: Convert directly reference of netdev->priv to netdev->ml_privdrivers/net/wan/pc300_drv.c+9 -81 reply
18/18netdevice sbni: Convert directly reference of netdev->priv to netdev_priv()drivers/net/wan/sbni.c+52 -470 replies

Reviews trailers per patch

2 of 16 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchKrzysztof HalasaDave DillowWang Chen
SeriesR-b
1/18
2/18
3/18A-b
4/18
5/18
6/18
7/18
8/18
9/18
10/18
11/18
12/18A-b
13/18
14/18
17/18
18/18

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v1 thread

Cover letter [V#2 PATCH 0/18] netdevice: Fix directly reference of netdev->priv

We have some reasons to kill netdev->priv:
1. netdev->priv is equal to netdev_priv().
2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously netdev_priv() is more flexible than netdev->priv.
But we cann't kill netdev->priv now, because so many drivers reference to it directly.

OK, becasue Dave S. Miller said, "every direct netdev->priv usage is a bug", and I want to kill netdev->priv later, I decided to convert all the direct reference of netdev->priv first.

- Patch 1-4 are the safe convert which I believe will not make "after converted " worse than "before converted".
Originally, I put this kind of convert in one mail, but it's too big for vger. So I split it to 4 parts and make every part smaller than 100,000 bytes, which is max size allowed by vger.

- Patches 5-18 need comments. Since the value of netdev->priv is changed in drivers and I use netdev->ml_priv to replace netdev->priv.

Below is diffstat:

---
 drivers/net/3c501.c                        |    2
 drivers/net/3c505.c                        |   45 +++----
 drivers/net/3c523.c                        |   29 ++--
 drivers/net/3c59x.c                        |    4
 drivers/net/82596.c                        |   29 ++--
 drivers/net/acenic.c                       |    2
 drivers/net/appletalk/ipddp.c              |    6 -
 drivers/net/appletalk/ltpc.c               |   12 +-
 drivers/net/arcnet/arc-rawmode.c           |    4
 drivers/net/arcnet/arc-rimi.c              |   16 +-
 drivers/net/arcnet/arcnet.c                |   32 ++---
 drivers/net/arcnet/capmode.c               |    6 -
 drivers/net/arcnet/com20020-isa.c          |    4
 drivers/net/arcnet/com20020-pci.c          |    2
 drivers/net/arcnet/com20020.c              |   10 -
 drivers/net/arcnet/com90io.c               |    4
 drivers/net/arcnet/com90xx.c               |   10 -
 drivers/net/arcnet/rfc1051.c               |    8 -
 drivers/net/arcnet/rfc1201.c               |   12 +-
 drivers/net/atarilance.c                   |   34 ++---
 drivers/net/atl1e/atl1e_main.c             |    6 -
 drivers/net/atp.c                          |    3
 drivers/net/au1000_eth.c                   |   48 ++++----
 drivers/net/bonding/bond_3ad.c             |    7 -
 drivers/net/bonding/bond_alb.c             |    6 -
 drivers/net/bonding/bond_main.c            |   58 ++++-----
 drivers/net/bonding/bond_sysfs.c           |    2
 drivers/net/bonding/bonding.h              |    4
 drivers/net/chelsio/cxgb2.c                |   60 +++++-----
 drivers/net/chelsio/sge.c                  |    3
 drivers/net/declance.c                     |    2
 drivers/net/depca.c                        |   40 +++---
 drivers/net/dm9000.c                       |   32 ++---
 drivers/net/e1000/e1000_main.c             |    9 -
 drivers/net/e1000e/netdev.c                |    3
 drivers/net/eepro.c                        |    4
 drivers/net/epic100.c                      |   42 +++----
 drivers/net/eth16i.c                       |    2
 drivers/net/fec.c                          |    2
 drivers/net/hamradio/dmascc.c              |   12 +-
 drivers/net/hamradio/scc.c                 |   13 +-
 drivers/net/ibmveth.c                      |   34 ++---
 drivers/net/igb/igb_ethtool.c              |    4
 drivers/net/irda/ali-ircc.c                |   16 +-
 drivers/net/irda/donauboe.c                |    8 -
 drivers/net/irda/irda-usb.c                |   14 +-
 drivers/net/irda/nsc-ircc.c                |   16 +-
 drivers/net/irda/sa1100_ir.c               |   26 ++--
 drivers/net/irda/sir_dev.c                 |   12 +-
 drivers/net/irda/via-ircc.c                |   16 +-
 drivers/net/irda/vlsi_ir.c                 |   36 +++---
 drivers/net/irda/w83977af_ir.c             |   14 +-
 drivers/net/iseries_veth.c                 |   14 +-
 drivers/net/ixgbe/ixgbe_ethtool.c          |    6 -
 drivers/net/ixgbe/ixgbe_main.c             |    6 -
 drivers/net/lance.c                        |   27 ++--
 drivers/net/lp486e.c                       |   28 ++--
 drivers/net/mace.c                         |   29 ++--
 drivers/net/mv643xx_eth.c                  |    2
 drivers/net/mvme147.c                      |    4
 drivers/net/myri_sbus.c                    |   12 +-
 drivers/net/ne2k-pci.c                     |    2
 drivers/net/netxen/netxen_nic_hw.c         |    2
 drivers/net/netxen/netxen_nic_main.c       |    4
 drivers/net/ni5010.c                       |    2
 drivers/net/ni52.c                         |   36 +++---
 drivers/net/ni65.c                         |   33 ++---
 drivers/net/pasemi_mac_ethtool.c           |    4
 drivers/net/pcmcia/com20020_cs.c           |    6 -
 drivers/net/plip.c                         |    8 -
 drivers/net/ppp_generic.c                  |    7 -
 drivers/net/rionet.c                       |   26 ++--
 drivers/net/s2io.c                         |   79 ++++++-------
 drivers/net/sgiseeq.c                      |    2
 drivers/net/sis900.c                       |   64 +++++-----
 drivers/net/smc9194.c                      |    6 -
 drivers/net/sonic.h                        |   20 +--
 drivers/net/spider_net_ethtool.c           |    8 -
 drivers/net/sun3_82586.c                   |   38 +++---
 drivers/net/sunbmac.c                      |   18 +--
 drivers/net/sungem.c                       |   52 ++++----
 drivers/net/sunhme.c                       |   26 ++--
 drivers/net/sunqe.c                        |   14 +-
 drivers/net/tehuti.c                       |   38 +++---
 drivers/net/tokenring/tms380tr.c           |   14 +-
 drivers/net/tulip/de2104x.c                |   44 +++----
 drivers/net/tulip/eeprom.c                 |    2
 drivers/net/tulip/uli526x.c                |    2
 drivers/net/typhoon.c                      |    2
 drivers/net/usb/mcs7830.c                  |    4
 drivers/net/virtio_net.c                   |    3
 drivers/net/wan/cycx_x25.c                 |   43 +++----
 drivers/net/wan/dlci.c                     |   36 +++---
 drivers/net/wan/hdlc_fr.c                  |   10 -
 drivers/net/wan/pc300_drv.c                |   18 +--
 drivers/net/wan/sbni.c                     |  100 ++++++++--------
 drivers/net/wan/sdla.c                     |   48 ++++----
 drivers/net/wan/x25_asy.c                  |   28 ++--
 drivers/net/wireless/airo.c                |  172 ++++++++++++++---------------
 drivers/net/wireless/libertas/ethtool.c    |   12 +-
 drivers/net/wireless/libertas/main.c       |   37 +++---
 drivers/net/wireless/libertas/persistcfg.c |   16 +-
 drivers/net/wireless/libertas/scan.c       |    4
 drivers/net/wireless/libertas/tx.c         |    3
 drivers/net/wireless/libertas/wext.c       |   72 ++++++------
 drivers/net/wireless/rndis_wlan.c          |   62 +++++-----
 drivers/net/wireless/wavelan.c             |   88 +++++++-------
 drivers/net/wireless/zd1201.c              |   65 +++++-----
 drivers/net/znet.c                         |   22 +--
 include/linux/hdlc.h                       |    3
 net/appletalk/ddp.c                        |    2
 net/atm/br2684.c                           |    2
 net/atm/lec.c                              |   34 +++--
 net/atm/mpc.c                              |   10 -
 net/bluetooth/bnep/core.c                  |    2
 net/bluetooth/bnep/netdev.c                |    6 -
 net/bridge/br_if.c                         |    2
 net/bridge/br_sysfs_br.c                   |    2
 net/irda/irlan/irlan_common.c              |    3
 net/wanrouter/wanmain.c                    |   24 ++--
 120 files changed, 1221 insertions(+), 1224 deletions(-)