diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2008-10-26 17:51:25 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-10-31 01:12:01 -0400 |
commit | 6098e2ee14849e0819ffa887ebf470dcfad4a2be (patch) | |
tree | a5e6873028e49867cfd66a519a7ed8f997e36691 /arch | |
parent | 16c29d180becc5bdf92fd0fc7314a44a671b5f4e (diff) |
OF-device: Don't overwrite numa_node in device registration
Currently, the numa_node of OF-devices will be overwritten during
device_register, which simply sets the node to -1. On cell machines,
this means that devices can't find their IOMMU, which is referenced
through the device's numa node.
Set the numa node for OF devices with no parent, and use the
lower-level device_initialize and device_add functions, so that the
node is preserved.
We can remove the call to set_dev_node in of_device_alloc, as it
will be overwritten during register.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/kernel/of_device.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/of_device.c b/arch/powerpc/kernel/of_device.c index 93ae5b169f41..f3c9cae01dd5 100644 --- a/arch/powerpc/kernel/of_device.c +++ b/arch/powerpc/kernel/of_device.c | |||
@@ -78,7 +78,6 @@ struct of_device *of_device_alloc(struct device_node *np, | |||
78 | dev->dev.parent = parent; | 78 | dev->dev.parent = parent; |
79 | dev->dev.release = of_release_dev; | 79 | dev->dev.release = of_release_dev; |
80 | dev->dev.archdata.of_node = np; | 80 | dev->dev.archdata.of_node = np; |
81 | set_dev_node(&dev->dev, of_node_to_nid(np)); | ||
82 | 81 | ||
83 | if (bus_id) | 82 | if (bus_id) |
84 | strlcpy(dev->dev.bus_id, bus_id, BUS_ID_SIZE); | 83 | strlcpy(dev->dev.bus_id, bus_id, BUS_ID_SIZE); |