On Wed, 24 Oct 2007, Adrian Bunk wrote: > On Wed, Oct 24, 2007 at 02:21:20PM +0200, Jens Axboe wrote: > > On Wed, Oct 24 2007, Robert P. J. Day wrote:
> > > i was just about to ask -- is this one of those cases where the > > > asm versions of scatterlist.h should have a warning/error that > > > they should not be included directly, and to include > > > linux/scatterlist.h instead? > > No, using asm/scatterlist.h is perfectly fine. The problem is code > > using the sg helpers should include linux/scatterlist.h since that > > is where those are defined. > > If you just need the scatterlist structure definition, then > > asm/scatterlist.h is the correct include. > But there's also the general question whether it's good practice for > not architecture specific code to include asm/ headers. > For APIs available on all architectures linux/ header are the right > thing to use, and what is in the asm/ header and what in the linux/ > header becomes an implementation detail that can be changed. more to the point, what the above shows is that the headers aren't well defined. one would think that a header file whose name is "scatterlist.h" should provide content related solely to that name. if there's different content, such as the "sg helpers" mentioned above, then those should require a different header file inclusion. it makes no sense to suggest that one should include <asm/scatterlist.h> if you need *only* that content, but to include <linux/scatterlist.h> if you need stuff *in addition to* the scatterlist content. that's just begging for confusion. rday -- ======================================================================== Robert P. J. Day Linux Consulting, Training and Annoying Kernel Pedantry Waterloo, Ontario, CANADA http://crashcourse.ca ======================================================================== - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/