Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4f59d711 authored by Zhen Lei's avatar Zhen Lei Committed by Rob Herring
Browse files

of: to support binding numa node to specified device in devicetree



For now, in function device_add, the new device will be forced to
inherit the numa node of its parent. But this will override the device's
numa node which configured in devicetree.

Signed-off-by: default avatarZhen Lei <thunder.leizhen@huawei.com>
Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 6ff33f39
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1066,7 +1066,7 @@ int device_add(struct device *dev)
		dev->kobj.parent = kobj;

	/* use parent numa_node */
	if (parent)
	if (parent && (dev_to_node(dev) == NUMA_NO_NODE))
		set_dev_node(dev, dev_to_node(parent));

	/* first, register with generic layer. */
+6 −5
Original line number Diff line number Diff line
@@ -60,10 +60,11 @@ int of_device_add(struct platform_device *ofdev)
	ofdev->name = dev_name(&ofdev->dev);
	ofdev->id = -1;

	/* device_add will assume that this device is on the same node as
	 * the parent. If there is no parent defined, set the node
	 * explicitly */
	if (!ofdev->dev.parent)
	/*
	 * If this device has not binding numa node in devicetree, that is
	 * of_node_to_nid returns NUMA_NO_NODE. device_add will assume that this
	 * device is on the same node as the parent.
	 */
	set_dev_node(&ofdev->dev, of_node_to_nid(ofdev->dev.of_node));

	return device_add(&ofdev->dev);