From patchwork Tue Aug 28 15:52:51 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rob Herring X-Patchwork-Id: 963009 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 420Cw71brKz9s2P for ; Wed, 29 Aug 2018 01:53:27 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726383AbeH1Tpg (ORCPT ); Tue, 28 Aug 2018 15:45:36 -0400 Received: from mail-oi0-f68.google.com ([209.85.218.68]:45313 "EHLO mail-oi0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727020AbeH1TpN (ORCPT ); Tue, 28 Aug 2018 15:45:13 -0400 Received: by mail-oi0-f68.google.com with SMTP id t68-v6so3675776oie.12; Tue, 28 Aug 2018 08:52:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=T+l961YCM6AdnrRoLX9dDKYctXA+LHBCEcRJLbcGhSU=; b=n3yWlcRERckvfQj4ERatcNR7EfGXhr8eUG5w5h7DulWPBIlz0ApS/NtvMR/u0JdPRm jbKOOTOrOz2q0oJ+AL7fSTjefnwstAFJ+TupjMhh5n0iRUgqyjis7iVCBD6BU0Jar7Hw BiY9QaBkERRujBqBtDlrNpQggolIhwd9QbuhHNOgAhZl86sH+nYcxOW0hQihCuZZOX7C 8N79wKm9T2JbgN46tNBjwkkyxtLTLcVS+kSxqw7yDtVyAeNi8rLziOxAxJuJGxXoQ+ZW bpjPXyx/XYdo9rGTPPE5oOXlMKFkcxMTP/rKXFl2mIhNbMtQEhCJp7CwUdggvFHkwdJf 0pGQ== X-Gm-Message-State: APzg51DyAnAJEJWpJ60hIMfQxYSxXibB0HxboHzZQsruombx/LSFGa7R K24F4rCoY2Krl+s3v84NPg== X-Google-Smtp-Source: ANB0VdY6MVVqVATf5Al6HO6AbhHRZYBUcMnVxoD8QF5FDwmadsFN1PrLWd0+16xpWAOa+3Psk3fCKg== X-Received: by 2002:aca:4d56:: with SMTP id a83-v6mr1563136oib.205.1535471576633; Tue, 28 Aug 2018 08:52:56 -0700 (PDT) Received: from xps15.herring.priv (24-155-109-49.dyn.grandenetworks.net. [24.155.109.49]) by smtp.googlemail.com with ESMTPSA id o68-v6sm2902294oik.56.2018.08.28.08.52.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Aug 2018 08:52:55 -0700 (PDT) From: Rob Herring To: Frank Rowand , devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org Subject: [PATCH 1/4] of/unittest: remove use of node name pointer in overlay high level test Date: Tue, 28 Aug 2018 10:52:51 -0500 Message-Id: <20180828155254.10709-2-robh@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180828155254.10709-1-robh@kernel.org> References: <20180828155254.10709-1-robh@kernel.org> Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org In preparation for removing the node name pointer, it needs to be removed from of_unittest_overlay_high_level. However, it's not really correct to use the node name without the unit-address and we should use the full node name. This most easily done by iterating over the child nodes with for_each_child_of_node() which is what of_get_child_by_name() does internally. While at it, we might as well convert the outer loop to use for_each_child_of_node() too instead of open coding it. Cc: Frank Rowand Signed-off-by: Rob Herring --- drivers/of/unittest.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c index 722537e14848..69a522e48970 100644 --- a/drivers/of/unittest.c +++ b/drivers/of/unittest.c @@ -2347,10 +2347,12 @@ static __init void of_unittest_overlay_high_level(void) } } - for (np = overlay_base_root->child; np; np = np->sibling) { - if (of_get_child_by_name(of_root, np->name)) { - unittest(0, "illegal node name in overlay_base %s", - np->name); + for_each_child_of_node(overlay_base_root, np) { + struct device_node *base_child; + for_each_child_of_node(of_root, base_child) { + if (!strcmp(np->full_name, base_child->full_name)) + unittest(0, "illegal node name in overlay_base %pOFn", + np); return; } } From patchwork Tue Aug 28 15:52:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rob Herring X-Patchwork-Id: 963006 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 420Cvd1Mz2z9s5c for ; Wed, 29 Aug 2018 01:53:01 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728048AbeH1TpP (ORCPT ); Tue, 28 Aug 2018 15:45:15 -0400 Received: from mail-oi0-f66.google.com ([209.85.218.66]:39649 "EHLO mail-oi0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726383AbeH1TpO (ORCPT ); Tue, 28 Aug 2018 15:45:14 -0400 Received: by mail-oi0-f66.google.com with SMTP id c190-v6so3716122oig.6; Tue, 28 Aug 2018 08:52:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Y1hlk2S9GwjBYVlyTE/lecEc+81ZS+U6GrCrISTwDb4=; b=gxnXOyF5ONvQqSlq8i4k2URH4Ym598Q8v/P80y6EMWH8nl4Yi7RyCko65YOrKs73Qs Cdupydj9+6qfd8WRmmsKC01ZVvPZ3SeG/J2b8+zaGI/7dQm4B5zq6cL7BazXWJNYenw0 66hUM89PLq6SYzpBmXoPIyeIuV4fhi4oZUkyVo0zcmioiXpDUCfnhTg30+fXg/kurYsQ /aqSI0oMRm3bYFbzeDok2g+j94shfD2wiGPnRcnmNwE2TgUWhKuKSdGjhaGxKviiTEai jBZvPvBHRNPo3vEv6Xnpl6nzCpyrZZqZ8daoQexu6O5PqtbtJa8BmWjuceTd95TjeEBF 3TmQ== X-Gm-Message-State: APzg51Ce/A/7ZMgg+kliiLGzhKTHwcuj5JOpXB1wZSf2LVwUVkx2dgy4 rOcWy7n2ND+jS/YfsvgMnA== X-Google-Smtp-Source: ANB0VdZNSnMIecwvdx/ru+SjJTiL1P5JbRg9PTpYyPCKJCOecmPGSVTBYLIKk/GbmlZ6dl32342QkQ== X-Received: by 2002:aca:fd4f:: with SMTP id b76-v6mr1810244oii.307.1535471577715; Tue, 28 Aug 2018 08:52:57 -0700 (PDT) Received: from xps15.herring.priv (24-155-109-49.dyn.grandenetworks.net. [24.155.109.49]) by smtp.googlemail.com with ESMTPSA id o68-v6sm2902294oik.56.2018.08.28.08.52.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Aug 2018 08:52:56 -0700 (PDT) From: Rob Herring To: Frank Rowand , devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org Subject: [PATCH 2/4] of/unittest: add printf tests for node name Date: Tue, 28 Aug 2018 10:52:52 -0500 Message-Id: <20180828155254.10709-3-robh@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180828155254.10709-1-robh@kernel.org> References: <20180828155254.10709-1-robh@kernel.org> Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Add some printf test for printing the node name (without the unit-address). Cc: Frank Rowand Signed-off-by: Rob Herring --- drivers/of/unittest.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c index 69a522e48970..9def7be9c111 100644 --- a/drivers/of/unittest.c +++ b/drivers/of/unittest.c @@ -299,6 +299,10 @@ static void __init of_unittest_printf(void) of_unittest_printf_one(np, "%pOF", full_name); of_unittest_printf_one(np, "%pOFf", full_name); + of_unittest_printf_one(np, "%pOFn", "dev"); + of_unittest_printf_one(np, "%2pOFn", "dev"); + of_unittest_printf_one(np, "%5pOFn", " dev"); + of_unittest_printf_one(np, "%pOFnc", "dev:test-sub-device"); of_unittest_printf_one(np, "%pOFp", phandle_str); of_unittest_printf_one(np, "%pOFP", "dev@100"); of_unittest_printf_one(np, "ABC %pOFP ABC", "ABC dev@100 ABC"); From patchwork Tue Aug 28 15:52:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rob Herring X-Patchwork-Id: 963008 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 420Cvt2z3Bz9s1c for ; Wed, 29 Aug 2018 01:53:14 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728075AbeH1TpQ (ORCPT ); Tue, 28 Aug 2018 15:45:16 -0400 Received: from mail-oi0-f65.google.com ([209.85.218.65]:37656 "EHLO mail-oi0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728044AbeH1TpQ (ORCPT ); Tue, 28 Aug 2018 15:45:16 -0400 Received: by mail-oi0-f65.google.com with SMTP id p84-v6so3731298oic.4; Tue, 28 Aug 2018 08:52:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=MNm0gRPsyFlr2esmw5DnNxNac32G1LKICofHULJsyvM=; b=WqlBg5I295R30bVgOyoZnPWprGxhBTo1dF9ujstF257nOyQctq4Iobd9Iy2EDht9YO Pqh7C1/28nOoDfke3x1C00u/5xrBbRo0kKZ1uX1B8HP8FTfimnxfv+jY+hQ1YTKCjkm2 2C2DPyE1DPbjTKKG7ZNpjMuJ6A4v5Ua9mXu+UdcP0t96Ab6X2hcCXsEeiQPHjYLtMnj4 v/+biihs1sgrAqsYONhCyTKcr/3jY5keyYyaU4gKOLsnsi7y2pTZo0tIlqlQC1Hql6FE ERWNdnk58sYZxF0ystK62vqChxQM0zYWGNm94s6am9xQROQRKJNHyS8wnYX6wZnYVYTp Jd8A== X-Gm-Message-State: APzg51AFBIOcId8M8h6GmGh1wyH6xc7LpOuwPTj5aSB+4Rl9VHhnpXGz kISGl0KZOnk5d9AUSdgn0w== X-Google-Smtp-Source: ANB0Vdbgx3ik4rOk673NR9AVahJCfTvqgh5r+D0bctCwF2YRU5nd2adeLZlq1bSzx/H5lvmrtYg3Lg== X-Received: by 2002:aca:3ec5:: with SMTP id l188-v6mr1554263oia.181.1535471578723; Tue, 28 Aug 2018 08:52:58 -0700 (PDT) Received: from xps15.herring.priv (24-155-109-49.dyn.grandenetworks.net. [24.155.109.49]) by smtp.googlemail.com with ESMTPSA id o68-v6sm2902294oik.56.2018.08.28.08.52.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Aug 2018 08:52:58 -0700 (PDT) From: Rob Herring To: Frank Rowand , devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Andrew Lunn , Florian Fainelli , netdev@vger.kernel.org Subject: [PATCH 3/4] of: Convert to using %pOFn instead of device_node.name Date: Tue, 28 Aug 2018 10:52:53 -0500 Message-Id: <20180828155254.10709-4-robh@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180828155254.10709-1-robh@kernel.org> References: <20180828155254.10709-1-robh@kernel.org> Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org In preparation to remove the node name pointer from struct device_node, convert printf users to use the %pOFn format specifier. Cc: Frank Rowand Cc: Andrew Lunn Cc: Florian Fainelli Cc: devicetree@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: Rob Herring --- drivers/of/device.c | 4 ++-- drivers/of/of_mdio.c | 12 ++++++------ drivers/of/of_numa.c | 4 ++-- drivers/of/overlay.c | 4 ++-- drivers/of/platform.c | 8 ++++---- drivers/of/unittest.c | 12 ++++++------ 6 files changed, 22 insertions(+), 22 deletions(-) diff --git a/drivers/of/device.c b/drivers/of/device.c index 5957cd4fa262..daa075d87317 100644 --- a/drivers/of/device.c +++ b/drivers/of/device.c @@ -219,7 +219,7 @@ static ssize_t of_device_get_modalias(struct device *dev, char *str, ssize_t len return -ENODEV; /* Name & Type */ - csize = snprintf(str, len, "of:N%sT%s", dev->of_node->name, + csize = snprintf(str, len, "of:N%pOFnT%s", dev->of_node, dev->of_node->type); tsize = csize; len -= csize; @@ -298,7 +298,7 @@ void of_device_uevent(struct device *dev, struct kobj_uevent_env *env) if ((!dev) || (!dev->of_node)) return; - add_uevent_var(env, "OF_NAME=%s", dev->of_node->name); + add_uevent_var(env, "OF_NAME=%pOFn", dev->of_node); add_uevent_var(env, "OF_FULLNAME=%pOF", dev->of_node); if (dev->of_node->type && strcmp("", dev->of_node->type) != 0) add_uevent_var(env, "OF_TYPE=%s", dev->of_node->type); diff --git a/drivers/of/of_mdio.c b/drivers/of/of_mdio.c index e92391d6d1bd..5ad1342f5682 100644 --- a/drivers/of/of_mdio.c +++ b/drivers/of/of_mdio.c @@ -97,8 +97,8 @@ static int of_mdiobus_register_phy(struct mii_bus *mdio, return rc; } - dev_dbg(&mdio->dev, "registered phy %s at address %i\n", - child->name, addr); + dev_dbg(&mdio->dev, "registered phy %pOFn at address %i\n", + child, addr); return 0; } @@ -127,8 +127,8 @@ static int of_mdiobus_register_device(struct mii_bus *mdio, return rc; } - dev_dbg(&mdio->dev, "registered mdio device %s at address %i\n", - child->name, addr); + dev_dbg(&mdio->dev, "registered mdio device %pOFn at address %i\n", + child, addr); return 0; } @@ -263,8 +263,8 @@ int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np) continue; /* be noisy to encourage people to set reg property */ - dev_info(&mdio->dev, "scan phy %s at address %i\n", - child->name, addr); + dev_info(&mdio->dev, "scan phy %pOFn at address %i\n", + child, addr); if (of_mdiobus_child_is_phy(child)) { rc = of_mdiobus_register_phy(mdio, child, addr); diff --git a/drivers/of/of_numa.c b/drivers/of/of_numa.c index 27d9b4bba535..67d3386195bf 100644 --- a/drivers/of/of_numa.c +++ b/drivers/of/of_numa.c @@ -163,8 +163,8 @@ int of_node_to_nid(struct device_node *device) np = of_get_next_parent(np); } if (np && r) - pr_warn("Invalid \"numa-node-id\" property in node %s\n", - np->name); + pr_warn("Invalid \"numa-node-id\" property in node %pOFn\n", + np); of_node_put(np); /* diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c index eda57ef12fd0..42b1f73ac5f6 100644 --- a/drivers/of/overlay.c +++ b/drivers/of/overlay.c @@ -425,8 +425,8 @@ static int build_changeset_next_level(struct overlay_changeset *ovcs, for_each_child_of_node(overlay_node, child) { ret = add_changeset_node(ovcs, target_node, child); if (ret) { - pr_debug("Failed to apply node @%pOF/%s, err=%d\n", - target_node, child->name, ret); + pr_debug("Failed to apply node @%pOF/%pOFn, err=%d\n", + target_node, child, ret); of_node_put(child); return ret; } diff --git a/drivers/of/platform.c b/drivers/of/platform.c index 7ba90c290a42..868905f2d638 100644 --- a/drivers/of/platform.c +++ b/drivers/of/platform.c @@ -91,8 +91,8 @@ static void of_device_make_bus_id(struct device *dev) */ reg = of_get_property(node, "reg", NULL); if (reg && (addr = of_translate_address(node, reg)) != OF_BAD_ADDR) { - dev_set_name(dev, dev_name(dev) ? "%llx.%s:%s" : "%llx.%s", - (unsigned long long)addr, node->name, + dev_set_name(dev, dev_name(dev) ? "%llx.%pOFn:%s" : "%llx.%pOFn", + (unsigned long long)addr, node, dev_name(dev)); return; } @@ -142,8 +142,8 @@ struct platform_device *of_device_alloc(struct device_node *np, WARN_ON(rc); } if (of_irq_to_resource_table(np, res, num_irq) != num_irq) - pr_debug("not all legacy IRQ resources mapped for %s\n", - np->name); + pr_debug("not all legacy IRQ resources mapped for %pOFn\n", + np); } dev->dev.of_node = of_node_get(np); diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c index 9def7be9c111..d9d012198ca5 100644 --- a/drivers/of/unittest.c +++ b/drivers/of/unittest.c @@ -212,8 +212,8 @@ static int __init of_unittest_check_node_linkage(struct device_node *np) for_each_child_of_node(np, child) { if (child->parent != np) { - pr_err("Child node %s links to wrong parent %s\n", - child->name, np->name); + pr_err("Child node %pOFn links to wrong parent %pOFn\n", + child, np); rc = -EINVAL; goto put_child; } @@ -1040,16 +1040,16 @@ static void __init of_unittest_platform_populate(void) for_each_child_of_node(np, child) { for_each_child_of_node(child, grandchild) unittest(of_find_device_by_node(grandchild), - "Could not create device for node '%s'\n", - grandchild->name); + "Could not create device for node '%pOFn'\n", + grandchild); } of_platform_depopulate(&test_bus->dev); for_each_child_of_node(np, child) { for_each_child_of_node(child, grandchild) unittest(!of_find_device_by_node(grandchild), - "device didn't get destroyed '%s'\n", - grandchild->name); + "device didn't get destroyed '%pOFn'\n", + grandchild); } platform_device_unregister(test_bus);