netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] (3/4) acenic - __iomem warnings cleanup
@ 2004-09-20 17:44 Stephen Hemminger
  2004-09-20 17:55 ` Jeff Garzik
  0 siblings, 1 reply; 4+ messages in thread
From: Stephen Hemminger @ 2004-09-20 17:44 UTC (permalink / raw)
  To: Jes Sorensen, Jeff Garzik; +Cc: netdev

This cleans all the compile warnings and most of the sparse warnings
for the acenic driver relating to io memory space.
Remaining warnings are because tx_ring can be either in i/o or not
depending on the version of the card.
Not tested on old TIGON card.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>


diff -Nru a/drivers/net/acenic.c b/drivers/net/acenic.c
--- a/drivers/net/acenic.c	2004-09-20 10:47:00 -07:00
+++ b/drivers/net/acenic.c	2004-09-20 10:47:00 -07:00
@@ -539,7 +539,7 @@
 	 * addresses but who gives a damn.
 	 */
 	dev->base_addr = pci_resource_start(pdev, 0);
-	ap->regs = (struct ace_regs *)ioremap(dev->base_addr, 0x4000);
+	ap->regs = ioremap(dev->base_addr, 0x4000);
 	if (!ap->regs) {
 		printk(KERN_ERR "%s:  Unable to map I/O register, "
 		       "AceNIC %i will be disabled.\n",
@@ -632,7 +632,7 @@
 {
 	struct net_device *dev = pci_get_drvdata(pdev);
 	struct ace_private *ap = netdev_priv(dev);
-	struct ace_regs *regs = ap->regs;
+	struct ace_regs __iomem *regs = ap->regs;
 	short i;
 
 	unregister_netdev(dev);
@@ -885,7 +885,7 @@
 /*
  * Commands are considered to be slow.
  */
-static inline void ace_issue_cmd(struct ace_regs *regs, struct cmd *cmd)
+static inline void ace_issue_cmd(struct ace_regs __iomem *regs, struct cmd *cmd)
 {
 	u32 idx;
 
@@ -901,7 +901,7 @@
 static int __init ace_init(struct net_device *dev)
 {
 	struct ace_private *ap;
-	struct ace_regs *regs;
+	struct ace_regs __iomem *regs;
 	struct ace_info *info = NULL;
 	struct pci_dev *pdev;
 	unsigned long myjif;
@@ -1319,11 +1319,10 @@
 	writel(TX_RING_BASE, &regs->WinBase);
 
 	if (ACE_IS_TIGON_I(ap)) {
-		ap->tx_ring = (struct tx_desc *)regs->Window;
-		for (i = 0; i < (TIGON_I_TX_RING_ENTRIES * 
-				 sizeof(struct tx_desc) / 4); i++) {
-			writel(0, (unsigned long)ap->tx_ring + i * 4);
-		}
+		ap->tx_ring = (struct tx_desc *) regs->Window;
+		for (i = 0; i < (TIGON_I_TX_RING_ENTRIES 
+				 * sizeof(struct tx_desc)) / sizeof(u32); i++)
+			writel(0, (void __iomem *)ap->tx_ring  + i * 4);
 
 		set_aceaddr(&info->tx_ctrl.rngptr, TX_RING_BASE);
 	} else {
@@ -1550,14 +1549,9 @@
 
 static void ace_set_rxtx_parms(struct net_device *dev, int jumbo)
 {
-	struct ace_private *ap;
-	struct ace_regs *regs;
-	int board_idx;
-
-	ap = netdev_priv(dev);
-	regs = ap->regs;
-
-	board_idx = ap->board_idx;
+	struct ace_private *ap = netdev_priv(dev);
+	struct ace_regs __iomem *regs = ap->regs;
+	int board_idx = ap->board_idx;
 
 	if (board_idx >= 0) {
 		if (!jumbo) {
@@ -1595,7 +1589,7 @@
 {
 	struct net_device *dev = data;
 	struct ace_private *ap = netdev_priv(dev);
-	struct ace_regs *regs = ap->regs;
+	struct ace_regs __iomem *regs = ap->regs;
 
 	/*
 	 * We haven't received a stats update event for more than 2.5
@@ -1676,10 +1670,9 @@
  */
 static void ace_load_std_rx_ring(struct ace_private *ap, int nr_bufs)
 {
-	struct ace_regs *regs;
+	struct ace_regs __iomem *regs = ap->regs;
 	short i, idx;
-
-	regs = ap->regs;
+	
 
 	prefetchw(&ap->cur_rx_bufs);
 
@@ -1740,11 +1733,9 @@
 
 static void ace_load_mini_rx_ring(struct ace_private *ap, int nr_bufs)
 {
-	struct ace_regs *regs;
+	struct ace_regs __iomem *regs = ap->regs;
 	short i, idx;
 
-	regs = ap->regs;
-
 	prefetchw(&ap->cur_mini_bufs);
 
 	idx = ap->rx_mini_skbprd;
@@ -1799,11 +1790,9 @@
  */
 static void ace_load_jumbo_rx_ring(struct ace_private *ap, int nr_bufs)
 {
-	struct ace_regs *regs;
+	struct ace_regs __iomem *regs = ap->regs;
 	short i, idx;
 
-	regs = ap->regs;
-
 	idx = ap->rx_jumbo_skbprd;
 
 	for (i = 0; i < nr_bufs; i++) {
@@ -2083,8 +2072,7 @@
 	 * the 12.3.x Firmware - my Tigon I NICs seem to disagree!
 	 */
 	if (ACE_IS_TIGON_I(ap)) {
-		struct ace_regs *regs = ap->regs;
-		writel(idx, &regs->RxRetCsm);
+		writel(idx, &ap->regs->RxRetCsm);
 	}
 	ap->cur_rx = idx;
 
@@ -2164,16 +2152,13 @@
 
 static irqreturn_t ace_interrupt(int irq, void *dev_id, struct pt_regs *ptregs)
 {
-	struct ace_private *ap;
-	struct ace_regs *regs;
 	struct net_device *dev = (struct net_device *)dev_id;
+	struct ace_private *ap = netdev_priv(dev);
+	struct ace_regs __iomem *regs = ap->regs;
 	u32 idx;
 	u32 txcsm, rxretcsm, rxretprd;
 	u32 evtcsm, evtprd;
 
-	ap = netdev_priv(dev);
-	regs = ap->regs;
-
 	/*
 	 * In case of PCI shared interrupts or spurious interrupts,
 	 * we want to make sure it is actually our interrupt before
@@ -2326,13 +2311,10 @@
 
 static int ace_open(struct net_device *dev)
 {
-	struct ace_private *ap;
-	struct ace_regs *regs;
+	struct ace_private *ap = netdev_priv(dev);
+	struct ace_regs __iomem *regs = ap->regs;
 	struct cmd cmd;
 
-	ap = netdev_priv(dev);
-	regs = ap->regs;
-
 	if (!(ap->fw_running)) {
 		printk(KERN_WARNING "%s: Firmware not running!\n", dev->name);
 		return -EBUSY;
@@ -2384,8 +2366,8 @@
 
 static int ace_close(struct net_device *dev)
 {
-	struct ace_private *ap;
-	struct ace_regs *regs;
+	struct ace_private *ap = netdev_priv(dev);
+	struct ace_regs __iomem *regs = ap->regs;
 	struct cmd cmd;
 	unsigned long flags;
 	short i;
@@ -2397,9 +2379,7 @@
 	 */
 	netif_stop_queue(dev);
 
-	ap = netdev_priv(dev);
-	regs = ap->regs;
-
+	
 	if (ap->promisc) {
 		cmd.evt = C_SET_PROMISC_MODE;
 		cmd.code = C_C_PROMISC_DISABLE;
@@ -2434,9 +2414,11 @@
 
 		if (mapping) {
 			if (ACE_IS_TIGON_I(ap)) {
-				writel(0, &ap->tx_ring[i].addr.addrhi);
-				writel(0, &ap->tx_ring[i].addr.addrlo);
-				writel(0, &ap->tx_ring[i].flagsize);
+				struct tx_desc __iomem *tx 
+					= (struct tx_desc __iomem *) &ap->tx_ring[i];
+				writel(0, &tx->addr.addrhi);
+				writel(0, &tx->addr.addrlo);
+				writel(0, &tx->flagsize);
 			} else
 				memset(ap->tx_ring + i, 0,
 				       sizeof(struct tx_desc));
@@ -2493,11 +2475,12 @@
 #endif
 
 	if (ACE_IS_TIGON_I(ap)) {
-		writel(addr >> 32, &desc->addr.addrhi);
-		writel(addr & 0xffffffff, &desc->addr.addrlo);
-		writel(flagsize, &desc->flagsize);
+		struct tx_desc __iomem *io = (struct tx_desc __iomem *) desc;
+		writel(addr >> 32, &io->addr.addrhi);
+		writel(addr & 0xffffffff, &io->addr.addrlo);
+		writel(flagsize, &io->flagsize);
 #if ACENIC_DO_VLAN
-		writel(vlan_tag, &desc->vlanres);
+		writel(vlan_tag, &io->vlanres);
 #endif
 	} else {
 		desc->addr.addrhi = addr >> 32;
@@ -2513,7 +2496,7 @@
 static int ace_start_xmit(struct sk_buff *skb, struct net_device *dev)
 {
 	struct ace_private *ap = netdev_priv(dev);
-	struct ace_regs *regs = ap->regs;
+	struct ace_regs __iomem *regs = ap->regs;
 	struct tx_desc *desc;
 	u32 idx, flagsize;
 
@@ -2646,7 +2629,7 @@
 static int ace_change_mtu(struct net_device *dev, int new_mtu)
 {
 	struct ace_private *ap = netdev_priv(dev);
-	struct ace_regs *regs = ap->regs;
+	struct ace_regs __iomem *regs = ap->regs;
 
 	if (new_mtu > ACE_JUMBO_MTU)
 		return -EINVAL;
@@ -2683,7 +2666,7 @@
 static int ace_get_settings(struct net_device *dev, struct ethtool_cmd *ecmd)
 {
 	struct ace_private *ap = netdev_priv(dev);
-	struct ace_regs *regs = ap->regs;
+	struct ace_regs __iomem *regs = ap->regs;
 	u32 link;
 
 	memset(ecmd, 0, sizeof(struct ethtool_cmd));
@@ -2736,7 +2719,7 @@
 static int ace_set_settings(struct net_device *dev, struct ethtool_cmd *ecmd)
 {
 	struct ace_private *ap = netdev_priv(dev);
-	struct ace_regs *regs = ap->regs;
+	struct ace_regs __iomem *regs = ap->regs;
 	u32 link, speed;
 
 	link = readl(&regs->GigLnkState);
@@ -2816,8 +2799,9 @@
  */
 static int ace_set_mac_addr(struct net_device *dev, void *p)
 {
+	struct ace_private *ap = netdev_priv(dev);
+	struct ace_regs __iomem *regs = ap->regs;
 	struct sockaddr *addr=p;
-	struct ace_regs *regs;
 	u8 *da;
 	struct cmd cmd;
 
@@ -2828,7 +2812,6 @@
 
 	da = (u8 *)dev->dev_addr;
 
-	regs = ((struct ace_private *)netdev_priv(dev))->regs;
 	writel(da[0] << 8 | da[1], &regs->MacAddrHi);
 	writel((da[2] << 24) | (da[3] << 16) | (da[4] << 8) | da[5],
 	       &regs->MacAddrLo);
@@ -2845,7 +2828,7 @@
 static void ace_set_multicast_list(struct net_device *dev)
 {
 	struct ace_private *ap = netdev_priv(dev);
-	struct ace_regs *regs = ap->regs;
+	struct ace_regs __iomem *regs = ap->regs;
 	struct cmd cmd;
 
 	if ((dev->flags & IFF_ALLMULTI) && !(ap->mcast_all)) {
@@ -2899,8 +2882,8 @@
 static struct net_device_stats *ace_get_stats(struct net_device *dev)
 {
 	struct ace_private *ap = netdev_priv(dev);
-	struct ace_mac_stats *mac_stats =
-		(struct ace_mac_stats *)ap->regs->Stats;
+	struct ace_mac_stats __iomem *mac_stats =
+		(struct ace_mac_stats __iomem *)ap->regs->Stats;
 
 	ap->stats.rx_missed_errors = readl(&mac_stats->drop_space);
 	ap->stats.multicast = readl(&mac_stats->kept_mc);
@@ -2910,10 +2893,10 @@
 }
 
 
-static void __init ace_copy(struct ace_regs *regs, void *src,
+static void __init ace_copy(struct ace_regs __iomem *regs, void *src,
 			    u32 dest, int size)
 {
-	unsigned long tdest;
+	void __iomem *tdest;
 	u32 *wsrc;
 	short tsize, i;
 
@@ -2923,7 +2906,7 @@
 	while (size > 0) {
 		tsize = min_t(u32, ((~dest & (ACE_WINDOW_SIZE - 1)) + 1),
 			    min_t(u32, size, ACE_WINDOW_SIZE));
-		tdest = (unsigned long)&regs->Window +
+		tdest = (void __iomem *) &regs->Window + 
 			(dest & (ACE_WINDOW_SIZE - 1));
 		writel(dest & ~(ACE_WINDOW_SIZE - 1), &regs->WinBase);
 		/*
@@ -2943,9 +2926,9 @@
 }
 
 
-static void __init ace_clear(struct ace_regs *regs, u32 dest, int size)
+static void __init ace_clear(struct ace_regs __iomem *regs, u32 dest, int size)
 {
-	unsigned long tdest;
+	void __iomem *tdest;
 	short tsize = 0, i;
 
 	if (size <= 0)
@@ -2954,7 +2937,7 @@
 	while (size > 0) {
 		tsize = min_t(u32, ((~dest & (ACE_WINDOW_SIZE - 1)) + 1),
 				min_t(u32, size, ACE_WINDOW_SIZE));
-		tdest = (unsigned long)&regs->Window +
+		tdest = (void __iomem *) &regs->Window + 
 			(dest & (ACE_WINDOW_SIZE - 1));
 		writel(dest & ~(ACE_WINDOW_SIZE - 1), &regs->WinBase);
 
@@ -2978,11 +2961,8 @@
  */
 int __init ace_load_firmware(struct net_device *dev)
 {
-	struct ace_private *ap;
-	struct ace_regs *regs;
-
-	ap = netdev_priv(dev);
-	regs = ap->regs;
+	struct ace_private *ap = netdev_priv(dev);
+	struct ace_regs __iomem *regs = ap->regs;
 
 	if (!(readl(&regs->CpuCtrl) & CPU_HALTED)) {
 		printk(KERN_ERR "%s: trying to download firmware while the "
@@ -3030,7 +3010,7 @@
  * Thanks to Stevarino Webinski for helping tracking down the bugs in the
  * code i2c readout code by beta testing all my hacks.
  */
-static void __init eeprom_start(struct ace_regs *regs)
+static void __init eeprom_start(struct ace_regs __iomem *regs)
 {
 	u32 local;
 
@@ -3059,7 +3039,7 @@
 }
 
 
-static void __init eeprom_prep(struct ace_regs *regs, u8 magic)
+static void __init eeprom_prep(struct ace_regs __iomem *regs, u8 magic)
 {
 	short i;
 	u32 local;
@@ -3096,7 +3076,7 @@
 }
 
 
-static int __init eeprom_check_ack(struct ace_regs *regs)
+static int __init eeprom_check_ack(struct ace_regs __iomem *regs)
 {
 	int state;
 	u32 local;
@@ -3124,7 +3104,7 @@
 }
 
 
-static void __init eeprom_stop(struct ace_regs *regs)
+static void __init eeprom_stop(struct ace_regs __iomem *regs)
 {
 	u32 local;
 
@@ -3162,8 +3142,8 @@
 static int __init read_eeprom_byte(struct net_device *dev,
 				   unsigned long offset)
 {
-	struct ace_private *ap;
-	struct ace_regs *regs;
+	struct ace_private *ap = netdev_priv(dev);
+	struct ace_regs __iomem *regs = ap->regs;
 	unsigned long flags;
 	u32 local;
 	int result = 0;
@@ -3174,9 +3154,6 @@
 		result = -ENODEV;
 		goto out;
 	}
-
-	ap = netdev_priv(dev);
-	regs = ap->regs;
 
 	/*
 	 * Don't take interrupts on this CPU will bit banging
diff -Nru a/drivers/net/acenic.h b/drivers/net/acenic.h
--- a/drivers/net/acenic.h	2004-09-20 10:47:00 -07:00
+++ b/drivers/net/acenic.h	2004-09-20 10:47:00 -07:00
@@ -633,7 +633,7 @@
 struct ace_private
 {
 	struct ace_info		*info;
-	struct ace_regs		*regs;		/* register base */
+	struct ace_regs	__iomem	*regs;		/* register base */
 	struct ace_skb		*skb;
 	dma_addr_t		info_dma;	/* 32/64 bit */
 
@@ -718,7 +718,7 @@
 }
 
 
-static inline void ace_set_txprd(struct ace_regs *regs,
+static inline void ace_set_txprd(struct ace_regs __iomem *regs,
 				 struct ace_private *ap, u32 value)
 {
 #ifdef INDEX_DEBUG
@@ -740,7 +740,7 @@
 static inline void ace_mask_irq(struct net_device *dev)
 {
 	struct ace_private *ap = netdev_priv(dev);
-	struct ace_regs *regs = ap->regs;
+	struct ace_regs __iomem *regs = ap->regs;
 
 	if (ACE_IS_TIGON_I(ap))
 		writel(1, &regs->MaskInt);
@@ -754,7 +754,7 @@
 static inline void ace_unmask_irq(struct net_device *dev)
 {
 	struct ace_private *ap = netdev_priv(dev);
-	struct ace_regs *regs = ap->regs;
+	struct ace_regs __iomem *regs = ap->regs;
  
 	if (ACE_IS_TIGON_I(ap))
 		writel(0, &regs->MaskInt);

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] (3/4) acenic - __iomem warnings cleanup
  2004-09-20 17:44 [PATCH] (3/4) acenic - __iomem warnings cleanup Stephen Hemminger
@ 2004-09-20 17:55 ` Jeff Garzik
  2004-09-20 18:32   ` Stephen Hemminger
  2004-09-20 18:45   ` David S. Miller
  0 siblings, 2 replies; 4+ messages in thread
