Messages in this thread Patch in this message | | | Date | Thu, 17 Apr 2008 23:45:13 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH][RFC] Add default CPU topology information |
| |
On Mon, 31 Mar 2008 12:44:13 +0100 Ben Hutchings <bhutchings@solarflare.com> wrote:
> Not all architectures and configurations define CPU topology information. > This can result in an empty topology directory in sysfs, and requires > in-kernel users to protect all uses with #ifdef - see > <http://marc.info/?l=linux-netdev&m=120639033904472&w=2>. > > The documentation of CPU topology specifies what the defaults should be > if only partial information is available from the hardware. So we can > provide these defaults as a fallback.
powerpc allmodconfig:
arch/powerpc/kernel/pci_64.c:655: error: expected identifier or '(' before 'void' arch/powerpc/kernel/pci_64.c:655: error: expected ')' before '(' token
Because this:
#ifdef CONFIG_NUMA int pcibus_to_node(struct pci_bus *bus) { struct pci_controller *phb = pci_bus_to_host(bus); return phb->node; } #endif
is expanding to
int ((void)(bus), -1)(struct pci_bus *bus)
which the compiler has trouble with.
This:
+++ a/include/asm-powerpc/topology.h @@ -109,6 +109,8 @@ static inline void sysfs_remove_device_f #endif #endif +#define pcibus_to_node pcibus_to_node + #include <asm-generic/topology.h> #endif /* __KERNEL__ */ _ gets it working, by tricking the preprocessor into expanding pcibus_to_node to itself, but it isn't exactly pleasing.
| |