Re: [git patches] net driver fixes

From: Stephen Hemminger
Date: Mon Jul 02 2007 - 18:16:55 EST


On Tue, 3 Jul 2007 00:13:29 +0200
Adrian Bunk <bunk@xxxxxxxxx> wrote:

> On Mon, Jul 02, 2007 at 10:54:01AM -0400, Jeff Garzik wrote:
> >...
> > maximilian attems (1):
> > starfire list alpha as 64 bit arch
> >...
> > --- a/drivers/net/starfire.c
> > +++ b/drivers/net/starfire.c
> > @@ -152,7 +152,7 @@ static int full_duplex[MAX_UNITS] = {0, };
> > * This SUCKS.
> > * We need a much better method to determine if dma_addr_t is 64-bit.
> > */
> > -#if (defined(__i386__) && defined(CONFIG_HIGHMEM64G)) || defined(__x86_64__) || defined (__ia64__) || defined(__mips64__) || (defined(__mips__) && defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR))
> > +#if (defined(__i386__) && defined(CONFIG_HIGHMEM64G)) || defined(__x86_64__) || defined (__ia64__) || defined(__alpha__) || defined(__mips64__) || (defined(__mips__) && defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR))
> > /* 64-bit dma_addr_t */
> > #define ADDR_64BITS /* This chip uses 64 bit addresses. */
> > #define netdrv_addr_t u64
> >...
>
> The patch is correct and definitely the best solution at this time of
> the 2.6.22 development cycle.
>
> But the comment in the context exactly matches what I thought when
> I saw this code...
>
> Does anyone have a suggestion how to do this better?
>
> cu
> Adrian
>

Yeah, write code that handles it in compiler. Like:
if (sizeof(dma_addr_t) > sizeof(u32)) {
do something...
}
That means that it gets checked even if optimizer removes it as
unneeded.

--
Stephen Hemminger <shemminger@xxxxxxxxxxxxxxxxxxxx>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/