Re: [git patches] net driver fixes
From: Stephen Hemminger <hidden>
Date: 2007-07-02 22:16:53
Also in:
lkml
On Tue, 3 Jul 2007 00:13:29 +0200 Adrian Bunk [off-list ref] wrote:
On Mon, Jul 02, 2007 at 10:54:01AM -0400, Jeff Garzik wrote:quoted
... 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 [off-list ref]