From: Jeff Garzik @ 2004-09-20 17:55 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Jes Sorensen, netdev

Stephen Hemminger wrote:
> Remaining warnings are because tx_ring can be either in i/o or not
> depending on the version of the card.

Where is this code?  I don't see any {in,out}[bwl] calls?

If this were true, we should use io{read,write}{8,16,32}...

	Jeff

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] (3/4) acenic - __iomem warnings cleanup
  2004-09-20 17:55 ` Jeff Garzik
@ 2004-09-20 18:32   ` Stephen Hemminger
  2004-09-20 18:45   ` David S. Miller
  1 sibling, 0 replies; 4+ messages in thread
From: Stephen Hemminger @ 2004-09-20 18:32 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Jes Sorensen, netdev

On Mon, 20 Sep 2004 13:55:39 -0400
Jeff Garzik <jgarzik@pobox.com> wrote:

> Stephen Hemminger wrote:
> > Remaining warnings are because tx_ring can be either in i/o or not
> > depending on the version of the card.
> 
> Where is this code?  I don't see any {in,out}[bwl] calls?
> 
> If this were true, we should use io{read,write}{8,16,32}...
> 
> 	Jeff

It is because of new __iomem attributes of readl/writel.
Here are the warnings from the old driver (sparse and gcc)

  CHECK   drivers/net/acenic.c
drivers/net/acenic.c:542:14: warning: cast removes address space of expression
drivers/net/acenic.c:640:16: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:640:16:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:640:16:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:640:44: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:640:44:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:640:44:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:642:17: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:642:17:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:642:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:642:46: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:642:46:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:642:46:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:647:13: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:647:13:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:647:13:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:648:9: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:648:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:648:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:881:12: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:881:12:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:881:12:    got struct ace_regs *regs
drivers/net/acenic.c:924:39: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:924:39:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:924:39:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:925:9: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:925:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:925:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:940:10: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:940:10:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:940:10:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:942:9: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:942:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:942:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:947:16: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:947:16:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:947:16:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:947:44: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:947:44:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:947:44:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:948:9: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:948:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:948:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:949:13: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:949:13:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:949:13:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:951:19: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:951:19:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:951:19:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:960:14: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:960:14:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:960:14:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:969:17: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:969:17:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:969:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:969:46: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:969:46:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:969:46:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:970:10: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:970:10:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:970:10:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:976:27: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:976:27:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:976:27:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:977:29: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:977:29:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:977:29:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1000:48: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1000:48:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1000:48:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1002:9: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:1002:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1002:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1025:16: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1025:16:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1025:16:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1026:16: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1026:16:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1026:16:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1060:21: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:1060:21:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1060:21:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1146:15: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1146:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1146:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1222:25: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1222:25:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1222:25:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1223:32: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1223:32:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1223:32:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1233:13: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1233:13:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1233:13:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1240:26: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1240:26:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1240:26:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:1242:13: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1242:13:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1242:13:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1243:13: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1243:13:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1243:13:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1319:24: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1319:24:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1319:24:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1325:41: warning: incorrect type in argument 2 (different base types)
drivers/net/acenic.c:1325:41:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1325:41:    got unsigned long 
drivers/net/acenic.c:1358:25: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1358:25:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1358:25:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1359:25: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1359:25:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1359:25:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1362:13: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1362:13:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1362:13:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1363:13: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1363:13:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1363:13:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1372:20: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1372:20:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1372:20:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1373:21: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1373:21:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1373:21:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1384:12: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1384:12:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1384:12:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1386:36: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1386:36:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1386:36:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1390:12: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1390:12:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1390:12:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1392:36: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1392:36:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1392:36:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1395:30: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1395:30:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1395:30:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1398:33: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1398:33:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1398:33:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1451:15: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1451:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1451:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1453:16: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1453:16:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1453:16:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1456:29: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1456:29:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1456:29:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1458:30: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1458:30:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1458:30:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1460:13: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1460:13:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1460:13:    got unsigned int [addressable] *<noident>
drivers/net/acenic.h:745:17: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.h:745:17:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.h:745:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1473:13: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1473:13:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1473:13:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1486:19: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1486:19:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1486:19:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1491:16: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:1491:16:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1491:16:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1491:57: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1491:57:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1491:57:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1492:9: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:1492:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1492:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1505:17: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:1505:17:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1505:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1505:45: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1505:45:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1505:45:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1506:10: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:1506:10:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1506:10:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1518:18: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:1518:18:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1518:18:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1519:12: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1519:12:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1519:12:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1520:14: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1520:14:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1520:14:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1521:10: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:1521:10:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1521:10:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1565:26: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1565:26:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1565:26:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1567:30: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1567:30:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1567:30:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1569:26: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1569:26:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1569:26:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1571:30: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1571:30:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1571:30:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1573:27: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1573:27:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1573:27:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1577:13: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1577:13:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1577:13:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1580:13: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1580:13:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1580:13:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1583:13: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1583:13:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1583:13:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1586:13: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1586:13:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1586:13:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1588:33: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1588:33:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1588:33:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1607:42: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:1607:42:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1607:42:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1726:16: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1726:16:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1726:16:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1783:15: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1783:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1783:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1847:16: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1847:16:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1847:16:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1889:26: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:1889:26:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1889:26:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:1950:21: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:1950:21:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:1950:21:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2087:16: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:2087:16:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2087:16:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2182:15: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:2182:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2182:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2193:13: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:2193:13:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2193:13:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2194:9: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:2194:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2194:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2224:18: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:2224:18:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2224:18:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2229:19: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:2229:19:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2229:19:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2341:35: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:2341:35:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2341:35:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15: warning: incorrect type in argument 1 (different address spaces)
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37: warning: incorrect type in argument 2 (different address spaces)
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15: warning: too many warnings
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.h:757:14:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.h:757:14:    got unsigned int [addressable] *<noident>
drivers/net/acenic.h:759:17:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.h:759:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.h:759:47:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.h:759:47:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2437:27:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2437:27:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2438:27:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2438:27:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2439:27:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2439:27:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.h:771:14:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.h:771:14:    got unsigned int [addressable] *<noident>
drivers/net/acenic.h:773:17:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.h:773:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.h:773:48:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.h:773:48:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2496:23:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2496:23:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2497:30:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2497:30:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2498:21:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2498:21:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2496:23:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2496:23:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2497:30:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2497:30:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2498:21:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2498:21:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2496:23:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2496:23:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2497:30:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2497:30:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2498:21:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2498:21:    got unsigned int [addressable] *<noident>
drivers/net/acenic.h:745:17:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.h:745:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2660:34:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2660:34:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2705:16:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2705:16:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2709:17:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2709:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2736:26:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2736:26:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2737:26:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2737:26:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2748:16:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2748:16:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2752:17:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2752:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2791:17:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2791:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2793:18:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2793:18:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2838:30:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2838:30:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2840:10:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2840:10:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:892:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:892:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:894:37:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:894:37:    got unsigned int [addressable] [usertype] *<noident>
drivers/net/acenic.c:897:15:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:897:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2911:38:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2911:38:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2912:31:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2912:31:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2913:32:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2913:32:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2934:42:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2934:42:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2941:26:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2941:26:    got unsigned long 
drivers/net/acenic.c:2965:42:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2965:42:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:2968:20:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2968:20:    got unsigned long 
drivers/net/acenic.c:2993:15:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:2993:15:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3043:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3043:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3045:17:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3045:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3047:17:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3047:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3048:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3048:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3052:17:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3052:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3053:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3053:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3057:17:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3057:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3058:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3058:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3062:17:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3062:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3063:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3063:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3074:17:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3074:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3077:17:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3077:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3078:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3078:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3087:18:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3087:18:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3088:10:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3088:10:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3093:18:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3093:18:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3094:10:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3094:10:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3098:18:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3098:18:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3099:10:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3099:10:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3110:17:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3110:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3112:17:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3112:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3113:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3113:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3117:17:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3117:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3118:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3118:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3122:18:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3122:18:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3125:16:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3125:16:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3125:53:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3125:53:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3126:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3126:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3138:17:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3138:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3140:17:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3140:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3141:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3141:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3145:17:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3145:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3146:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3146:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3150:17:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3150:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3151:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3151:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3155:17:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3155:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3156:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3156:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3160:17:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3160:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3232:18:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3232:18:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3234:18:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3234:18:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3235:10:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3235:10:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3239:18:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3239:18:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3240:10:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3240:10:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3245:13:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3245:13:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3248:18:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3248:18:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3250:18:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3250:18:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3251:10:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3251:10:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3256:19:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3256:19:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3257:11:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3257:11:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3264:17:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3264:17:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3265:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3265:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3268:16:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3268:16:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3268:52:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3268:52:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3269:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3269:9:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3271:16:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3271:16:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3271:53:    expected void volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3271:53:    got unsigned int [addressable] *<noident>
drivers/net/acenic.c:3272:9:    expected void const volatile [noderef] *addr<asn:2>
drivers/net/acenic.c:3272:9:    got unsigned int [addressable] *<noident>
  CC [M]  drivers/net/acenic.o
drivers/net/acenic.c: In function `ace_init':
drivers/net/acenic.c:1325: warning: passing arg 2 of `writel' makes pointer from integer without a cast
drivers/net/acenic.c: In function `ace_copy':
drivers/net/acenic.c:2941: warning: passing arg 2 of `writel' makes pointer from integer without a cast
drivers/net/acenic.c: In function `ace_clear':
drivers/net/acenic.c:2968: warning: passing arg 2 of `writel' makes pointer from integer without a cast

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] (3/4) acenic - __iomem warnings cleanup
  2004-09-20 17:55 ` Jeff Garzik
  2004-09-20 18:32   ` Stephen Hemminger
@ 2004-09-20 18:45   ` David S. Miller
  1 sibling, 0 replies; 4+ messages in thread
