Message ID | 20230208111330.439504-16-gregkh@linuxfoundation.org |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp3393377wrn; Wed, 8 Feb 2023 03:15:40 -0800 (PST) X-Google-Smtp-Source: AK7set9G9gE0Q6lfxnJfpuAWsluGwjSqcwkbbGeSERjIbKYQlKrkZXC08bpLMcK0i1xnrQHgd7Qe X-Received: by 2002:a17:906:51d7:b0:887:dbe1:25ac with SMTP id v23-20020a17090651d700b00887dbe125acmr6148778ejk.0.1675854940682; Wed, 08 Feb 2023 03:15:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675854940; cv=none; d=google.com; s=arc-20160816; b=udMxAK3Pvsg4jg9Y4hBRB4ZocNnPmIqxN4r4lZ6RTvbAHlzMliBidHY7yHcv6apdAU BkqDpCsBdEZXGipjBVP0w/7tL4tCZuYoeMg8vzrYfUZpj/OAhW+h5FHzwQBTz42gpgci CTB/q7jsHLJEqq+OTilTTDHAEZILTQD0btifek2Gw5i5ptuCPhS+IbHCbbh2GhqOHgau Lv4ia0iqSpApX4o//Fk4wQnM4BE5wjzpibK7F7mucqLKLHhBZq8XcaOWqmhdXdfVHNqm 0fGBi3+CvvIMyTNnx3VRtDhvF3kn+HX2MrrdfdzSE1nTf1dkPhr6TQZTEd1NnuRBCBPa aMKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=CD9BDMRf7obbUnAdr1T9PQZw5HjLuIhdOOS5mBB3dAk=; b=MfASwZfTiiRmKqzsCMWyC6UTcd1egXEbS2XMPb2hVzT2500lNSPIpFFMmLnCfjPos9 Lf7K82pNoSDeql7ufXFAHF7VGKq5a4Absm91O6kioDB3+Vqs00m69ATntP6fHaAyA6Og ScZTj7NsQzj2VXo0EDpG1s0RYiWfWxkjcnFaNF1ZKaQlxgWQdw0zNcu1FVtnsqvHQ74Z s6Gupc7cuFu2gJdN8PU9KXR/QjW3cC63YB9gBpunsrDqAumR1njbqU6Z8oPgI8uD1cwG OC2ZnvKwjGh/r3KDUWhEr7pGUy1fRpN4jzaINRqRJMz69tuscQxqztyL3AXDt0joER+J aSIA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="IK3TH3L/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id fg3-20020a1709069c4300b008890e939a9dsi17049049ejc.143.2023.02.08.03.15.15; Wed, 08 Feb 2023 03:15:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="IK3TH3L/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229517AbjBHLOl (ORCPT <rfc822;ivan.orlov0322@gmail.com> + 99 others); Wed, 8 Feb 2023 06:14:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42050 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230196AbjBHLOG (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Wed, 8 Feb 2023 06:14:06 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 741E2241C2 for <linux-kernel@vger.kernel.org>; Wed, 8 Feb 2023 03:14:05 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 27EE7B81D46 for <linux-kernel@vger.kernel.org>; Wed, 8 Feb 2023 11:14:04 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7346EC433EF; Wed, 8 Feb 2023 11:14:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1675854842; bh=1mImGWOl1u7F0otEn6f4kIHAWLUXjPlgHYU4EGCoXk4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IK3TH3L/y3D6Bypj4TmyeSsp8/1KrmEHy0kKEtTBKkTgWIxoNUBpEtk7TsJrYGhP0 nQCmLmrBDHFWBUBDgav6gYDapZ+cCRtL2rJuiuozRd/6J83Njax7DAF/zk3dwDm7Cp YNlpAn0X0946xSruNtVVWOVE5e/fX8asQHVrS70s= From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, "Rafael J. Wysocki" <rafael@kernel.org> Subject: [PATCH 15/21] driver core: bus: clean up driver_find() Date: Wed, 8 Feb 2023 12:13:24 +0100 Message-Id: <20230208111330.439504-16-gregkh@linuxfoundation.org> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230208111330.439504-1-gregkh@linuxfoundation.org> References: <20230208111330.439504-1-gregkh@linuxfoundation.org> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1264; i=gregkh@linuxfoundation.org; h=from:subject; bh=1mImGWOl1u7F0otEn6f4kIHAWLUXjPlgHYU4EGCoXk4=; b=owGbwMvMwCRo6H6F97bub03G02pJDMmPm28I/ymI6ltkJLEx7u3c+92Bj1sDNNXEA9Q9tlS7NKiF H97TEcvCIMjEICumyPJlG8/R/RWHFL0MbU/DzGFlAhnCwMUpABOpeMuw4ESlRujkNddVvqWt03ny8J vP5vCiLwwLdtQftP1w+PzsGdy+bb+Np259xfYnAQA= X-Developer-Key: i=gregkh@linuxfoundation.org; a=openpgp; fpr=F4B60CC5BF78C2214A313DCB3147D40DDB2DFB29 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757261270257311520?= X-GMAIL-MSGID: =?utf-8?q?1757261270257311520?= |
Series |
driver core: bus: remove private "backpointer" from struct bus_type
|
|
Commit Message
Greg KH
Feb. 8, 2023, 11:13 a.m. UTC
Convert the driver_find() function to use bus_to_subsys() and not use
the back-pointer to the private structure.
Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/base/bus.c | 23 +++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/drivers/base/bus.c b/drivers/base/bus.c index 727de4c36d59..951d63c8e885 100644 --- a/drivers/base/bus.c +++ b/drivers/base/bus.c @@ -1302,16 +1302,23 @@ EXPORT_SYMBOL_GPL(subsys_virtual_register); */ struct device_driver *driver_find(const char *name, struct bus_type *bus) { - struct kobject *k = kset_find_obj(bus->p->drivers_kset, name); + struct subsys_private *sp = bus_to_subsys(bus); + struct kobject *k; struct driver_private *priv; - if (k) { - /* Drop reference added by kset_find_obj() */ - kobject_put(k); - priv = to_driver(k); - return priv->driver; - } - return NULL; + if (!sp) + return NULL; + + k = kset_find_obj(sp->drivers_kset, name); + subsys_put(sp); + if (!k) + return NULL; + + priv = to_driver(k); + + /* Drop reference added by kset_find_obj() */ + kobject_put(k); + return priv->driver; } EXPORT_SYMBOL_GPL(driver_find);