diff options
Diffstat (limited to 'drivers/atm/he.c')
| -rw-r--r-- | drivers/atm/he.c | 78 | 
1 files changed, 24 insertions, 54 deletions
diff --git a/drivers/atm/he.c b/drivers/atm/he.c index 801e8b6e9d1..aa6be269866 100644 --- a/drivers/atm/he.c +++ b/drivers/atm/he.c @@ -112,12 +112,12 @@ static u8 read_prom_byte(struct he_dev *he_dev, int addr);  /* globals */  static struct he_dev *he_devs; -static int disable64; +static bool disable64;  static short nvpibits = -1;  static short nvcibits = -1;  static short rx_skb_reserve = 16; -static int irq_coalesce = 1; -static int sdh = 0; +static bool irq_coalesce = 1; +static bool sdh = 0;  /* Read from EEPROM = 0000 0011b */  static unsigned int readtab[] = { @@ -329,7 +329,6 @@ __find_vcc(struct he_dev *he_dev, unsigned cid)  {  	struct hlist_head *head;  	struct atm_vcc *vcc; -	struct hlist_node *node;  	struct sock *s;  	short vpi;  	int vci; @@ -338,7 +337,7 @@ __find_vcc(struct he_dev *he_dev, unsigned cid)  	vci = cid & ((1 << he_dev->vcibits) - 1);  	head = &vcc_hash[vci & (VCC_HTABLE_SIZE -1)]; -	sk_for_each(s, node, head) { +	sk_for_each(s, head) {  		vcc = atm_sk(s);  		if (vcc->dev == he_dev->atm_dev &&  		    vcc->vci == vci && vcc->vpi == vpi && @@ -349,8 +348,8 @@ __find_vcc(struct he_dev *he_dev, unsigned cid)  	return NULL;  } -static int __devinit -he_init_one(struct pci_dev *pci_dev, const struct pci_device_id *pci_ent) +static int he_init_one(struct pci_dev *pci_dev, +		       const struct pci_device_id *pci_ent)  {  	struct atm_dev *atm_dev = NULL;  	struct he_dev *he_dev = NULL; @@ -366,7 +365,7 @@ he_init_one(struct pci_dev *pci_dev, const struct pci_device_id *pci_ent)  		goto init_one_failure;  	} -	atm_dev = atm_dev_register(DEV_LABEL, &he_ops, -1, NULL); +	atm_dev = atm_dev_register(DEV_LABEL, &pci_dev->dev, &he_ops, -1, NULL);  	if (!atm_dev) {  		err = -ENODEV;  		goto init_one_failure; @@ -406,8 +405,7 @@ init_one_failure:  	return err;  } -static void __devexit -he_remove_one (struct pci_dev *pci_dev) +static void he_remove_one(struct pci_dev *pci_dev)  {  	struct atm_dev *atm_dev;  	struct he_dev *he_dev; @@ -421,7 +419,6 @@ he_remove_one (struct pci_dev *pci_dev)  	atm_dev_deregister(atm_dev);  	kfree(he_dev); -	pci_set_drvdata(pci_dev, NULL);  	pci_disable_device(pci_dev);  } @@ -445,8 +442,7 @@ rate_to_atmf(unsigned rate)		/* cps to atm forum format */  	return (NONZERO | (exp << 9) | (rate & 0x1ff));  } -static void __devinit -he_init_rx_lbfp0(struct he_dev *he_dev) +static void he_init_rx_lbfp0(struct he_dev *he_dev)  {  	unsigned i, lbm_offset, lbufd_index, lbuf_addr, lbuf_count;  	unsigned lbufs_per_row = he_dev->cells_per_row / he_dev->cells_per_lbuf; @@ -476,8 +472,7 @@ he_init_rx_lbfp0(struct he_dev *he_dev)  	he_writel(he_dev, he_dev->r0_numbuffs, RLBF0_C);  } -static void __devinit -he_init_rx_lbfp1(struct he_dev *he_dev) +static void he_init_rx_lbfp1(struct he_dev *he_dev)  {  	unsigned i, lbm_offset, lbufd_index, lbuf_addr, lbuf_count;  	unsigned lbufs_per_row = he_dev->cells_per_row / he_dev->cells_per_lbuf; @@ -507,8 +502,7 @@ he_init_rx_lbfp1(struct he_dev *he_dev)  	he_writel(he_dev, he_dev->r1_numbuffs, RLBF1_C);  } -static void __devinit -he_init_tx_lbfp(struct he_dev *he_dev) +static void he_init_tx_lbfp(struct he_dev *he_dev)  {  	unsigned i, lbm_offset, lbufd_index, lbuf_addr, lbuf_count;  	unsigned lbufs_per_row = he_dev->cells_per_row / he_dev->cells_per_lbuf; @@ -537,8 +531,7 @@ he_init_tx_lbfp(struct he_dev *he_dev)  	he_writel(he_dev, lbufd_index - 1, TLBF_T);  } -static int __devinit -he_init_tpdrq(struct he_dev *he_dev) +static int he_init_tpdrq(struct he_dev *he_dev)  {  	he_dev->tpdrq_base = pci_alloc_consistent(he_dev->pci_dev,  		CONFIG_TPDRQ_SIZE * sizeof(struct he_tpdrq), &he_dev->tpdrq_phys); @@ -559,8 +552,7 @@ he_init_tpdrq(struct he_dev *he_dev)  	return 0;  } -static void __devinit -he_init_cs_block(struct he_dev *he_dev) +static void he_init_cs_block(struct he_dev *he_dev)  {  	unsigned clock, rate, delta;  	int reg; @@ -655,8 +647,7 @@ he_init_cs_block(struct he_dev *he_dev)  } -static int __devinit -he_init_cs_block_rcm(struct he_dev *he_dev) +static int he_init_cs_block_rcm(struct he_dev *he_dev)  {  	unsigned (*rategrid)[16][16];  	unsigned rate, delta; @@ -776,8 +767,7 @@ he_init_cs_block_rcm(struct he_dev *he_dev)  	return 0;  } -static int __devinit -he_init_group(struct he_dev *he_dev, int group) +static int he_init_group(struct he_dev *he_dev, int group)  {  	struct he_buff *heb, *next;  	dma_addr_t mapping; @@ -915,8 +905,7 @@ out_free_rbpl_table:  	return -ENOMEM;  } -static int __devinit -he_init_irq(struct he_dev *he_dev) +static int he_init_irq(struct he_dev *he_dev)  {  	int i; @@ -978,8 +967,7 @@ he_init_irq(struct he_dev *he_dev)  	return 0;  } -static int __devinit -he_start(struct atm_dev *dev) +static int he_start(struct atm_dev *dev)  {  	struct he_dev *he_dev;  	struct pci_dev *pci_dev; @@ -1066,7 +1054,7 @@ he_start(struct atm_dev *dev)  	he_writel(he_dev, 0x0, RESET_CNTL);  	he_writel(he_dev, 0xff, RESET_CNTL); -	udelay(16*1000);	/* 16 ms */ +	msleep(16);	/* 16 ms */  	status = he_readl(he_dev, RESET_CNTL);  	if ((status & BOARD_RST_STATUS) == 0) {  		hprintk("reset failed\n"); @@ -1099,15 +1087,8 @@ he_start(struct atm_dev *dev)  	for (i = 0; i < 6; ++i)  		dev->esi[i] = read_prom_byte(he_dev, MAC_ADDR + i); -	hprintk("%s%s, %x:%x:%x:%x:%x:%x\n", -				he_dev->prod_id, -					he_dev->media & 0x40 ? "SM" : "MM", -						dev->esi[0], -						dev->esi[1], -						dev->esi[2], -						dev->esi[3], -						dev->esi[4], -						dev->esi[5]); +	hprintk("%s%s, %pM\n", he_dev->prod_id, +		he_dev->media & 0x40 ? "SM" : "MM", dev->esi);  	he_dev->atm_dev->link_rate = he_is622(he_dev) ?  						ATM_OC12_PCR : ATM_OC3_PCR; @@ -1801,7 +1782,7 @@ return_host_buffers:  next_rbrq_entry:  		he_dev->rbrq_head = (struct he_rbrq *)  				((unsigned long) he_dev->rbrq_base | -					RBRQ_MASK(++he_dev->rbrq_head)); +					RBRQ_MASK(he_dev->rbrq_head + 1));  	}  	read_unlock(&vcc_sklist_lock); @@ -1884,7 +1865,7 @@ next_tbrq_entry:  			pci_pool_free(he_dev->tpd_pool, tpd, TPD_ADDR(tpd->status));  		he_dev->tbrq_head = (struct he_tbrq *)  				((unsigned long) he_dev->tbrq_base | -					TBRQ_MASK(++he_dev->tbrq_head)); +					TBRQ_MASK(he_dev->tbrq_head + 1));  	}  	if (updated) { @@ -2879,19 +2860,8 @@ MODULE_DEVICE_TABLE(pci, he_pci_tbl);  static struct pci_driver he_driver = {  	.name =		"he",  	.probe =	he_init_one, -	.remove =	__devexit_p(he_remove_one), +	.remove =	he_remove_one,  	.id_table =	he_pci_tbl,  }; -static int __init he_init(void) -{ -	return pci_register_driver(&he_driver); -} - -static void __exit he_cleanup(void) -{ -	pci_unregister_driver(&he_driver); -} - -module_init(he_init); -module_exit(he_cleanup); +module_pci_driver(he_driver);  | 
