Cc'ing linux-arch on the question of how to use a list_head in processor.h. On Monday 28 June 2010 17:23:16 Chris Metcalf wrote: > > We could break the dependency by turning prefetch_range into a macro > > or an extern function. There is only one user, and it's in a staging > > driver, so the impact would be minimal. > > > > I don't think so. The problem is that users of <linux/list.h> expect to > be able to #include that one header, then use things like > list_for_each() (which uses prefetch, as defined in <asm/processor.h>), > but without also being required to #include <asm/processor.h> themselves > explicitly. Right. > I think the only "true" fix would be to have a new <linux/list_types.h> > header that provides list_head (and presumably hlist_head and > hlist_node), which <linux/list.h> would include, as would our > <asm/processor.h>. This is certainly in line with recent > header-separation changes (e.g. mm_types.h). Would there be interest in > a change like this? I implemented it in my tree, and if it sounds > plausible to you, I'll send out a git diff, but it looks pretty much > exactly like this description :-) Yes, I think that would be a reasonable change. Another alternative might be to move the prefetch stuff from asm/processor.h to asm/prefetch.h on all architectures, which also breaks the dependency loop, unless I'm mistaken again. Arnd -- 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