Skip to content

Commit

Permalink
netdevice: safe convert to netdev_priv() #part-2
Browse files Browse the repository at this point in the history
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, because so many drivers reference to it
directly.

This patch is a safe convert for netdev->priv to netdev_priv(netdev).
Since all of the netdev->priv is only for read.
But it is too big to be sent in one mail.
I split it to 4 parts and make every part smaller than 100,000 bytes,
which is max size allowed by vger.

Signed-off-by: Wang Chen <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
Wang Chen authored and davem330 committed Nov 13, 2008
1 parent 454d7c9 commit 4cf1653
Show file tree
Hide file tree
Showing 32 changed files with 256 additions and 258 deletions.
2 changes: 1 addition & 1 deletion drivers/net/declance.c
Original file line number Diff line number Diff line change
Expand Up @@ -1033,7 +1033,7 @@ static int __init dec_lance_probe(struct device *bdev, const int type)
dev = root_lance_dev;
while (dev) {
i++;
lp = (struct lance_private *)dev->priv;
lp = netdev_priv(dev);
dev = lp->next;
}
snprintf(name, sizeof(name), fmt, i);
Expand Down
40 changes: 20 additions & 20 deletions drivers/net/depca.c
Original file line number Diff line number Diff line change
Expand Up @@ -600,7 +600,7 @@ static int __init depca_hw_init (struct net_device *dev, struct device *device)
return -ENXIO;
}

lp = (struct depca_private *) dev->priv;
lp = netdev_priv(dev);
mem_start = lp->mem_start;

if (!mem_start || lp->adapter < DEPCA || lp->adapter >=unknown)
Expand Down Expand Up @@ -820,7 +820,7 @@ static int __init depca_hw_init (struct net_device *dev, struct device *device)