From: David S. Miller @ 2004-09-20 18:45 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: shemminger, jes, netdev

On Mon, 20 Sep 2004 13:55:39 -0400
Jeff Garzik <jgarzik@pobox.com> wrote:

> Stephen Hemminger wrote:
> > Remaining warnings are because tx_ring can be either in i/o or not
> > depending on the version of the card.
> 
> Where is this code?  I don't see any {in,out}[bwl] calls?
> 
> If this were true, we should use io{read,write}{8,16,32}...

The driver uses a single pointer that either goes to DMA descriptors
or I/O memory space.

See the assignment and usage of ap->tx_ring

	if (!ACE_IS_TIGON_I(ap)) {
		size = (sizeof(struct tx_desc) * MAX_TX_RING_ENTRIES);

		ap->tx_ring = pci_alloc_consistent(ap->pdev, size,
						   &ap->tx_ring_dma);

		if (ap->tx_ring == NULL)
			goto fail;
	}
 ...

	if (ACE_IS_TIGON_I(ap)) {
		ap->tx_ring = (struct tx_desc *)regs->Window;
		for (i = 0; i < (TIGON_I_TX_RING_ENTRIES * 
				 sizeof(struct tx_desc) / 4); i++) {
			writel(0, (unsigned long)ap->tx_ring + i * 4);
		}

		set_aceaddr(&info->tx_ctrl.rngptr, TX_RING_BASE);
	} else {
		memset(ap->tx_ring, 0,
		       MAX_TX_RING_ENTRIES * sizeof(struct tx_desc));

		set_aceaddr(&info->tx_ctrl.rngptr, ap->tx_ring_dma);
	}

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-09-20 18:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-20 17:44 [PATCH] (3/4) acenic - __iomem warnings cleanup Stephen Hemminger
2004-09-20 17:55 ` Jeff Garzik
2004-09-20 18:32   ` Stephen Hemminger
2004-09-20 18:45   ` David S. Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).