From patchwork Thu Mar 23 17:36:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13185945 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A62FBC761AF for ; Thu, 23 Mar 2023 17:36:06 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.514003.795888 (Exim 4.92) (envelope-from ) id 1pfOr2-0001Og-66; Thu, 23 Mar 2023 17:36:00 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 514003.795888; Thu, 23 Mar 2023 17:36:00 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pfOr2-0001OP-2z; Thu, 23 Mar 2023 17:36:00 +0000 Received: by outflank-mailman (input) for mailman id 514003; Thu, 23 Mar 2023 17:35:59 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pfOr0-0000iP-Rr for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 17:35:58 +0000 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 2968e8cc-c9a1-11ed-b464-930f4c7d94ae; Thu, 23 Mar 2023 18:35:56 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Mar 2023 10:35:35 -0700 Received: from black.fi.intel.com ([10.237.72.28]) by orsmga002.jf.intel.com with ESMTP; 23 Mar 2023 10:35:25 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id A30B5176; Thu, 23 Mar 2023 19:36:11 +0200 (EET) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 2968e8cc-c9a1-11ed-b464-930f4c7d94ae DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1679592956; x=1711128956; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=40PiIYrpY37wYxSvYhyAFvVxdYaZvy3f8Dv2ifvyB0g=; b=TzZGocHurYcgfVCxo+ekgnql7MhPnW0QZzbYf9GbrVoXO+VMzZdWCu3t saw4vHxijyjZbt4uagLkFND1994Dmx4kRex4xpeHDk5yOHfHusgWPiJZ0 Z2C1gYXhJypk71G13CYZPwrepYiXBtLa08IHbSxlM+lA48gCYT/4u5iS3 NihbFUfGBtj5eFokJNxCiV3G4InH0tLu7hNMx595kmquQiucTmhyxt5Dv 4XQuhRosfRYypiDdsdP55STQwQkfltCRWyeMq8JN+LF3NlBehcgGbGXno UObeLXNonwR9LLs7UkApL3n5kCEoU2ZHxvseSR7XIuknSekC4RX63MqSJ A==; X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="367307984" X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; d="scan'208";a="367307984" X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="682380740" X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; d="scan'208";a="682380740" From: Andy Shevchenko To: =?utf-8?q?Micka=C3=ABl_Sala=C3=BCn?= , Andy Shevchenko , Mika Westerberg , =?utf-8?q?Krzysztof_Wilc?= =?utf-8?q?zy=C5=84ski?= , Michael Ellerman , Randy Dunlap , Arnd Bergmann , Niklas Schnelle , Bjorn Helgaas , "Rafael J. Wysocki" , =?utf-8?q?Pali_Roh=C3=A1r?= , "Maciej W. Rozycki" , Juergen Gross , Dominik Brodowski , linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-pci@vger.kernel.org, xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org Cc: Miguel Ojeda , Richard Henderson , Ivan Kokshaysky , Matt Turner , Russell King , Andrew Lunn , Sebastian Hesselbarth , Gregory Clement , Thomas Bogendoerfer , Nicholas Piggin , Christophe Leroy , Anatolij Gustschin , Yoshinori Sato , Rich Felker , John Paul Adrian Glaubitz , "David S. Miller" , Bjorn Helgaas , Stefano Stabellini , Oleksandr Tyshchenko Subject: [PATCH v7 0/6] Add pci_dev_for_each_resource() helper and update users Date: Thu, 23 Mar 2023 19:36:04 +0200 Message-Id: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b MIME-Version: 1.0 Provide two new helper macros to iterate over PCI device resources and convert users. Looking at it, refactor existing pci_bus_for_each_resource() and convert users accordingly. Changelog v7: - made both macros to share same name (Bjorn) - split out the pci_resource_n() conversion (Bjorn) Changelog v6: - dropped unused variable in PPC code (LKP) Changelog v5: - renamed loop variable to minimize the clash (Keith) - addressed smatch warning (Dan) - addressed 0-day bot findings (LKP) Changelog v4: - rebased on top of v6.3-rc1 - added tag (Krzysztof) Changelog v3: - rebased on top of v2 by Mika, see above - added tag to pcmcia patch (Dominik) Changelog v2: - refactor to have two macros - refactor existing pci_bus_for_each_resource() in the same way and convert users Andy Shevchenko (5): kernel.h: Split out COUNT_ARGS() and CONCATENATE() PCI: Allow pci_bus_for_each_resource() to take less arguments EISA: Convert to use less arguments in pci_bus_for_each_resource() pcmcia: Convert to use less arguments in pci_bus_for_each_resource() PCI: Make use of pci_resource_n() Mika Westerberg (1): PCI: Introduce pci_dev_for_each_resource() .clang-format | 1 + arch/alpha/kernel/pci.c | 5 +-- arch/arm/kernel/bios32.c | 16 ++++---- arch/arm/mach-dove/pcie.c | 10 ++--- arch/arm/mach-mv78xx0/pcie.c | 10 ++--- arch/arm/mach-orion5x/pci.c | 10 ++--- arch/mips/pci/ops-bcm63xx.c | 8 ++-- arch/mips/pci/pci-legacy.c | 3 +- arch/powerpc/kernel/pci-common.c | 21 +++++----- arch/powerpc/platforms/4xx/pci.c | 8 ++-- arch/powerpc/platforms/52xx/mpc52xx_pci.c | 5 +-- arch/powerpc/platforms/pseries/pci.c | 16 ++++---- arch/sh/drivers/pci/pcie-sh7786.c | 10 ++--- arch/sparc/kernel/leon_pci.c | 5 +-- arch/sparc/kernel/pci.c | 10 ++--- arch/sparc/kernel/pcic.c | 5 +-- drivers/eisa/pci_eisa.c | 4 +- drivers/pci/bus.c | 7 ++-- drivers/pci/hotplug/shpchp_sysfs.c | 8 ++-- drivers/pci/pci.c | 3 +- drivers/pci/probe.c | 2 +- drivers/pci/remove.c | 5 +-- drivers/pci/setup-bus.c | 37 +++++++----------- drivers/pci/setup-res.c | 4 +- drivers/pci/vgaarb.c | 17 +++----- drivers/pci/xen-pcifront.c | 4 +- drivers/pcmcia/rsrc_nonstatic.c | 9 ++--- drivers/pcmcia/yenta_socket.c | 3 +- drivers/pnp/quirks.c | 29 +++++--------- include/linux/args.h | 13 +++++++ include/linux/kernel.h | 8 +--- include/linux/pci.h | 47 +++++++++++++++++------ 32 files changed, 165 insertions(+), 178 deletions(-) create mode 100644 include/linux/args.h