Re: sg_dma_address and sg_dma_len

From: Ralph Campbell
Date: Wed Dec 13 2006 - 15:45:51 EST


On Wed, 2006-12-13 at 09:37 -0800, Luck, Tony wrote:
> Ralph,
>
> I'm seeing dozens of build warnings and errors on ia64 from
> infiniband. According to git you touched it last, so even
> if you aren't to blame, you are by definition an expert :-)
>
> E.g.
>
> In file included from include/rdma/ib_addr.h:37,
> from drivers/infiniband/core/addr.c:39:
> include/rdma/ib_verbs.h: In function `ib_sg_dma_address':
> include/rdma/ib_verbs.h:1572: warning: implicit declaration of function `sg_dma_address'
> include/rdma/ib_verbs.h: In function `ib_sg_dma_len':
> include/rdma/ib_verbs.h:1584: warning: implicit declaration of function `sg_dma_len'
>
> Adding a #include <linux/pci.h> would shut them up (as the defines for
> sg_dma_address and sg_dma_len are in asm/pci.h) ... but I've no idea
> whether this is the right fix.
>
> -Tony

For some reason ia64 defines sg_dma_address() in include/asm-ia64/pci.h
instead of include/asm-ia64/scatterlist.h like most other architectures.

Since pci.h includes <asm/scatterlist.h> it seems like the fix would be
to move the two lines:
#define sg_dma_len(sg) ((sg)->dma_length)
#define sg_dma_address(sg) ((sg)->dma_address)
to include/asm-ia64/scatterlist.h

Now that I look, I see asm-sh64/pci.h and asm-frv/dma-mapping.h
would also need to be changed.

-
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/