From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1762119AbcALCQZ (ORCPT ); Mon, 11 Jan 2016 21:16:25 -0500 Received: from eu-smtp-delivery-143.mimecast.com ([146.101.78.143]:23281 "EHLO eu-smtp-delivery-143.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1761836AbcALCP2 convert rfc822-to-8bit (ORCPT ); Mon, 11 Jan 2016 21:15:28 -0500 From: Huang Shijie To: CC: , , , , , Huang Shijie Subject: [PATCH] iommu/arm-smmu: add a shortcut when the @dev_node is NULL Date: Tue, 12 Jan 2016 10:15:05 +0800 Message-ID: <1452564905-2662-1-git-send-email-shijie.huang@arm.com> X-Mailer: git-send-email 2.5.0 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;DB3FFO11FD006;1:3Elvua4eFcwdhjljMnnPN6YmgBPNrZk/80Su0XVxzxDpGyCQyt7ywuFhTfR++2WVuoS3QyWkjM3oakqnDu5A4FOieww9tYAbeYuceOT7/ABNfxD9cYz4IMV0aIHkt9lFTIkEcu9b7mJiPp/HFv6aLIeVpagP8xEdr0sIDy6N/Ljfs6jWcms1QvkuMdCN2aWXG3+LK+9I3nlMhNBHott8F509lgPlnwekChTg1DUfxIBLtzgV0HdRpiocHuAwAsr6IS/OV/uBxozdbuoy9vWqG0B8ftmoW8VQ4pfJ+DDnicp79cj6H2syVkLlNeLdOF7lLjrJYFk0h3cJgpln13HVNQi0f5Z8uvQoao6WCXPJA4XYc/4U9c7B2Zw7HKZ4Uv6HO3hL2cMV3h3zETez+5dBNg== X-Forefront-Antispam-Report: CIP:217.140.96.140;CTRY:GB;IPV:CAL;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(438002)(189002)(199003)(229853001)(92566002)(110136002)(50466002)(50226001)(86362001)(2351001)(586003)(33646002)(5003600100002)(1220700001)(36756003)(5003940100001)(106466001)(189998001)(47776003)(4326007)(5008740100001)(19580405001)(26826002)(1096002)(19580395003)(48376002)(11100500001)(50986999)(2906002)(6806005)(104016004)(87936001)(77096005);DIR:OUT;SFP:1101;SCL:1;SRVR:DB5PR08MB0855;H:nebula.arm.com;FPR:;SPF:Pass;PTR:fw-tnat.cambridge.arm.com;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DB5PR08MB0855;2:GaaGfGh7ipgLvh8mKpG9BFosWytShFoiPhsCYTxp+K5mGSQWLQISPiHv+wjYbpNOVaqYay6pv0mPjDVB1e8IIB7vhcc7ie4Xz8qtnjp0LaPE2bCR4NlyPe0/DBt0eIDjzzEzR3QjEtGJxeCTYy5t6Q==;3:Yk6zE4W6ul8+BIg6BIZhPhhZYp/0U2vmzar/rcLeGLtfG1yhhLqqQJw3gQvf4BJMlkqzMCEasE9IdJyvPI9UMyr96exNifn44rUZU1PtBz/R0dBfWpEdx9GApEBtkoEWkFLpQ/K1wtIQsXLCSMFaNZSC9NNR27GqmCX3rqEnvxzcsEFBP/Digon5jj4gj9W571lMThEheI581BIpd+xd86g5ZKl526thQM/9EbYTrgHuCQ/4rzpvrdpXEp9vhg749Pub/EsGz0i3p8P3zjeX2w==;25:A/Z5aZXUlzB5goQZmhTdz9wOPy+mQaX+XUPoRVIr/XR73y7tVRF8hIoUFBqZtnRyuZTvgiW9zGuMU2Q49ApTiZ9tb+w9/+b9NBrT6ZhtjZviqeVKuTLgQ2jc0Ilz7HSNeiAr6UWxKZQA0mButXef2uw1wnT7E+bcVqk4qCXPjUOyEUXA7lYakOdgMkNhDYde8c7NEzESTfXNE1/1gTBZ/MQzB4m7SYCzeSi/060sYL9ZEKAbIX1lS/zJ7sJyZ0ZR;20:svhT6I0WMBA1cUeu/Ndc1xV5TQcNga1GV5GNvwm20tV7ghrI1nhcovWB0StEoRaPIwjbZ8UKtGkUbt6h6E4f4nazBaCcq22nQko7AsmcWIzd17XhNRozDnN0Z+FnYKRbJztaU/UL1YuX3lXK5yEjxMXALqHprD0m7FzAm4ilQ3s= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501001);SRVR:DB5PR08MB0855; X-MS-Office365-Filtering-Correlation-Id: 791d366c-8715-4a3f-c088-08d31af63948 NoDisclaimer: True X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(13013025)(13016025)(5005006)(13018025)(520078)(8121501046)(3002001)(10201501046);SRVR:DB5PR08MB0855;BCL:0;PCL:0;RULEID:;SRVR:DB5PR08MB0855; X-Microsoft-Exchange-Diagnostics: 1;DB5PR08MB0855;4:nOlP13QPj1i0poem1N1m4WUrvF+FjKYdrw8g/R2NzcMIDdOZKBW5AUy3uGDvX190R/dwmCM070n8Htr+ZyQDmwTsaf/zCtruqViMo6KeE8yQpwl0HJCqOY6kLqlWU5pW3JO1eZ9jvWoC4lm2Wdjcn/olTtON05L8vU5I3PTUgnjoY5a5hmrWRydEaX5pdZ8/cRvsHFQB6mqGhGZHDvZdOPA1V2Hrb8r+9hBql0XCpZtqzWIcNHHXx0dxf7AjjK+n/iVXcuPmnWCcobhCjCKKwXfmXMzDnl7dAT9nRAdRJSjsjo7PXMFw/g12wh+8f6hpeE8JMU8VsUAfpLCfJX4txz8v62eoKjU/qwjl9w654EpNTABKPY6yQejzSRqjR/2zCFso3p6bC1h6FXeSU8TatP8JfkpFh/k1HtusHt0CVt8oCbHsXbLaWNzQGLhq3V1BA0Bz2IeFzjL8ve+mTNFlQhGGhe0QVNBIKPmYz5mOUoo= X-Forefront-PRVS: 081904387B X-Microsoft-Exchange-Diagnostics: 1;DB5PR08MB0855;23:eWKay8TwDKNezqPnKlq9q9fWViY1GKF96r4Z985Ki6ArR69/4M6ZBWYBwhATBW0H7ay9Ow7PfP0lJTWzTpEKdugD4XLrIM9tcr3Uqqa564Kc40XJSnFLTcXVQowphRmULkJg4K4Kx7Q/LILjFXJrQyHcLtxb4Xmhg2arboOZIvNBej5mhccm4C4FLTAGS6sdRSIi6wMW+E6S2Pft6kc1GoaY8QIQJlP+jRIyd1rEzgwgr85/mrzfWqgrLJEjGqTNCKQQsVg91gR19eNWRWF6dfZiapNiGoXfaM2XyrZN9BKheV0Dnc0SgzJopHYaimVPHDKK0ueeoT+GvInDJZEszOchZJ4HvpKotM8mHmWE1nIVlZuPB8x6yti8rONBedKxaLxJR3OoudfzUeYjQCP8FTDm8ekiP/wSRULwgKl/KaVDmIOWAYEU5EgxNVF0qCXZF37gQwrqLNXMV8RGGXcjohIvJ/D8CsevN5MiEtYnMSx71MeLTNCnrV30u0ZS2etPrXZSYr1Hf+7syW3v6Em8g5fryxpiUAnITDpFR3k/A/OfEDdp6hQTS0J4FoKRdcl6bLgsA70m0Aw4p7U4F579XJgzgRuvORKXGGQTai9RK2IoDZXfVRQJiSXtqKDv1ZxncMF0AAa/7yS+ZwjBL+UosgVtOs7EK3qw+Mccqdouev1xuk7WG4p3+9UyJbBKQbEtBQDuv6wyox8p1By3KXU0qCU+vMtipDO7o7+S2kA3RAp89sYBRsKim+6OMYEW7lePWv/2NqpZZRCsfXhuZIR/ZP1pZv2oNJCHXp/n/9NB6q6BKWkSgvWnujomaZoHW/77uFklOPVQ8ZtVDhz2LisFv4Idh2nWNOV67Fv0ZHh+A1+lSwDg4P1JQni6CHLdwFdzgqWAuc1Yfl6yl/xT/x7cKPd1aLZ6GHLv9ItC8OBfrD027/4C3o4sEcs5yC1u/cG1 X-Microsoft-Exchange-Diagnostics: 1;DB5PR08MB0855;5:pbvPnpbLfgiOUU7lgzbQtJeJCIt1JsgGDqgIvzc5Mg67at5Px1spQwO7dDIQTBNmQdjDSURN1oVTZTs21QKMyQZhIbJ4AObk7NCwZcS6GJPeuKRMdRhgsIOhIJstLO/ugv8VNgtqMCg0EUtBMkR6yQ==;24:rXycp1HoXxwG93KINqxtnM8B88iepCxO7NKOZqD8EaRyQKMibfr76CPMoEP632+3xEfrpCiOurHva22yjihikqCBND/VZFzyblElicKlvoU=;20:Ug23Y3lYC70qSMawiPSvCZHK6rgiytUaXi14NGmt12/tuB0s59Jb+Ey7z9WjUfGk1vCEogA9BndaTfyDd3DX0FMcqWvhuXLTE6ZBK6ul63XUv/3AOHK2Mc4SLBLYNkTHY6clkiLJiQaXWVWVfbYnKsm0m2VjgxjFlkYERLEhhrM= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2016 02:15:21.1286 (UTC) X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[217.140.96.140];Helo=[nebula.arm.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB0855 X-MC-Unique: g4_x1C6_RySRWwUyA76ZEA-1 Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When a device is added to a bus, it will trigger the chain notifier hook, such as iommu_bus_notifier. The find_smmu_for_device() can be called here. In some cases, the @device_node can be NULL. For example, when the device is one of the following: alarmtime, serial, rtc or snd_soc. This patch adds a shortcut for the code when the @device_node is NULL. In my juno-r1 board, the boot time can be faster by 0.004014s. Signed-off-by: Huang Shijie --- drivers/iommu/arm-smmu.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c index 59ee4b8..6724a46 100644 --- a/drivers/iommu/arm-smmu.c +++ b/drivers/iommu/arm-smmu.c @@ -506,6 +506,9 @@ static struct arm_smmu_device *find_smmu_for_device(struct device *dev) struct arm_smmu_master *master = NULL; struct device_node *dev_node = dev_get_dev_node(dev); + if (!dev_node) + return NULL; + spin_lock(&arm_smmu_devices_lock); list_for_each_entry(smmu, &arm_smmu_devices, list) { master = find_smmu_master(smmu, dev_node); -- 2.5.0