Messages in this thread |  | | | From | Arnd Bergmann <> | | Subject | Re: [PATCH] arch/tile: Add driver to enable access to the user dynamic network. | | Date | Mon, 28 Jun 2010 21:34:55 +0200 |
| |
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
|  |