Received: by 2002:a5d:925a:0:0:0:0:0 with SMTP id e26csp487141iol; Thu, 9 Jun 2022 07:44:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyMuBWZz3BEZ8Mia6eHKqnLCSp40XJPzmR4BgBxJVNt8BhCqQPIRdfaeDHlcENV7jNWqFU4 X-Received: by 2002:a17:906:728f:b0:711:f680:3c83 with SMTP id b15-20020a170906728f00b00711f6803c83mr7238736ejl.122.1654785886220; Thu, 09 Jun 2022 07:44:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654785886; cv=none; d=google.com; s=arc-20160816; b=BALUrjeu37gQLUyV1fBz7/FQP9gTGyl8ySpTZNrjXfdWcI5a5ph6TbiE0Lc/KoTn3G mT/OQco0rPXua/By8C6HfC/fN3qPBp/Hb7ZHdlTDFnBAANEaQN0uEYxEcJrIEl3iScYA qA4RUMLR64c6AcOGtmBSNaiYxYC5MwwjBUyjPqhVPh9FDz/vjy9mVJA+/P9iyaM/tkJH Kn5nisgc6r3s8h3rVqxQhvJmY/koyw2TuvHcTMhTXWybKZk+Ld4d8uxdTQqINbYqbT6A QEEOMqnTmR1iiuuFHlIEH447dgYC2dNqywN/1MsjH00NUm89riHom1F3MOCX4bqbCG2x XLCg== 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; bh=xryNvHqA+ktMJw+ao/jG08l/QpP1fCVxhrvuSqu3aCQ=; b=RHlz7YGCPSNgM01KakfQFQvSv3N6RvWZ3v3rNx8lxxZJUrpwyx4+R6g/1XF3ThHsK3 0fr5u0tratlf5jfzTsZcPwcf3GLHT2u9fGWeAY/RbvRIcWLvE8N5ysexZ/HZYtJn0pc/ icQYFahfEA7uJwp/Jx3P4z7o9Hz/HjX9UGmukPs00+cRFF47ys9xHHlgbAfX1iHHVTkx UwErZSic3lly3l0nx7jUD/BDiLLbDzhY6U7EMGWdP+tznPerNNB3dGYR9zh86DVSQH1M DbaVd9KkyKEi+bhwWX1nie4eO/j3qIZBfp5PSfJG59oYHNlLzQsXPvQLpfO1DjcRiBFa syGg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id qa6-20020a170907868600b00711dd041b72si9290024ejc.991.2022.06.09.07.44.17; Thu, 09 Jun 2022 07:44:46 -0700 (PDT) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230018AbiFIOVs (ORCPT + 99 others); Thu, 9 Jun 2022 10:21:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47504 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245574AbiFIOVB (ORCPT ); Thu, 9 Jun 2022 10:21:01 -0400 Received: from cloudserver094114.home.pl (cloudserver094114.home.pl [79.96.170.134]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A16822DF125; Thu, 9 Jun 2022 07:20:57 -0700 (PDT) Received: from localhost (127.0.0.1) (HELO v370.home.net.pl) by /usr/run/smtp (/usr/run/postfix/private/idea_relay_lmtp) via UNIX with SMTP (IdeaSmtpServer 5.0.0) id 09e5499b01110100; Thu, 9 Jun 2022 16:20:56 +0200 Received: from kreacher.localnet (unknown [213.134.186.232]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by v370.home.net.pl (Postfix) with ESMTPSA id E495866C7CA; Thu, 9 Jun 2022 16:20:54 +0200 (CEST) From: "Rafael J. Wysocki" To: Linux ACPI Cc: LKML , Linux PM , Andy Shevchenko , Mika Westerberg , Hans de Goede , Sakari Ailus , Andreas Noever , Michael Jamet , Yehezkel Bernat , linux-usb@vger.kernel.org Subject: [PATCH v1 04/16] thunderbolt: ACPI: Use acpi_find_child_by_adr() Date: Thu, 09 Jun 2022 15:54:40 +0200 Message-ID: <7414189.EvYhyI6sBW@kreacher> In-Reply-To: <1843211.tdWV9SEqCh@kreacher> References: <1843211.tdWV9SEqCh@kreacher> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="UTF-8" X-CLIENT-IP: 213.134.186.232 X-CLIENT-HOSTNAME: 213.134.186.232 X-VADE-SPAMSTATE: clean X-VADE-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvfedruddtledgjeduucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecujffqoffgrffnpdggtffipffknecuuegrihhlohhuthemucduhedtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvfevufffkfgjfhgggfgtsehtufertddttdejnecuhfhrohhmpedftfgrfhgrvghlucflrdcuhgihshhotghkihdfuceorhhjfiesrhhjfiihshhotghkihdrnhgvtheqnecuggftrfgrthhtvghrnhepvdffueeitdfgvddtudegueejtdffteetgeefkeffvdeftddttdeuhfegfedvjefhnecukfhppedvudefrddufeegrddukeeirddvfedvnecuvehluhhsthgvrhfuihiivgepudenucfrrghrrghmpehinhgvthepvddufedrudefgedrudekiedrvdefvddphhgvlhhopehkrhgvrggthhgvrhdrlhhotggrlhhnvghtpdhmrghilhhfrhhomhepfdftrghfrggvlhculfdrucghhihsohgtkhhifdcuoehrjhifsehrjhifhihsohgtkhhirdhnvghtqedpnhgspghrtghpthhtohepuddupdhrtghpthhtoheplhhinhhugidqrggtphhisehvghgvrhdrkhgvrhhnvghlrdhorhhgpdhrtghpthhtoheplhhinhhugidqkhgvrhhnvghlsehvghgvrhdrkhgvrhhnvghlrdhorhhgpdhrtghpthhtoheplhhinhhugidqphhmsehvghgvrhdrkhgvrhhnvghlrdhorhhgpdhrtghpthhtoheprghnughrihihrdhshhgvvhgthhgvnhhkoheslhhinhhugidr ihhnthgvlhdrtghomhdprhgtphhtthhopehmihhkrgdrfigvshhtvghrsggvrhhgsehlihhnuhigrdhinhhtvghlrdgtohhmpdhrtghpthhtohephhguvghgohgvuggvsehrvgguhhgrthdrtghomhdprhgtphhtthhopehsrghkrghrihdrrghilhhusheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopegrnhgurhgvrghsrdhnohgvvhgvrhesghhmrghilhdrtghomhdprhgtphhtthhopehmihgthhgrvghlrdhjrghmvghtsehinhhtvghlrdgtohhmpdhrtghpthhtohepjggvhhgviihkvghlufhhueesghhmrghilhdrtghomhdprhgtphhtthhopehlihhnuhigqdhushgssehvghgvrhdrkhgvrhhnvghlrdhorhhg X-DCC--Metrics: v370.home.net.pl 1024; Body=11 Fuz1=11 Fuz2=11 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE 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: X-Mailing-List: linux-kernel@vger.kernel.org From: Rafael J. Wysocki Instead of walking the list of children of an ACPI device directly in order to find the child matching a given bus address, use acpi_find_child_by_adr() for this purpose. Apart from simplifying the code, this will help to eliminate the children list head from struct acpi_device as it is redundant and it is used in questionable ways in some places (in particular, locking is needed for walking the list pointed to it safely, but it is often missing). Signed-off-by: Rafael J. Wysocki --- drivers/thunderbolt/acpi.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) Index: linux-pm/drivers/thunderbolt/acpi.c =================================================================== --- linux-pm.orig/drivers/thunderbolt/acpi.c +++ linux-pm/drivers/thunderbolt/acpi.c @@ -304,8 +304,6 @@ static bool tb_acpi_bus_match(struct dev static struct acpi_device *tb_acpi_find_port(struct acpi_device *adev, const struct tb_port *port) { - struct acpi_device *port_adev; - if (!adev) return NULL; @@ -313,12 +311,7 @@ static struct acpi_device *tb_acpi_find_ * Device routers exists under the downstream facing USB4 port * of the parent router. Their _ADR is always 0. */ - list_for_each_entry(port_adev, &adev->children, node) { - if (acpi_device_adr(port_adev) == port->port) - return port_adev; - } - - return NULL; + return acpi_find_child_by_adr(adev, port->port); } static struct acpi_device *tb_acpi_switch_find_companion(struct tb_switch *sw)