From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AIpwx4+M2KnV6iYdWd+xWuAZ1Lt6wu5eiBy6IvRsSw1RDDvwc4QImUHf/baFE1AGLO5li5dNujhN ARC-Seal: i=1; a=rsa-sha256; t=1523343236; cv=none; d=google.com; s=arc-20160816; b=fxS8692SW+o6fdPQOkAQRhVShx0bo0v1A4GbFXL0zmWNRpOEN+MPW98jMe25TcIgU7 XiieiJmGrS9Sv77n2ZWj/aVShxo9ofGoE6Ms2a6L/DK8TepQDwrJCJxrr3tvP9Em5+vc LKHphsonsZjUlVUGGG44vbKwRrfWyKq78pc3cPU0hZB6tXnXCoJtUjr6Gd8yxX0DBjdW tJvDsJuKci39E3GF8uFQLgi9NsD4H58XV8CmdfdbLq7TB7yz+WAYlFe2Z85TQHtuRPXh mG1VwMn7d4YqdEQZ85sOdW621qD77waXBpPrU7GiOMgE+doJxo3K1gLez1tC4aFly9Lj gqGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=spamdiagnosticmetadata:spamdiagnosticoutput:date:mime-version :references:in-reply-to:cc:to:user-agent:subject:from:message-id :dkim-signature:arc-authentication-results; bh=Uzf5TLQzULD0yI3NtAf+o5gtlZsR8Pg76oo+nvfgaBE=; b=vMQSNOzD9wu/XVJNdjZ25zMsgjP/an9EBc0gFkHp9scXsnxd8x4pHV5AYCACylMToB WYqu/Y1ZtF52lTWlIEJR9QWIdCw4K9wgxRLr743T7ErAmPb8iPpXVqBbVqXeVlzg39d7 Q9ZsaO87AdzptYfSuNFK+KQGj79eyfBifAldoGoQTmnoG9+MEyBexEvwxYYs1MwspUv+ 9otcxmnF2mIiTCg7vxpwZpiBmbK7dQliONDW38MCqf/uyRIBcRJ7IvmAnkmx8GixV0/C K2dBjvk2TTpAi7aRJXv5ItOinee+st7sHxDiQM8wtfKRfahWNtuMVOrjs+e/vpBoUQQu RvhA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@renesasgroup.onmicrosoft.com header.s=selector1-renesas-com header.b=e+zwH9RI; spf=pass (google.com: domain of kuninori.morimoto.gx@renesas.com designates 210.160.252.173 as permitted sender) smtp.mailfrom=kuninori.morimoto.gx@renesas.com Authentication-Results: mx.google.com; dkim=pass header.i=@renesasgroup.onmicrosoft.com header.s=selector1-renesas-com header.b=e+zwH9RI; spf=pass (google.com: domain of kuninori.morimoto.gx@renesas.com designates 210.160.252.173 as permitted sender) smtp.mailfrom=kuninori.morimoto.gx@renesas.com X-IronPort-AV: E=Sophos;i="5.48,430,1517842800"; d="scan'208";a="276337612" Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; Message-ID: <87a7ubv9kg.wl%kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH 1/2] kobject: add kobject_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") Content-Type: text/plain; charset=US-ASCII Date: Tue, 10 Apr 2018 06:53:50 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: TY2PR01CA0005.jpnprd01.prod.outlook.com (2603:1096:404:a::17) To TY2PR01MB2076.jpnprd01.prod.outlook.com (2603:1096:404:e::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(48565401081)(2017052603328)(7153060)(7193020);SRVR:TY2PR01MB2076; X-Microsoft-Exchange-Diagnostics: 1;TY2PR01MB2076;3:fp02w63MpEcAhZiNwYD9mmKAGmSFgTEx/M86Pgww/jkIJROORhWfUgjCYjh16VEduX8QP7ktzRaFd9UF88ec3nDhlBpybXKJYqdZFncjPMPgYXaMWpL7aYLPLy5YQ6uqzn02Ue6J7QygW+5t83w9XX0yY4d3z2uiHjVJ5r4GM2pAkPIHhjNSrsLitAHyY3wmEPVJDHYJXESC9Tyom3BV3HmQ8k/9xNKmYinUjruP++AyHfm2BMyX5wXT4Zh4lXWz;25:3NI/12b4M5tMHTRBy4k7HMp200r8QQMtfpGDO6YjlpWQmoDmxpZC78NlIRIQZzVk/nfRAMjI/kjKBprwb8ZuQEgsg78/Eb/x+8gqraknUQDXXSNWdjIvE3+etqQ+wB1C3XSviUxDa2Ys1m3TxSI0JMFnH++Cw9Hzpx0SkrWEeH83pJBsZFwKbP9j18ovVg9Qz605orMJxW5OhQDBpZrcDvL6qBU7CMLgPn8SQwwAsXpHaiV0fgs0j1RdIlhNFt+QEv4NgVE2539SxCmVoVfe5P6Lnq5eLKg+KBJcv7im7y9wxtzOKgTzIKgyoqf/bMz1ARzbPWZiR3ZnAWbuUZvm0g==;31:74CC2JntgvcIsNb/k+qAkOWLEaWnnI/9bFXY0foYU208/Go3wOO4dHJeGLjxazQphSm+0ZjRxZQuq7a+skli+1Sd1UPIwrbo/6lv2ww4DwRF6Mpscciwl+6QPjTmaF6U9W4hHL/FsLRdzuxS14C8O4fRpy7k/RR7kkCWdigzrLuSFwZPsGMCAJP2NovaQ1GA2JgSSBFcqLsVUb3I0OrBR84QeZ0ibxu9j9cHjHD7OfI= X-MS-TrafficTypeDiagnostic: TY2PR01MB2076: X-Microsoft-Exchange-Diagnostics: 1;TY2PR01MB2076;20:A2iA2b7luVy67r6mwhCX65BYK65lRkxxcwQHBCsAHHkpr6SAkdtJTa0gDE6ysHSIq+D7Jweou+ao/X+bXNj+QNQTvyYotlyZBocUTrNGABsbHk5cXS877+GvFEao8y3aow/zraVUBsTISzor0ld7QR2dnlqs0FMZSEPG4XRQWgWiboVYvB2dsdG56hHKxEQCvj6+ssLaxUlUuThPeRafFgcuS5EMXOZOosLEzyjb8TBbOp2D6Grtltx+2lPQy4omG35nNBrVWiglvH3WagX8rTwLqG7py3d8rdEDMD0c3uKR3MY9bQD1nhe0OYBMsHX1ALFWfHLoyXY04BvniMCuIRcW4zAk+eS/MnVrYzQd+3ov4bguAf48xat7QdG95TRvhr7AYqEVCoyXNI+AJAvwk3L2sd5bnn/RocB6mONKRWEVwh2xtZdyFjxV8PwEY5eC935CuW0PlbvQIv9SiQe8OttJ6w+DjuIaukdote/S53DQJHMZUoqtERs3SX8DE0lo;4:vPgZn1Zq0N+1Tjz4jJkbuoYKnJVN26sUQseK0VdEUxRpkglx+fcruQpqlh3K8tMw3Cqwsr79cqhIGK/uZtBq+SUXzA/UrniseJUC1zNdrpjTNeVdosPqC4eSctN57FEPq1r5CNngv/6wEJ8FcaAsCNOcLeYqwRAu+NE12775dnFfnyRi77II/tRHtSP0H/Gwl2aZxkkYI5cPLX6ro79oAwFhnd7p5r5c/Je7yBNE/Jmhe5kPmExvUrkyGc8oM6m6hp9s0QMOddtIMaZQIjwoXA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(3231221)(944501327)(52105095)(93006095)(93001095)(3002001)(6055026)(6041310)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123560045)(20161123558120)(6072148)(201708071742011);SRVR:TY2PR01MB2076;BCL:0;PCL:0;RULEID:;SRVR:TY2PR01MB2076; X-Forefront-PRVS: 0638FD5066 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(366004)(396003)(376002)(39860400002)(39380400002)(346002)(189003)(199004)(106356001)(86362001)(76176011)(81156014)(105586002)(7696005)(81166006)(305945005)(8676002)(68736007)(386003)(53416004)(69596002)(59450400001)(7736002)(186003)(50466002)(16526019)(97736004)(2616005)(476003)(2906002)(446003)(956004)(11346002)(6486002)(8936002)(47776003)(110136005)(26005)(5660300001)(316002)(58126008)(16586007)(53936002)(486006)(25786009)(39060400002)(23726003)(4326008)(6116002)(52116002)(3846002)(478600001)(36756003)(66066001)(16060500001);DIR:OUT;SFP:1102;SCL:1;SRVR:TY2PR01MB2076;H:morimoto-PC.renesas.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;TY2PR01MB2076;23:iRz6v0jp+dd8baPXQ0/dTpDtAkjeRg0lYl1vDNlvU?= =?us-ascii?Q?aXO7ph6zAFc2ZVufFxX9HmN0LdAVaJZCxB5CFQnFkWvdw+/XavRPxiPCrL7w?= =?us-ascii?Q?OienWfR1yHngiA4DiswOaX8y4gtQgBm0jSAo9ZpY3agfqhAJuEb2GfZYubDw?= =?us-ascii?Q?2yTWtAg3U2amL4gH5MxKnm+XfFVYHSkI2108vW/HB2zG5c+IfCwju+aDomb6?= =?us-ascii?Q?QgGeEnQ8i7Xv1mMl36hkDrf52Wk1VnrR1MGzQOPQyrJWhF31Nxb3gyf1JQSZ?= =?us-ascii?Q?brDD7+WWD2gO1V5XsXEWg06DPczaDf7ls1C4Ql8mZJQn/2i0UlCYvn6kxUG3?= =?us-ascii?Q?Ohew1ComUnxHdrDv1D8olkiaUf1IEPVSJkR8o707ygvlEdD48u8KrT8luddN?= =?us-ascii?Q?xrS+d3yg3jG1yCttlc9Sxp5gmFHt3LWZdwUMDK7XzgjvVl7+1OnnJtHLBcHt?= =?us-ascii?Q?TMQ//4jJK8x2dUaZ/FR0Dbh3VHcg6LChzksF8l/H5+sx9KYHi0qPS3GGKEmi?= =?us-ascii?Q?htjUJ8BC1pY+6/Rgv1Tt6aDceTMIk1ka5Nc1fg9aSJHhl/m1yScnV1UnYpxo?= =?us-ascii?Q?bKf2QohVWysqjsoLc0p5MNjFeJZ4D+hwpIp1HIttzi5OW8Zfv0XFwefhwxXn?= =?us-ascii?Q?vZgozQlQeBr5BD10XiWiuty2kKYQOKKjANdno4VIdvtoELW2TWR+7dljPx7B?= =?us-ascii?Q?AkW/5s3z23RAauZ2pcJcPGK/Odf3hn78/sX4c/hbT0Zu1dBFnpwEbgIxp5EZ?= =?us-ascii?Q?V2JvnOV0yst4+SUl9kzLPVS3AnNCV0GCXNlufx81+ONi1QJwwmQzLo1WyM9l?= =?us-ascii?Q?SqWVGE0AmWQJ+Itx81vbsp1rTN6FmFNSJmv6+Ql2wuYgp69YFBIR1S8FlaZX?= =?us-ascii?Q?5Q/tj43luLe5FaeUHJynxIG0sNYWN3CdqpaS/DksF7ow/K0l1rBDKeiXrCM5?= =?us-ascii?Q?xOFcG5SfpIsDxbCiDpBZnLzApBJOwrsAKvwoQNdnRy2IPPxyvE0FUOdKDl6O?= =?us-ascii?Q?4AS2+Oztl1KJGbRPeuo73ZNIcF9alenpY8o2s1nSmCTq0aTYbwsX7mkXVThk?= =?us-ascii?Q?NB+hb9Rrw0yuHocCSQgZ0ITAwqbSVkqQYwFLg+S+GV8YOuJMOSFiX1E/vezC?= =?us-ascii?Q?xJn88KQ8ueiaCcnRD97Am5UfVRtJhcjqV4APiI29sPt4yicFQtF8tA2B4Y0X?= =?us-ascii?Q?mdOQcnJNmUZ7fr5dX83386ZxnW0DbgSGlr+0W2hif3ekewP8pXrHPaBWt454?= =?us-ascii?Q?cbKp+kKCKAZ/07qQpY=3D?= X-Microsoft-Antispam-Message-Info: FCzsIHEkoGOkWEF+Dqu8M1Y4dNcohuRysvFVdknPMASBxHmuKbMn+B7zhkGY8T3ui3SulLu2chjdIbuEjcXNSGAVr02et7K564PeG4iontSQ91gP6l2/Ex5sKufRYztGDmu6Ofn7cQC+HfN24sHm03D0MNup+KkwzTP0LCS2LcUAOk9aWLIbp8U1fsxmXdwV X-Microsoft-Exchange-Diagnostics: 1;TY2PR01MB2076;6:ZoNYSGhdQrHwVWVEsaw+RkTpnW8DPsn3ZPS+ojqA6GqPOYKVNo404mg0WlZ0cNEEN/MiuWXarfS4R0rjEFG8IvM0jn4UGrFMkw5KJlVwQOHitymMB8oZdEPbDaphKkigl4vf+wFjBKsSbGYVrPZ4NA6lRCBfWEJiSY1m1F8eOl7sv8I/c2Rw1kh/ZZI71HlVmHGNjpYzyGK+E1sq3Qbzm2quX5e4Pv98aNqK1qxxCURJ5BjJAgnh8Q7r4YrOLKtGxon/ksX0MypSf5rTG6k3KjQ2BKZXgCVUHHvorAomvYQDBqm24YdiigRyg3Uw+p/lnZRW2kDFJqLnruaC+2mhZYph3b1bLHsH0oeKxFk/jlV4iJER66bg1MYs4vPl7Ep4HCQcLvPof6xxkl7Bj943ZM/AWXJ+iGho5Cc0w45mqFicNTGvLZG336y17XVIJcZ7p/tlDerGQ4tMYtlwwvFFuw==;5:TB5MiJcGjkW+iqo2yB2ZsKKrhjbsMUN/wZK3wl5ErAzh20PGQdWRllnbT3HzXrjIV58Dn3Sg8xfbrNyh0PL+cbr9iSrqdaX0V6vjSZymyfvpa7YQRooNH1T5Lj5NRTHEcdyBtYmoxpeThShd307uilvcwkHaZP21JAKXQKU9As0=;24:oDWw28wl5C9A4UjuyuUiFggdyp0C5LZse579pkoJLXYjlSMLArRmrQK20XvVsAAt3nVFT7nfwCg1wjNCRMT8HHYmJzC50Qw+bEIHuGyDgpU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;TY2PR01MB2076;7:W8lqxYHvh8wERsJUreuhuBKPg3zqo+lrMdEAmwNe6yB7McbV1N7HHzyH/GKcyQWbVtiybCQ8uAfGGJFrJnd3GNH0yhBOytUQkQmkLgXuE9u9t2HGqMYfFWB7HKWARUIJvuzf6Q0+qkhKvJYf/EVM1Q/VBbYmcSuDeXnqmVM3Fzp50ChHbZpGfBRSOWQs1lHnbG8dkYuodH8xjF9XtSYqnvpLHDyRz1yPZUIrlk1h/KRDKKIhmX+Y/ZAFOLBZO9cK;20:ECsrGRs2MfZgDZdopJiMXl/W7L+RpFweU3PkYdKwWqafMt7wNcQjvz6vixbRMdFs1oshFW9tvUX4m6vXjOPuZX/zdzoLC1fuXzTwtfdtynyBCOnsShnHKOKKxZJCllnccxPccO2UZctiwmR1Vk14R2fpG89WqtxI1gil4x/sr1U= X-MS-Office365-Filtering-Correlation-Id: 0c716c21-1508-4ad4-3521-08d59eafd13f X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2018 06:53:50.9214 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0c716c21-1508-4ad4-3521-08d59eafd13f X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY2PR01MB2076 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1597341157570108591?= X-GMAIL-MSGID: =?utf-8?q?1597341157570108591?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: From: Kuninori Morimoto We are counting kobject by using kobject_get/put(), but not have kobject_read() which can be used to check count. Let's add Signed-off-by: Kuninori Morimoto --- include/linux/kobject.h | 1 + lib/kobject.c | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/include/linux/kobject.h b/include/linux/kobject.h index 7f6f93c..6f74d4b 100644 --- a/include/linux/kobject.h +++ b/include/linux/kobject.h @@ -108,6 +108,7 @@ extern struct kobject * __must_check kobject_create_and_add(const char *name, extern int __must_check kobject_rename(struct kobject *, const char *new_name); extern int __must_check kobject_move(struct kobject *, struct kobject *); +extern unsigned int kobject_read(struct kobject *kobj); extern struct kobject *kobject_get(struct kobject *kobj); extern struct kobject * __must_check kobject_get_unless_zero( struct kobject *kobj); diff --git a/lib/kobject.c b/lib/kobject.c index afd5a3f..103c8c8 100644 --- a/lib/kobject.c +++ b/lib/kobject.c @@ -561,6 +561,24 @@ int kobject_move(struct kobject *kobj, struct kobject *new_parent) EXPORT_SYMBOL_GPL(kobject_move); /** + * kobject_read - read refcount count for object. + * @kobj: object. + */ +unsigned int kobject_read(struct kobject *kobj) +{ + if (kobj) { + if (!kobj->state_initialized) + WARN(1, KERN_WARNING "kobject: '%s' (%p): is not " + "initialized, yet kobject_put() is being " + "called.\n", kobject_name(kobj), kobj); + return kref_read(&kobj->kref); + } + + return 0; +} +EXPORT_SYMBOL(kobject_read); + +/** * kobject_del - unlink kobject from hierarchy. * @kobj: object. */ -- 1.9.1