From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754123AbbIJL2u (ORCPT ); Thu, 10 Sep 2015 07:28:50 -0400 Received: from szxga01-in.huawei.com ([58.251.152.64]:27344 "EHLO szxga01-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753478AbbIJL2s (ORCPT ); Thu, 10 Sep 2015 07:28:48 -0400 Subject: Re: [PATCH v2 1/1] of: to support binding numa node to specified device in devicetree To: Grant Likely , Rob Herring , devicetree , Greg Kroah-Hartman , linux-kernel References: <1440475702-7720-1-git-send-email-thunder.leizhen@huawei.com> <1440475702-7720-2-git-send-email-thunder.leizhen@huawei.com> CC: Zefan Li , Xinwei Hu , "Tianhong Ding" , Hanjun Guo From: "Leizhen (ThunderTown)" Message-ID: <55F16960.4010402@huawei.com> Date: Thu, 10 Sep 2015 19:28:32 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: <1440475702-7720-2-git-send-email-thunder.leizhen@huawei.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.177.23.164] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi all, Can somebody take a few moments to review it? This patch is too small, only changed two lines. Thanks, Thunder. On 2015/8/25 12:08, Zhen Lei wrote: > 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: Zhen Lei > --- > drivers/base/core.c | 2 +- > drivers/of/device.c | 11 ++++++----- > 2 files changed, 7 insertions(+), 6 deletions(-) > > diff --git a/drivers/base/core.c b/drivers/base/core.c > index dafae6d..e06de82 100644 > --- a/drivers/base/core.c > +++ b/drivers/base/core.c > @@ -1017,7 +1017,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. */ > diff --git a/drivers/of/device.c b/drivers/of/device.c > index 8b91ea2..e5f47ce 100644 > --- a/drivers/of/device.c > +++ b/drivers/of/device.c > @@ -60,11 +60,12 @@ 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) > - set_dev_node(&ofdev->dev, of_node_to_nid(ofdev->dev.of_node)); > + /* > + * 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); > } > -- > 2.5.0 > > > > . >