Hi, > On Tue, 6 May 2008, Michal Simek wrote: >>> On Mon, 5 May 2008, John Williams wrote: >>>>> +++ b/include/asm-microblaze/scatterlist.h >>>>> @@ -0,0 +1,21 @@ >>>>> +/* >>>>> + * include/asm-microblaze/scatterlist.h >>>>> + * >>>>> + * This file is subject to the terms and conditions of the GNU General Public >>>>> + * License. See the file "COPYING" in the main directory of this archive >>>>> + * for more details. >>>>> + * >>>>> + * Copyright (C) 2006 Atmark Techno, Inc. >>>>> + */ >>>>> + >>>>> +#ifndef _ASM_MICROBLAZE_SCATTERLIST_H >>>>> +#define _ASM_MICROBLAZE_SCATTERLIST_H >>>>> + >>>>> +struct scatterlist { >>>>> + unsigned long page_link; >>>>> + unsigned int offset; >>>>> + dma_addr_t dma_address; >>>>> + unsigned int length; >>>>> +}; >>>>> + >>>>> +#endif /* _ASM_MICROBLAZE_SCATTERLIST_H */ >>>> Is this worthy of promotion to asm-generic/scatterlist.h? >>> after moving dma_address one position up in the structure, as dma_addr_t may be >>> 64-bit? >> dma_addr_t is defined in types.h. If your arch want to use 64bit addr, you can >> define it in types.h. > > Sorry for not making myself clear: If unsigned long and dma_addr_t are 64-bit, > there may be a hole in between offset and dma_address, due to alignment > restrictions. So it's better to move dma_address up. > > As dma_addr_t may be 64-bit even on 32-bit architectures, it may be best > to move it even to the start of the structure. yes, only move length is enough. struct scatterlist { unsigned long page_link; unsigned int offset; unsigned int length; dma_addr_t dma_address; }; Michal -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html