From patchwork Tue Apr 10 06:54:13 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 896506 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=none (p=none dis=none) header.from=renesas.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=renesasgroup.onmicrosoft.com header.i=@renesasgroup.onmicrosoft.com header.b="DilQrqHO"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40KyZj4Zspz9s2B for ; Tue, 10 Apr 2018 16:54:21 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751825AbeDJGyT (ORCPT ); Tue, 10 Apr 2018 02:54:19 -0400 Received: from relmlor4.renesas.com ([210.160.252.174]:19629 "EHLO relmlie3.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752246AbeDJGyR (ORCPT ); Tue, 10 Apr 2018 02:54:17 -0400 Received: from unknown (HELO relmlir1.idc.renesas.com) ([10.200.68.151]) by relmlie3.idc.renesas.com with ESMTP; 10 Apr 2018 15:54:15 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir1.idc.renesas.com (Postfix) with ESMTP id F417C8125C; Tue, 10 Apr 2018 15:54:15 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.48,430,1517842800"; d="scan'208";a="276337651" Received: from mail-ty1jpn01lp0177.outbound.protection.outlook.com (HELO JPN01-TY1-obe.outbound.protection.outlook.com) ([23.103.139.177]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 10 Apr 2018 15:54:15 +0900 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=xCPWQ3UZMx9y070Fj6KLRHfJln0JDXA6vUpxEd/thfE=; b=DilQrqHO5digLujeRC6/3ewf4OStPvMBBcWj14NfMwwAbqtydXEsAraVwswUANN17Ec9n0vGlh3XMJtNnyYqD6otK/NrrYViPFq1xnKt1r2P0puhoV8cwHRHlfRWUNvRL76VVqtAzhp45KUI6Bhp1i9r+QoDKkZs98zAbS5twog= Received: from morimoto-PC.renesas.com (211.11.155.138) by OSAPR01MB2068.jpnprd01.prod.outlook.com (2603:1096:603:18::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.653.12; Tue, 10 Apr 2018 06:54:13 +0000 Message-ID: <878t9vv9jv.wl%kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH 2/2] of: add of_node_read() User-Agent: Wanderlust/2.15.9 Emacs/24.3 Mule/6.0 To: Greg Kroah-Hartman , Rob Herring , Frank Rowand Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org In-Reply-To: <87bmerv9ll.wl%kuninori.morimoto.gx@renesas.com> References: <87bmerv9ll.wl%kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Tue, 10 Apr 2018 06:54:13 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: OSAPR01CA0013.jpnprd01.prod.outlook.com (2603:1096:603:2a::25) To OSAPR01MB2068.jpnprd01.prod.outlook.com (2603:1096:603:18::15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:OSAPR01MB2068; X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB2068; 3:Xn/ZYrf2dKi//VXor98aAQCLIpkZ8D6hdkcDUrkJUGOCqzV9mT/EIgqrz9WXVYTMDOaV08cWgC/h/g4VKM+JP9LP/Oz9f2Jv3TDogG1y1L2dXpFzHayppG392s4yy9zbzQo5EBAYoHV8LdBGFi2WUlHTCL8ARCU5+Vm3VoV/YsO03KBPg/pgocMVw5I/EJs8/rplhfiVq9CtUJHdHjm4He8edHOuRKAagZTtYJP7AeNLAea6P1hFqNubdW54PD1t; 25:8QeblimqSbpiwyIDbhwqK6Ls7lmZDaXSWUnJL+NVKjawfRv5tlcr6MJobiWsyuehQN0EhGsJ7whucngkiv6cZk/OJh08PAuxogBVOaoZ9eJ66+nWMEuVJu5mYUBPWiI2dBSsvB2lZZ5gQXiodjiboxiBDynjjDjM4Eyz3wiBcRxWPnQTQnust5dNUo2RclcVvkg3GKizrzlsr2yFah+SSFOI1/8dz0okpK8t3N9IlzxdV3zkdfYqb2xOzw3N5o/yX9gZiGBzTtaZv36TGinPfuUgm6bIsUvwu6bpSUAzkHt63XU6zt7nw+o0fm/q3M3Mu5vlShpTTloBUymjiSZ7xw==; 31:tjbntVbDZLCRu0+s/nCLu7GPq782To79+8D6OywOg1MPZH4QLJ46T497o7wB2c7yJkdyevuSSThdJGt2vBKmL5UkABn6jytpIuxO7QnhdPLfXTvXpi3psECD8H3ych/2f0eCj4vWTSN88gX8QwZCsqBLp8A1QEKz4UkBNBjTCiX2dvnUF5VJhP819NZxCxjtyPU2aBqeM8oNzN/jfmh61LP39c1D3ApTB8EpfHAqeLE= X-MS-TrafficTypeDiagnostic: OSAPR01MB2068: X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB2068; 20:x8F6Bv8++ya8xWBY5T2efOX/9XIGG1A5RTT2uHkg4AK+o2V+IVf+bCTzTzciDYG24Rcd6ajTS1vgkuJGjQ/qgyelrJQP69FRTkOm8S8PeNu1UulRoI1wnmYjH0NzNecbsd+akePv0WZfE0Oi8ZyTqSq7rNlN+SpBA2jjp5Ex9P6KFxsYzG3VlupTg0yVqileWiIZB8bliC4Z2pboK1S9QWNjuQsleLomDYa3k86Uv2R5XX14o+kjEkVtug8oibqYD8eKoXjZfsobCzWyp8RnoJVEB6yeRuR60afPxdVUc8ZHvwmFkXW065BDi8WVHjFwzAGHyphujqERIa+rOUCHvvZJMKe8D/z/7hk+Q8DAkq+ADtKa3IBnoQiQ4xWlNEFLLrwoO4J4/hs6eWQzrB71MaR/gmzqP99HXxFSMidmTxg+xWnd8iCKq8P/dYLcCkRR6vlh6OcrI1o29xEscxDqulDoAKXCOqzAoD1lzgW9QhreJfZ6xZ9ZVMCtfLIhgcvI; 4:uo4l0DiIm62ewnJvYZB3uS1+QtFNsSDCoQDso2h3q+0Y0ujhkYtNeOmXKzBt/KiCCgDQPsLM8dWANaehA+WbbuaQf89ljvNzgT/3jO/xZ0lKpvIx761/RFFbNT7EujPtrczyIvcyWwEvOcDAFmhVa6g+Q+N0jKsDR5QLdM11qXVo4ToyyLYxGm41g0EfqTJRDnAe7CRLNlhhTkxnPbBmDFqPIvJdZcG1VzGQzrCnAwlh7s2ZwYo6VavlCp9VeLd8KT0T0QcmTEFycJlwiXfLZw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3231221)(944501327)(52105095)(93006095)(93001095)(3002001)(6055026)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(6072148)(201708071742011); SRVR:OSAPR01MB2068; BCL:0; PCL:0; RULEID:; SRVR:OSAPR01MB2068; X-Forefront-PRVS: 0638FD5066 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(376002)(39380400002)(39860400002)(366004)(346002)(396003)(189003)(199004)(76176011)(68736007)(11346002)(53936002)(8936002)(4326008)(58126008)(486006)(50466002)(69596002)(52116002)(8676002)(25786009)(7736002)(476003)(2616005)(956004)(53416004)(7696005)(16586007)(81166006)(81156014)(106356001)(36756003)(86362001)(39060400002)(478600001)(575784001)(47776003)(305945005)(386003)(66066001)(446003)(105586002)(6346003)(6486002)(26005)(23726003)(110136005)(6116002)(3846002)(5660300001)(97736004)(316002)(2906002)(16526019)(186003)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:OSAPR01MB2068; H:morimoto-PC.renesas.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: renesas.com does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; OSAPR01MB2068; 23:0nr0S9MjdO9LFmHOrA00Wi5btj8KglNszAfWjN3jc?= /jzJc1IZObKtrZDMwx3FhZ9UlEOCpP3KsL3riqPuBvObw7QDDZu51Ip39LdfGvtSk3eNQ0C3Bx+MFAIs4TlgXBQwT3wOfweUYFXATkRUtPQwpJ0hlfcNDOsP3oODKLR8Tw9pPhfe/z+ba32G7Bv7PIsLnuXYYgPsL3T3Jl7T4kfwFXBSUeCy4BiGRnl0+pul7Cv15Nw2KO0gFxKPxmZg/4FsgKV8vNqy3l44IT6F7V+iKzbwT7/P0Q692lqMmioE3lkcMXC8+00pwSGUCzfFdyWBY6YbbjLOOuxhiYe/DpOtwOi2EnuML4oFFCqNcMOvAknEuB3Te8Ql6GBLvdZ7XuK5kshTFRpg2qahyKMfTkblN1wMgAyvnyGFQCXiNdHP2GrYnZt3kCPU0dqFFO/hVu75T457/TXlBJ4HuX11nQMzQ3v+1vBo5ajbsVltx8ILY9JKtxTrZLRE3oEbiNVuhQVbzTzVkHoVJ3NXO3dRgLuRhx4KqvUqhfKdd5+Nhe5mkjIafGOYN2ev1emPJTvwKJBOiGT+kGjQDtNIuZz+iyN7Keq3MTLcMrWUqdJDrZ/x91Xx0XcWSQygEPIjNOPbCXoTmYIAYPjUYNT9ar6SCh5I7tZzZr6znqYjhYq4CxCFDTjYo2IHLOdp0oEEEPW/SLeWN/RFbkglK4gZgGEj/MXcoOQb5Fq+UoTr5mHlGOEr7cuyQfUVJX9F3tb35WucXTMPJu3NFMlca2aTmj2LbEoLRs6hzh9m2O3o+MZkHAsyHXShF6MKKhOE2qjr98XjTKfqYukrewUXyse2DdLphX5JYagogsaBA9fZwD+b6MSmtvvK9tuatk+E4qc6OL8zSfEBYlRWEUMJsaY/ZiU99v1NMhBxlk+FziRVQDTiGYUUcVBqFoNobC8/CEdwudhrXurqdRDZ22Q09ibfWLiZ/rZ8JxR3Lfp31HkZDqNYofL592bCb7l8vw6KNxi9P2jEZKxxVWzjWFrNrw+YdUPI5iJYg3yT9M5lyMOTOZ/1QM1jOhd7AOvsGTH9zcp7b6Rim+tro9T4NM1MmA7SlrUHDGDKOgAuiyH52BmZguj1DDlSVDrJ7hoZVUyR31ZQJFTS1BCyJMEr71eh0Pet5LiK4bOa5uZO1l0bvqNB/1hgfmZVdMhy++hW1mHuyudR57qdhghzZtah4kJsW/dsXCqjhsHVW/PGQeaaCG/UeMI7S5/k6fmRtY3JPguaxirPyQq/UHV X-Microsoft-Antispam-Message-Info: pDUxQQervHHKrHnn06JsKfJFV1as9Q5hH5p1+leCzxuIk7C/1qDlGYrP7T3oYGcUaaHZahux6epEpWBbz0TKqJKY5f6fddYsVZWRbKkwwFgpSwWTpPv8LAhcONXcG9PEVeGbgfyMcO6ob6T8QLsptAIB8lmv9S7M1Ke8xQk8gEPNinx2cSFq6356yXuTbYRF X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB2068; 6:ZXWbYSVqSNiEUbSEU/HQVPU0MBU6+5NLnVa644QZwaAlt9zQSjpL5plZURmpQJlTPMOco/Qb8n/7ljB4aUJhrP2k4/n1449Df6qr023B4VxcH8nlnW3PMaZ0OccfqxXfyWWPouW48Rjk5eqTHfeOZzp6xwJ+84o1t31KRFTKGnehR9QQ5lgh2MY+IT2AhhluKOLiZgkj1Ej+bAZanMlwub9lTgJbmL8xgY0/5lUVycMGaC4HpswITQEeihinj6wc7eaPedKciF1DA7AHgdSBil/dwX85nByjHtdW/jRmqBNSBr7Hby8gznvv4AlvVPrBNO60opRc2uPzTnApWp5AbWlCx8LrZXgyW63eXBMnsEnhI7os4ow/QealnMaH1mPlrIO/f8NKHlLzaq9k+lQ4aTQzoJIvUk5aIlmWdYWHGf3kn2MhFiqgfexgUdxoeu4vAq0SMU4yMnKXgIa8Tw1s7g==; 5:Cy1YqbOfmn0fOHGwcp8BCdpUcOfdM0xZ2NZAPFmi4/F1AUtR8g6mZcJtiYUvxT5p2hfrd8yJRzuWAKMXBYZsZs7Z7mGjBPCTgmfvE0DqHJN1Fs6IPRdvL2W8m4Lz18PSknBlGn2rIZYlPVQbmYSLQSQu1iYsxhFeELgNtHJIOzo=; 24:+kpqvVJYE97uGLsoS+d+P9GSHLmpNAg+d0dJofog3CQriiIYLQ7MgG2QhI3aN0Gj2ZQ4FO8u1SYEJZs+fbFNAUpSA+2r8ps8wQX3t/t9QFk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; OSAPR01MB2068; 7:Sfz++EBpJtprC61KiBz29uLQVKR5JwG+gRH/qWmMktLrIDlC/PzJmhbkVk4xclXDCYKc+Zql+JP7rqP2+wyLEhAqSGGqDj2KTGpzHyn/vGpYpVBwFOPj6f5cSgMY35G9BgstlHPB/TDzmviqhBgsIfyykYEmB6TBi5wtC3Qdr27/niOjAp94bLY0kXD1FEjvgj3777fknvm6WqfR/eijfQGWcA4Q8EGYH3JJXohCbYvV81FveyjCooVwOFALXdRH; 20:qyDGJqx2ngRZcCXQXJh0JXll7XHH+se56/EBQnolqtGAD41/+K7rtkV9ooO8yYqbgOpY7jAXTdPQHa4HtAZfCAaF7K5d++PYtkoq5MA71ns8GtaAHdxvYc6GV8ze4BXCuEOiDhn4B6XyORpm/bfbaNfkPck7Xqe0AkLXHsUj7E8= X-MS-Office365-Filtering-Correlation-Id: 0b4deb7d-b21e-4988-cfdc-08d59eafdee4 X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2018 06:54:13.7233 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0b4deb7d-b21e-4988-cfdc-08d59eafdee4 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSAPR01MB2068 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Kuninori Morimoto We are counting of node by using of_node_get/put(), but not have of_node_read() which can be used to check count. Let's add it Signed-off-by: Kuninori Morimoto --- drivers/of/dynamic.c | 14 ++++++++++++++ include/linux/of.h | 5 +++++ 2 files changed, 19 insertions(+) diff --git a/drivers/of/dynamic.c b/drivers/of/dynamic.c index f4f8ed9..db5fdf3 100644 --- a/drivers/of/dynamic.c +++ b/drivers/of/dynamic.c @@ -49,6 +49,20 @@ void of_node_put(struct device_node *node) } EXPORT_SYMBOL(of_node_put); +/** + * of_node_read() - read refcount of a node + * @node: Node to dec refcount, NULL is supported to simplify writing of + * callers + */ +unsigned int of_node_read(struct device_node *node) +{ + if (node) + return kobject_read(&node->kobj); + + return 0; +} +EXPORT_SYMBOL(of_node_read); + static BLOCKING_NOTIFIER_HEAD(of_reconfig_chain); int of_reconfig_notifier_register(struct notifier_block *nb) diff --git a/include/linux/of.h b/include/linux/of.h index 4d25e4f..8be0ca8 100644 --- a/include/linux/of.h +++ b/include/linux/of.h @@ -122,6 +122,7 @@ static inline void of_node_init(struct device_node *node) #ifdef CONFIG_OF_DYNAMIC extern struct device_node *of_node_get(struct device_node *node); extern void of_node_put(struct device_node *node); +unsigned int of_node_read(struct device_node *node); #else /* CONFIG_OF_DYNAMIC */ /* Dummy ref counting routines - to be implemented later */ static inline struct device_node *of_node_get(struct device_node *node) @@ -129,6 +130,10 @@ static inline struct device_node *of_node_get(struct device_node *node) return node; } static inline void of_node_put(struct device_node *node) { } +static inline unsigned int of_node_read(struct device_node *node) +{ + return 0; +} #endif /* !CONFIG_OF_DYNAMIC */ /* Pointer for first entry in chain of all nodes. */