Subject: Re: [PATCH 03/16] 64bit resource: fix up printks for resources in networks drivers

From: Greg KH <[email-masked]>
Date: Tue, 13 Jun 2006 09:30:43 -0700

On Tue, Jun 13, 2006 at 09:24:55AM -0700, Jesse Brandeburg wrote:
> First, added netdev,
> 
> On 6/12/06, Greg KH <[email-masked]> wrote:
> >From: Greg Kroah-Hartman <[email-masked]>
> >
> >This is needed if we wish to change the size of the resource structures.
> >
> >Based on an original patch from Vivek Goyal <[email-masked]>
> >
> >Cc: Vivek Goyal <[email-masked]>
> >Cc: Andrew Morton <[email-masked]>
> >Signed-off-by: Greg Kroah-Hartman <[email-masked]>
> >---
> > drivers/net/3c59x.c            |    6 ++++--
> > drivers/net/8139cp.c           |    9 +++++----
> > drivers/net/8139too.c          |    6 +++---
> > drivers/net/e100.c             |    4 ++--
> > drivers/net/skge.c             |    4 ++--
> > drivers/net/sky2.c             |    6 +++---
> > drivers/net/tulip/de2104x.c    |    9 +++++----
> > drivers/net/tulip/tulip_core.c |    6 +++---
> > drivers/net/typhoon.c          |    5 +++--
> > drivers/net/wan/dscc4.c        |   12 ++++++------
> > drivers/net/wan/pc300_drv.c    |    4 ++--
> > 11 files changed, 38 insertions(+), 33 deletions(-)
> >
> >diff --git a/drivers/net/e100.c b/drivers/net/e100.c
> >index 31ac001..0c0bd67 100644
> >--- a/drivers/net/e100.c
> >+++ b/drivers/net/e100.c
> >@@ -2678,9 +2678,9 @@ #endif
> >                goto err_out_free;
> >        }
> >
> >-       DPRINTK(PROBE, INFO, "addr 0x%lx, irq %d, "
> >+       DPRINTK(PROBE, INFO, "addr 0x%llx, irq %d, "
> >                "MAC addr %02X:%02X:%02X:%02X:%02X:%02X\n",
> >-               pci_resource_start(pdev, 0), pdev->irq,
> >+               (unsigned long long)pci_resource_start(pdev, 0), pdev->irq,
> >                netdev->dev_addr[0], netdev->dev_addr[1], 
> >                netdev->dev_addr[2],
> >                netdev->dev_addr[3], netdev->dev_addr[4], 
> >                netdev->dev_addr[5]);
> 
> color me confused, but why is this change necessary for e100?  e100
> can not support 64 bit BARs, so it seems to me to make little sense to
> cast to unsigned long long.  e100 is 32 bit the whole way through.

Because the result of pci_resource_start() just became either u32 or u64
depending on a config option, and so, to keep everything sane, we just
always cast it to unsigned long long, which makes everyone happy.

Hope this helps,

greg k-h