static int depca_open(struct net_device *dev)
{
struct depca_private *lp = (struct depca_private *) dev->priv;
struct depca_private *lp = netdev_priv(dev);
u_long ioaddr = dev->base_addr;
s16 nicsr;
int status = 0;
Expand Down Expand Up @@ -865,7 +865,7 @@ static int depca_open(struct net_device *dev)
/* Initialize the lance Rx and Tx descriptor rings. */
static void depca_init_ring(struct net_device *dev)
{
struct depca_private *lp = (struct depca_private *) dev->priv;
struct depca_private *lp = netdev_priv(dev);
u_int i;
u_long offset;

Expand Down Expand Up @@ -923,7 +923,7 @@ static void depca_tx_timeout(struct net_device *dev)
*/
static int depca_start_xmit(struct sk_buff *skb, struct net_device *dev)
{
struct depca_private *lp = (struct depca_private *) dev->priv;
struct depca_private *lp = netdev_priv(dev);
u_long ioaddr = dev->base_addr;
int status = 0;

Expand Down Expand Up @@ -971,7 +971,7 @@ static irqreturn_t depca_interrupt(int irq, void *dev_id)
return IRQ_NONE;
}

lp = (struct depca_private *) dev->priv;
lp = netdev_priv(dev);
ioaddr = dev->base_addr;

spin_lock(&lp->lock);
Expand Down Expand Up @@ -1009,7 +1009,7 @@ static irqreturn_t depca_interrupt(int irq, void *dev_id)
/* Called with lp->lock held */
static int depca_rx(struct net_device *dev)
{
struct depca_private *lp = (struct depca_private *) dev->priv;
struct depca_private *lp = netdev_priv(dev);
int i, entry;
s32 status;

Expand Down Expand Up @@ -1106,7 +1106,7 @@ static int depca_rx(struct net_device *dev)
*/
static int depca_tx(struct net_device *dev)
{
struct depca_private *lp = (struct depca_private *) dev->priv;
struct depca_private *lp = netdev_priv(dev);
int entry;
s32 status;
u_long ioaddr = dev->base_addr;
Expand Down Expand Up @@ -1147,7 +1147,7 @@ static int depca_tx(struct net_device *dev)

static int depca_close(struct net_device *dev)
{
struct depca_private *lp = (struct depca_private *) dev->priv;
struct depca_private *lp = netdev_priv(dev);
s16 nicsr;
u_long ioaddr = dev->base_addr;

Expand Down Expand Up @@ -1183,7 +1183,7 @@ static int depca_close(struct net_device *dev)

static void LoadCSRs(struct net_device *dev)
{
struct depca_private *lp = (struct depca_private *) dev->priv;
struct depca_private *lp = netdev_priv(dev);
u_long ioaddr = dev->base_addr;

outw(CSR1, DEPCA_ADDR); /* initialisation block address LSW */
Expand All @@ -1200,7 +1200,7 @@ static void LoadCSRs(struct net_device *dev)

static int InitRestartDepca(struct net_device *dev)
{
struct depca_private *lp = (struct depca_private *) dev->priv;
struct depca_private *lp = netdev_priv(dev);
u_long ioaddr = dev->base_addr;
int i, status = 0;

Expand Down Expand Up @@ -1232,7 +1232,7 @@ static int InitRestartDepca(struct net_device *dev)
*/
static void set_multicast_list(struct net_device *dev)
{
struct depca_private *lp = (struct depca_private *) dev->priv;
struct depca_private *lp = netdev_priv(dev);
u_long ioaddr = dev->base_addr;

netif_stop_queue(dev);
Expand Down Expand Up @@ -1261,7 +1261,7 @@ static void set_multicast_list(struct net_device *dev)
*/
static void SetMulticastFilter(struct net_device *dev)
{
struct depca_private *lp = (struct depca_private *) dev->priv;
struct depca_private *lp = netdev_priv(dev);
struct dev_mc_list *dmi = dev->mc_list;
char *addrs;
int i, j, bit, byte;
Expand Down Expand Up @@ -1429,7 +1429,7 @@ static int __init depca_mca_probe(struct device *device)

dev->irq = irq;
dev->base_addr = iobase;
lp = dev->priv;
lp = netdev_priv(dev);
lp->depca_bus = DEPCA_BUS_MCA;
lp->adapter = depca_mca_adapter_type[mdev->index];
lp->mem_start = mem_start;
Expand Down Expand Up @@ -1532,7 +1532,7 @@ static int __init depca_isa_probe (struct platform_device *device)
dev->base_addr = ioaddr;
dev->irq = irq; /* Use whatever value the user gave
* us, and 0 if he didn't. */
lp = dev->priv;
lp = netdev_priv(dev);
lp->depca_bus = DEPCA_BUS_ISA;
lp->adapter = adapter;
lp->mem_start = mem_start;
Expand Down Expand Up @@ -1578,7 +1578,7 @@ static int __init depca_eisa_probe (struct device *device)

dev->base_addr = ioaddr;
dev->irq = irq;
lp = dev->priv;
lp = netdev_priv(dev);
lp->depca_bus = DEPCA_BUS_EISA;
lp->adapter = edev->id.driver_data;
lp->mem_start = mem_start;
Expand All @@ -1603,7 +1603,7 @@ static int __devexit depca_device_remove (struct device *device)
int bus;

dev = device->driver_data;
lp = dev->priv;
lp = netdev_priv(dev);

unregister_netdev (dev);
iounmap (lp->sh_mem);
Expand Down Expand Up @@ -1745,7 +1745,7 @@ static int __init DevicePresent(u_long ioaddr)
static int __init get_hw_addr(struct net_device *dev)
{
u_long ioaddr = dev->base_addr;
struct depca_private *lp = dev->priv;
struct depca_private *lp = netdev_priv(dev);
int i, k, tmp, status = 0;
u_short j, x, chksum;

Expand Down Expand Up @@ -1780,7 +1780,7 @@ static int __init get_hw_addr(struct net_device *dev)
*/
static int load_packet(struct net_device *dev, struct sk_buff *skb)
{
struct depca_private *lp = (struct depca_private *) dev->priv;
struct depca_private *lp = netdev_priv(dev);
int i, entry, end, len, status = 0;

entry = lp->tx_new; /* Ring around buffer number. */
Expand Down Expand Up @@ -1835,7 +1835,7 @@ static int load_packet(struct net_device *dev, struct sk_buff *skb)

static void depca_dbg_open(struct net_device *dev)
{
struct depca_private *lp = (struct depca_private *) dev->priv;
struct depca_private *lp = netdev_priv(dev);
u_long ioaddr = dev->base_addr;
struct depca_init *p = &lp->init_block;
int i;
Expand Down Expand Up @@ -1906,7 +1906,7 @@ static void depca_dbg_open(struct net_device *dev)
*/
static int depca_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
{
struct depca_private *lp = (struct depca_private *) dev->priv;
struct depca_private *lp = netdev_priv(dev);
struct depca_ioctl *ioc = (struct depca_ioctl *) &rq->ifr_ifru;
int i, status = 0;
u_long ioaddr = dev->base_addr;
Expand Down
32 changes: 16 additions & 16 deletions drivers/net/dm9000.c
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ typedef struct board_info {

static inline board_info_t *to_dm9000_board(struct net_device *dev)
{
return dev->priv;
return netdev_priv(dev);
}

/* DM9000 network board routine ---------------------------- */
Expand Down Expand Up @@ -626,7 +626,7 @@ static unsigned char dm9000_type_to_char(enum dm9000_type type)
static void
dm9000_hash_table(struct net_device *dev)
{
board_info_t *db = (board_info_t *) dev->priv;
board_info_t *db = netdev_priv(dev);
struct dev_mc_list *mcptr = dev->mc_list;
int mc_cnt = dev->mc_count;
int i, oft;
Expand Down Expand Up @@ -677,7 +677,7 @@ dm9000_hash_table(struct net_device *dev)
static void
dm9000_init_dm9000(struct net_device *dev)
{
board_info_t *db = dev->priv;
board_info_t *db = netdev_priv(dev);
unsigned int imr;

dm9000_dbg(db, 1, "entering %s\n", __func__);
Expand Down Expand Up @@ -723,7 +723,7 @@ dm9000_init_dm9000(struct net_device *dev)
/* Our watchdog timed out. Called by the networking layer */
static void dm9000_timeout(struct net_device *dev)
{
board_info_t *db = (board_info_t *) dev->priv;
board_info_t *db = netdev_priv(dev);
u8 reg_save;
unsigned long flags;

Expand Down Expand Up @@ -751,7 +751,7 @@ static int
dm9000_start_xmit(struct sk_buff *skb, struct net_device *dev)
{
unsigned long flags;
board_info_t *db = dev->priv;
board_info_t *db = netdev_priv(dev);

dm9000_dbg(db, 3, "%s:\n", __func__);

Expand Down Expand Up @@ -831,7 +831,7 @@ struct dm9000_rxhdr {
static void
dm9000_rx(struct net_device *dev)
{
board_info_t *db = (board_info_t *) dev->priv;
board_info_t *db = netdev_priv(dev);
struct dm9000_rxhdr rxhdr;
struct sk_buff *skb;
u8 rxbyte, *rdptr;
Expand Down Expand Up @@ -928,7 +928,7 @@ dm9000_rx(struct net_device *dev)
static irqreturn_t dm9000_interrupt(int irq, void *dev_id)
{
struct net_device *dev = dev_id;
board_info_t *db = dev->priv;
board_info_t *db = netdev_priv(dev);
int int_status;
u8 reg_save;

Expand Down Expand Up @@ -996,7 +996,7 @@ static void dm9000_poll_controller(struct net_device *dev)
static int
dm9000_open(struct net_device *dev)
{
board_info_t *db = dev->priv;
board_info_t *db = netdev_priv(dev);
unsigned long irqflags = db->irq_res->flags & IRQF_TRIGGER_MASK;

if (netif_msg_ifup(db))
Expand Down Expand Up @@ -1046,7 +1046,7 @@ static void dm9000_msleep(board_info_t *db, unsigned int ms)
static int
dm9000_phy_read(struct net_device *dev, int phy_reg_unused, int reg)
{
board_info_t *db = (board_info_t *) dev->priv;
board_info_t *db = netdev_priv(dev);
unsigned long flags;
unsigned int reg_save;
int ret;
Expand Down Expand Up @@ -1093,7 +1093,7 @@ static void
dm9000_phy_write(struct net_device *dev,
int phyaddr_unused, int reg, int value)
{
board_info_t *db = (board_info_t *) dev->priv;
board_info_t *db = netdev_priv(dev);
unsigned long flags;
unsigned long reg_save;

Expand Down Expand Up @@ -1134,7 +1134,7 @@ dm9000_phy_write(struct net_device *dev,
static void
dm9000_shutdown(struct net_device *dev)
{
board_info_t *db = dev->priv;
board_info_t *db = netdev_priv(dev);

/* RESET device */
dm9000_phy_write(dev, 0, MII_BMCR, BMCR_RESET); /* PHY RESET */
Expand All @@ -1150,7 +1150,7 @@ dm9000_shutdown(struct net_device *dev)
static int
dm9000_stop(struct net_device *ndev)
{
board_info_t *db = ndev->priv;
board_info_t *db = netdev_priv(ndev);

if (netif_msg_ifdown(db))
dev_dbg(db->dev, "shutting down %s\n", ndev->name);
Expand Down Expand Up @@ -1197,7 +1197,7 @@ dm9000_probe(struct platform_device *pdev)
dev_dbg(&pdev->dev, "dm9000_probe()\n");

/* setup board info structure */
db = ndev->priv;
db = netdev_priv(ndev);
memset(db, 0, sizeof(*db));

db->dev = &pdev->dev;
Expand Down Expand Up @@ -1408,7 +1408,7 @@ dm9000_drv_suspend(struct platform_device *dev, pm_message_t state)
board_info_t *db;

if (ndev) {
db = (board_info_t *) ndev->priv;
db = netdev_priv(ndev);
db->in_suspend = 1;

if (netif_running(ndev)) {
Expand All @@ -1423,7 +1423,7 @@ static int
dm9000_drv_resume(struct platform_device *dev)
{
struct net_device *ndev = platform_get_drvdata(dev);
board_info_t *db = (board_info_t *) ndev->priv;
board_info_t *db = netdev_priv(ndev);

if (ndev) {

Expand All @@ -1447,7 +1447,7 @@ dm9000_drv_remove(struct platform_device *pdev)
platform_set_drvdata(pdev, NULL);

unregister_netdev(ndev);
dm9000_release_board(pdev, (board_info_t *) ndev->priv);
dm9000_release_board(pdev, (board_info_t *) netdev_priv(ndev);
free_netdev(ndev); /* free device structure */

dev_dbg(&pdev->dev, "released and freed device\n");
Expand Down
9 changes: 4 additions & 5 deletions drivers/net/e1000/e1000_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -3786,8 +3786,7 @@ static int e1000_clean(struct napi_struct *napi, int budget)
struct net_device *poll_dev = adapter->netdev;
int tx_cleaned = 0, work_done = 0;

/* Must NOT use netdev_priv macro here. */
adapter = poll_dev->priv;
adapter = netdev_priv(poll_dev);

/* e1000_clean is called per-cpu. This lock protects
* tx_ring[0] from being cleaned by multiple cpus
Expand Down Expand Up @@ -4782,7 +4781,7 @@ static pci_ers_result_t e1000_io_error_detected(struct pci_dev *pdev,
pci_channel_state_t state)
{
struct net_device *netdev = pci_get_drvdata(pdev);
struct e1000_adapter *adapter = netdev->priv;
struct e1000_adapter *adapter = netdev_priv(netdev);

netif_device_detach(netdev);

Expand All @@ -4804,7 +4803,7 @@ static pci_ers_result_t e1000_io_error_detected(struct pci_dev *pdev,
static pci_ers_result_t e1000_io_slot_reset(struct pci_dev *pdev)
{
struct net_device *netdev = pci_get_drvdata(pdev);
struct e1000_adapter *adapter = netdev->priv;
struct e1000_adapter *adapter = netdev_priv(netdev);
struct e1000_hw *hw = &adapter->hw;
int err;

Expand Down Expand Up @@ -4838,7 +4837,7 @@ static pci_ers_result_t e1000_io_slot_reset(struct pci_dev *pdev)
static void e1000_io_resume(struct pci_dev *pdev)
{
struct net_device *netdev = pci_get_drvdata(pdev);
struct e1000_adapter *adapter = netdev->priv;
struct e1000_adapter *adapter = netdev_priv(netdev);
struct e1000_hw *hw = &adapter->hw;

e1000_init_manageability(adapter);
Expand Down
3 changes: 1 addition & 2 deletions drivers/net/e1000e/netdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -1988,8 +1988,7 @@ static int e1000_clean(struct napi_struct *napi, int budget)
struct net_device *poll_dev = adapter->netdev;
int tx_cleaned = 0, work_done = 0;

/* Must NOT use netdev_priv macro here. */
adapter = poll_dev->priv;
adapter = netdev_priv(poll_dev);

if (adapter->msix_entries &&
!(adapter->rx_ring->ims_val & adapter->tx_ring->ims_val))
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/eepro.c
Original file line number Diff line number Diff line change
Expand Up @@ -605,7 +605,7 @@ struct net_device * __init eepro_probe(int unit)

static void __init printEEPROMInfo(struct net_device *dev)
{
struct eepro_local *lp = (struct eepro_local *)dev->priv;
struct eepro_local *lp = netdev_priv(dev);
int ioaddr = dev->base_addr;
unsigned short Word;
int i,j;
Expand Down Expand Up @@ -1674,7 +1674,7 @@ eepro_transmit_interrupt(struct net_device *dev)
static int eepro_ethtool_get_settings(struct net_device *dev,
struct ethtool_cmd *cmd)
{
struct eepro_local *lp = (struct eepro_local *)dev->priv;
struct eepro_local *lp = netdev_priv(dev);

cmd->supported = SUPPORTED_10baseT_Half |
SUPPORTED_10baseT_Full |
Expand Down
Loading

0 comments on commit 4cf1653

Please sign in to comment.