From: Thomas Gleixner To make spinlock/rwlock initialization consistent all over the kernel, this patch converts explicit lock-initializers into spin_lock_init() and rwlock_init() calls. Currently, spinlocks and rwlocks are initialized in two different ways: lock = SPIN_LOCK_UNLOCKED spin_lock_init(&lock) rwlock = RW_LOCK_UNLOCKED rwlock_init(&rwlock) this patch converts all explicit lock initializations to spin_lock_init() or rwlock_init(). (Besides consistency this also helps automatic lock validators and debugging code.) The conversion was done with a script, it was verified manually and it was reviewed, compiled and tested as far as possible on x86, ARM, PPC. There is no runtime overhead or actual code change resulting out of this patch, because spin_lock_init() and rwlock_init() are macros and are thus equivalent to the explicit initialization method. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Andrew Morton --- 25-akpm/drivers/net/7990.c | 2 +- 25-akpm/drivers/net/82596.c | 2 +- 25-akpm/drivers/net/atarilance.c | 2 +- 25-akpm/drivers/net/depca.c | 2 +- 25-akpm/drivers/net/hamradio/mkiss.c | 2 +- 25-akpm/drivers/net/lasi_82596.c | 2 +- 25-akpm/drivers/net/pci-skeleton.c | 2 +- 25-akpm/drivers/net/ppp_generic.c | 2 +- 25-akpm/drivers/net/sundance.c | 2 +- 25-akpm/drivers/net/tokenring/ibmtr.c | 2 +- 25-akpm/drivers/net/tulip/de4x5.c | 4 ++-- 25-akpm/drivers/net/tulip/xircom_cb.c | 2 +- 25-akpm/drivers/net/tulip/xircom_tulip_cb.c | 2 +- 25-akpm/drivers/net/wan/cycx_main.c | 2 +- 25-akpm/drivers/net/wan/cycx_x25.c | 2 +- 25-akpm/drivers/net/wireless/airo.c | 2 +- 25-akpm/drivers/net/znet.c | 2 +- 17 files changed, 18 insertions(+), 18 deletions(-) diff -puN drivers/net/7990.c~lock-initializer-unifying-network-drivers drivers/net/7990.c --- 25/drivers/net/7990.c~lock-initializer-unifying-network-drivers 2004-10-26 20:06:05.837181088 -0700 +++ 25-akpm/drivers/net/7990.c 2004-10-26 20:06:05.870176072 -0700 @@ -466,7 +466,7 @@ int lance_open (struct net_device *dev) return -EAGAIN; res = lance_reset(dev); - lp->devlock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&lp->devlock); netif_start_queue (dev); return res; diff -puN drivers/net/82596.c~lock-initializer-unifying-network-drivers drivers/net/82596.c --- 25/drivers/net/82596.c~lock-initializer-unifying-network-drivers 2004-10-26 20:06:05.839180784 -0700 +++ 25-akpm/drivers/net/82596.c 2004-10-26 20:06:05.872175768 -0700 @@ -1260,7 +1260,7 @@ struct net_device * __init i82596_probe( lp->scb.command = 0; lp->scb.cmd = I596_NULL; lp->scb.rfd = I596_NULL; - lp->lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&lp->lock); err = register_netdev(dev); if (err) diff -puN drivers/net/atarilance.c~lock-initializer-unifying-network-drivers drivers/net/atarilance.c --- 25/drivers/net/atarilance.c~lock-initializer-unifying-network-drivers 2004-10-26 20:06:05.840180632 -0700 +++ 25-akpm/drivers/net/atarilance.c 2004-10-26 20:06:05.873175616 -0700 @@ -606,7 +606,7 @@ static unsigned long __init lance_probe1 printk( " Use \"ifconfig hw ether ...\" to set the address.\n" ); } - lp->devlock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&lp->devlock); MEM->init.mode = 0x0000; /* Disable Rx and Tx. */ for( i = 0; i < 6; i++ ) diff -puN drivers/net/depca.c~lock-initializer-unifying-network-drivers drivers/net/depca.c --- 25/drivers/net/depca.c~lock-initializer-unifying-network-drivers 2004-10-26 20:06:05.842180328 -0700 +++ 25-akpm/drivers/net/depca.c 2004-10-26 20:06:05.875175312 -0700 @@ -666,7 +666,7 @@ static int __init depca_hw_init (struct outb(nicsr, DEPCA_NICSR); } - lp->lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&lp->lock); sprintf(lp->adapter_name, "%s (%s)", depca_signature[lp->adapter], device->bus_id); status = -EBUSY; diff -puN drivers/net/hamradio/mkiss.c~lock-initializer-unifying-network-drivers drivers/net/hamradio/mkiss.c --- 25/drivers/net/hamradio/mkiss.c~lock-initializer-unifying-network-drivers 2004-10-26 20:06:05.844180024 -0700 +++ 25-akpm/drivers/net/hamradio/mkiss.c 2004-10-26 20:06:05.876175160 -0700 @@ -518,7 +518,7 @@ static int ax_open(struct net_device *de ax->flags &= (1 << AXF_INUSE); /* Clear ESCAPE & ERROR flags */ - ax->buflock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&ax->buflock); netif_start_queue(dev); return 0; diff -puN drivers/net/lasi_82596.c~lock-initializer-unifying-network-drivers drivers/net/lasi_82596.c --- 25/drivers/net/lasi_82596.c~lock-initializer-unifying-network-drivers 2004-10-26 20:06:05.845179872 -0700 +++ 25-akpm/drivers/net/lasi_82596.c 2004-10-26 20:06:05.877175008 -0700 @@ -1218,7 +1218,7 @@ static int __devinit i82596_probe(struct lp->scb.command = 0; lp->scb.cmd = I596_NULL; lp->scb.rfd = I596_NULL; - lp->lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&lp->lock); lp->dma_addr = dma_addr; lp->dev = gen_dev; diff -puN drivers/net/pci-skeleton.c~lock-initializer-unifying-network-drivers drivers/net/pci-skeleton.c --- 25/drivers/net/pci-skeleton.c~lock-initializer-unifying-network-drivers 2004-10-26 20:06:05.847179568 -0700 +++ 25-akpm/drivers/net/pci-skeleton.c 2004-10-26 20:06:05.878174856 -0700 @@ -795,7 +795,7 @@ static int __devinit netdrv_init_one (st tp->pci_dev = pdev; tp->board = ent->driver_data; tp->mmio_addr = ioaddr; - tp->lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&tp->lock); pci_set_drvdata(pdev, dev); diff -puN drivers/net/ppp_generic.c~lock-initializer-unifying-network-drivers drivers/net/ppp_generic.c --- 25/drivers/net/ppp_generic.c~lock-initializer-unifying-network-drivers 2004-10-26 20:06:05.848179416 -0700 +++ 25-akpm/drivers/net/ppp_generic.c 2004-10-26 20:06:05.880174552 -0700 @@ -1920,7 +1920,7 @@ ppp_register_channel(struct ppp_channel #endif /* CONFIG_PPP_MULTILINK */ init_rwsem(&pch->chan_sem); spin_lock_init(&pch->downl); - pch->upl = RW_LOCK_UNLOCKED; + rwlock_init(&pch->upl); spin_lock_bh(&all_channels_lock); pch->file.index = ++last_channel_index; list_add(&pch->list, &new_channels); diff -puN drivers/net/sundance.c~lock-initializer-unifying-network-drivers drivers/net/sundance.c --- 25/drivers/net/sundance.c~lock-initializer-unifying-network-drivers 2004-10-26 20:06:05.850179112 -0700 +++ 25-akpm/drivers/net/sundance.c 2004-10-26 20:06:05.883174096 -0700 @@ -865,7 +865,7 @@ static int netdev_open(struct net_device if (dev->if_port == 0) dev->if_port = np->default_port; - np->mcastlock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&np->mcastlock); set_rx_mode(dev); iowrite16(0, ioaddr + IntrEnable); diff -puN drivers/net/tokenring/ibmtr.c~lock-initializer-unifying-network-drivers drivers/net/tokenring/ibmtr.c --- 25/drivers/net/tokenring/ibmtr.c~lock-initializer-unifying-network-drivers 2004-10-26 20:06:05.852178808 -0700 +++ 25-akpm/drivers/net/tokenring/ibmtr.c 2004-10-26 20:06:05.885173792 -0700 @@ -896,7 +896,7 @@ static int tok_open(struct net_device *d ti->sram_phys &= ~1; /* to reverse what we do in tok_close */ /* init the spinlock */ - ti->lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&ti->lock); init_timer(&ti->tr_timer); i = tok_init_card(dev); diff -puN drivers/net/tulip/de4x5.c~lock-initializer-unifying-network-drivers drivers/net/tulip/de4x5.c --- 25/drivers/net/tulip/de4x5.c~lock-initializer-unifying-network-drivers 2004-10-26 20:06:05.854178504 -0700 +++ 25-akpm/drivers/net/tulip/de4x5.c 2004-10-26 20:06:05.889173184 -0700 @@ -1141,7 +1141,7 @@ de4x5_hw_init(struct net_device *dev, u_ lp->asBitValid = TRUE; lp->timeout = -1; lp->gendev = gendev; - lp->lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&lp->lock); init_timer(&lp->timer); de4x5_parse_params(dev); @@ -1316,7 +1316,7 @@ de4x5_open(struct net_device *dev) ** Re-initialize the DE4X5... */ status = de4x5_init(dev); - lp->lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&lp->lock); lp->state = OPEN; de4x5_dbg_open(dev); diff -puN drivers/net/tulip/xircom_cb.c~lock-initializer-unifying-network-drivers drivers/net/tulip/xircom_cb.c --- 25/drivers/net/tulip/xircom_cb.c~lock-initializer-unifying-network-drivers 2004-10-26 20:06:05.855178352 -0700 +++ 25-akpm/drivers/net/tulip/xircom_cb.c 2004-10-26 20:06:05.890173032 -0700 @@ -259,7 +259,7 @@ static int __devinit xircom_probe(struct private->dev = dev; private->pdev = pdev; private->io_port = pci_resource_start(pdev, 0); - private->lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&private->lock); dev->irq = pdev->irq; dev->base_addr = private->io_port; diff -puN drivers/net/tulip/xircom_tulip_cb.c~lock-initializer-unifying-network-drivers drivers/net/tulip/xircom_tulip_cb.c --- 25/drivers/net/tulip/xircom_tulip_cb.c~lock-initializer-unifying-network-drivers 2004-10-26 20:06:05.857178048 -0700 +++ 25-akpm/drivers/net/tulip/xircom_tulip_cb.c 2004-10-26 20:06:05.892172728 -0700 @@ -584,7 +584,7 @@ static int __devinit xircom_init_one(str tp = netdev_priv(dev); - tp->lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&tp->lock); tp->pdev = pdev; tp->chip_id = chip_idx; /* BugFixes: The 21143-TD hangs with PCI Write-and-Invalidate cycles. */ diff -puN drivers/net/wan/cycx_main.c~lock-initializer-unifying-network-drivers drivers/net/wan/cycx_main.c --- 25/drivers/net/wan/cycx_main.c~lock-initializer-unifying-network-drivers 2004-10-26 20:06:05.859177744 -0700 +++ 25-akpm/drivers/net/wan/cycx_main.c 2004-10-26 20:06:05.892172728 -0700 @@ -225,7 +225,7 @@ static int cycx_wan_setup(struct wan_dev card->hw.irq = irq; card->hw.dpmsize = CYCX_WINDOWSIZE; card->hw.fwid = CFID_X25_2X; - card->lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&card->lock); init_waitqueue_head(&card->wait_stats); rc = cycx_setup(&card->hw, conf->data, conf->data_size, conf->maddr); diff -puN drivers/net/wan/cycx_x25.c~lock-initializer-unifying-network-drivers drivers/net/wan/cycx_x25.c --- 25/drivers/net/wan/cycx_x25.c~lock-initializer-unifying-network-drivers 2004-10-26 20:06:05.861177440 -0700 +++ 25-akpm/drivers/net/wan/cycx_x25.c 2004-10-26 20:06:05.894172424 -0700 @@ -231,7 +231,7 @@ int cycx_x25_wan_init(struct cycx_device /* Initialize protocol-specific fields */ card->mbox = card->hw.dpmbase + X25_MBOX_OFFS; card->u.x.connection_keys = 0; - card->u.x.lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&card->u.x.lock); /* Configure adapter. Here we set reasonable defaults, then parse * device configuration structure and set configuration options. diff -puN drivers/net/wireless/airo.c~lock-initializer-unifying-network-drivers drivers/net/wireless/airo.c --- 25/drivers/net/wireless/airo.c~lock-initializer-unifying-network-drivers 2004-10-26 20:06:05.865176832 -0700 +++ 25-akpm/drivers/net/wireless/airo.c 2004-10-26 20:06:05.899171664 -0700 @@ -2722,7 +2722,7 @@ struct net_device *_init_airo_card( unsi set_bit(FLAG_MPI, &ai->flags); } ai->dev = dev; - ai->aux_lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&ai->aux_lock); sema_init(&ai->sem, 1); ai->config.len = 0; ai->pci = pci; diff -puN drivers/net/znet.c~lock-initializer-unifying-network-drivers drivers/net/znet.c --- 25/drivers/net/znet.c~lock-initializer-unifying-network-drivers 2004-10-26 20:06:05.867176528 -0700 +++ 25-akpm/drivers/net/znet.c 2004-10-26 20:06:05.900171512 -0700 @@ -421,7 +421,7 @@ static int __init znet_probe (void) znet->rx_dma = netinfo->dma1; znet->tx_dma = netinfo->dma2; - znet->lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&znet->lock); znet->sia_base = 0xe6; /* Magic address for the 82501 SIA */ znet->sia_size = 2; /* maz: Despite the '593 being advertised above as using a _