From patchwork Mon Jul 13 12:22:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Saheed O. Bolarinwa" X-Patchwork-Id: 11659639 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6D7D314DD for ; Mon, 13 Jul 2020 13:23:01 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 35EFC20773 for ; Mon, 13 Jul 2020 13:23:01 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="kcjnHeLY"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hlFk02nn" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 35EFC20773 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-amlogic-bounces+patchwork-linux-amlogic=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Owner; bh=Gi+0Zc5F0/dM2mSDfB2+21x+cNyXZmBq3sLYxciWFYw=; b=kcjnHeLYuIhfmT/3yDDjDYNyXf 07zNcqdPTlGL3Wbp4b2yMemHrEcncrgja9KjOdLrYxwlWTEIdsOzCtHuMc1YqpTPFkg0oVlfRsT6L FxuT3+wui2GVAD4VxFP4MlT+MA3FogLGc3wr6XatZKn2xIh4PfCQXELfojEaDePJGdrNW2/Elj3g+ MxBjfNPZqJbXlk6O5LotDeFAGqokq3WQigG6FR/C4bnE7EgFXcQKLBW0cONQSGtmxkP3Mi0mSwY4j NnQVQXiB5bnC/DNgKfjZ0y3oJwH8YBubZPSeFCDiJ+gyItrCBP1puF+gDQPhopMhAu+uhBk5TVH3t 8SEaaYcQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1juyPq-0006GP-Al; Mon, 13 Jul 2020 13:22:42 +0000 Received: from mail-ed1-x543.google.com ([2a00:1450:4864:20::543]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1juyPn-0006FL-2I; Mon, 13 Jul 2020 13:22:39 +0000 Received: by mail-ed1-x543.google.com with SMTP id a1so8212198edt.10; Mon, 13 Jul 2020 06:22:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=TEh/JkkBeDq0BmwWDLkY2ALcEwIhER9cNUR1loI6e78=; b=hlFk02nnRr+rQKvpcmIRPBcv9Vppks3wU3BsbHQlS35RNRr0Lm2YUw7/utWjHu70OH fu21BCriHQitKJ9VJJ9HkQBoc0oNiPianJ9DfryJ5s4iB77Gi9+P+wSDFA8dw7sDMdjN CRk+C/cn77UZdk8p4eMVCYK2N1kZ9NOWbvXAMsA8NoetiFgB4PjRem+NJr8k6FdLryN7 KSXqy55pf7Mo7GW41Rrh43kHUodvpJcq7yyqbdwHNICmnMteEU7rrwF/z8u+pZc3nMOJ t5bRIsTEDAnzpyq0Z/t5ptBct6erL48Bl/rPmxQHyXzHf8lqWgUjMDOqwGt/I2ULZZSO jYxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=TEh/JkkBeDq0BmwWDLkY2ALcEwIhER9cNUR1loI6e78=; b=QJlB6EqlAgoZp66GMjBY+RAA1eXFnc1xLjjQR2W9kCmXrGd9li1nf26hzEwl8tm+xg FhSM1vFF6JjMDE/wIWL8XGdStT0THoFrWa56sWX3KpcthBLzUnR2D8uoS2asI+fYzVpI AAfMR5EISaz+8Iy4T+cr8kFLudwOzGE0EThB+qQRuPz3+a9L46DalFXg2keGYjrss0Zm jcTC25lDevCQRJeyFAyc6UEXWN/atCDeYIEEb77XhL3Huj+FB6ONXK3aIOYXhRNV0HWM Oji+SgD9ToSarFXxg6qwvvcqj5knQAIte2GF1B7MeUHHQsq1O8HURncvwyNPE73wyf+8 XAig== X-Gm-Message-State: AOAM531F0YWt8N47iarCpyahIA9QEIryxUCEU1e/wMi4D1tj8kLhlcA1 TWWlEv677ZvzSKt0HovdRIY= X-Google-Smtp-Source: ABdhPJw69dKLZM419xxp02IeffDX2nQ+F52A+jh3cXUOZ7YUfQhM+G+xXauU5Oq4EhNqFD1PfU4cXQ== X-Received: by 2002:a50:fb93:: with SMTP id e19mr83849853edq.106.1594646556147; Mon, 13 Jul 2020 06:22:36 -0700 (PDT) Received: from net.saheed (54007186.dsl.pool.telekom.hu. [84.0.113.134]) by smtp.gmail.com with ESMTPSA id n9sm11806540edr.46.2020.07.13.06.22.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jul 2020 06:22:35 -0700 (PDT) From: "Saheed O. Bolarinwa" To: helgaas@kernel.org Subject: [RFC PATCH 00/35] Move all PCIBIOS* definitions into arch/x86 Date: Mon, 13 Jul 2020 14:22:12 +0200 Message-Id: <20200713122247.10985-1-refactormyself@gmail.com> X-Mailer: git-send-email 2.18.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200713_092239_167761_D9BF485D X-CRM114-Status: GOOD ( 13.21 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2a00:1450:4864:20:0:0:0:543 listed in] [list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider [refactormyself[at]gmail.com] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Rich Felker , "Martin K. Petersen" , linux-sh@vger.kernel.org, linux-pci@vger.kernel.org, linux-nvme@lists.infradead.org, Yicong Yang , Keith Busch , netdev@vger.kernel.org, Paul Mackerras , linux-i2c@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, sparclinux@vger.kernel.org, rfi@lists.rocketboards.org, Toan Le , Greg Ungerer , Marek Vasut , Rob Herring , Stefano Stabellini , Sagi Grimberg , Yoshinori Sato , linux-scsi@vger.kernel.org, Greg Kroah-Hartman , Michael Ellerman , linux-atm-general@lists.sourceforge.net, Russell King , Realtek linux nic maintainers , Christoph Hellwig , Ley Foon Tan , Geert Uytterhoeven , =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= , Chas Williams <3chas3@gmail.com>, Benjamin Herrenschmidt , xen-devel@lists.xenproject.org, Matt Turner , linux-mips@vger.kernel.org, linux-kernel-mentees@lists.linuxfoundation.org, Kevin Hilman , Guenter Roeck , linux-hwmon@vger.kernel.org, Jean Delvare , Andrew Donnellan , Arnd Bergmann , Ray Jui , "James E.J. Bottomley" , Yue Wang , Jens Axboe , Jakub Kicinski , linux-m68k@lists.linux-m68k.org, Lorenzo Pieralisi , Ivan Kokshaysky , Michael Buesch , skhan@linuxfoundation.org, bjorn@helgaas.com, linux-amlogic@lists.infradead.org, Boris Ostrovsky , Guan Xuetao , linux-arm-kernel@lists.infradead.org, Richard Henderson , Juergen Gross , Michal Simek , Thomas Bogendoerfer , Scott Branden , Bjorn Helgaas , Jingoo Han , "Saheed O. Bolarinwa" , Yoshihiro Shimoda , linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Brian King , Philipp Zabel , linux-alpha@vger.kernel.org, Frederic Barrat , Gustavo Pimentel , linuxppc-dev@lists.ozlabs.org, "David S. Miller" , Heiner Kallweit MIME-Version: 1.0 Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+patchwork-linux-amlogic=patchwork.kernel.org@lists.infradead.org This goal of these series is to move the definition of *all* PCIBIOS* from include/linux/pci.h to arch/x86 and limit their use within there. All other tree specific definition will be left for intact. Maybe they can be renamed. PCIBIOS* is an x86 concept as defined by the PCI spec. The returned error codes of PCIBIOS* are positive values and this introduces some complexities which other archs need not incur. PLAN: 1. [PATCH v0 1-36] Replace all PCIBIOS_SUCCESSFUL with 0 2a. Audit all functions returning PCIBIOS_* error values directly or indirectly and prevent possible bug coming in (2b) 2b. Make all functions returning PCIBIOS_* error values call pcibios_err_to_errno(). *This will change their behaviour, for good.* 3. Clone a pcibios_err_to_errno() into arch/x86/pci/pcbios.c as _v2. This handles the positive error codes directly and will not use any PCIBIOS* definitions. So calls to it have no outside dependence. 4. Make all x86 codes that needs to convert to -E* values call the cloned version - pcibios_err_to_errno_v2() 5. Assign PCIBIOS_* errors values directly to generic -E* errors 6. Refactor pcibios_err_to_errno() and mark it deprecated 7. Replace all calls to pcibios_err_to_errno() with the proper -E* value or 0. 8. Remove all PCIBIOS* definitions in include/linux/pci.h and pcibios_err_to_errno() too. 9. Redefine all PCIBIOS* definitions with original values inside arch/x86/pci/pcbios.c 10. Redefine pcibios_err_to_errno() inside arch/x86/pci/pcbios.c 11. Replace pcibios_err_to_errno_v2() calls with pcibios_err_to_errno() 12. Remove pcibios_err_to_errno_v2() Suggested-by: Bjorn Helgaas Suggested-by: Yicong Yang Signed-off-by: "Saheed O. Bolarinwa" Bolarinwa Olayemi Saheed (35): Change PCIBIOS_SUCCESSFUL to 0 Change PCIBIOS_SUCCESSFUL to 0 Change PCIBIOS_SUCCESSFUL to 0 Tidy Success/Failure checks Change PCIBIOS_SUCCESSFUL to 0 Tidy Success/Failure checks Change PCIBIOS_SUCCESSFUL to 0 Tidy Success/Failure checks Change PCIBIOS_SUCCESSFUL to 0 Tidy Success/Failure checks Change PCIBIOS_SUCCESSFUL to 0 Tidy Success/Failure checks Change PCIBIOS_SUCCESSFUL to 0 Change PCIBIOS_SUCCESSFUL to 0 Tidy Success/Failure checks Change PCIBIOS_SUCCESSFUL to 0 Tidy Success/Failure checks Change PCIBIOS_SUCCESSFUL to 0 Change PCIBIOS_SUCCESSFUL to 0 Tidy Success/Failure checks Fix Style ERROR: assignment in if condition Change PCIBIOS_SUCCESSFUL to 0 Change PCIBIOS_SUCCESSFUL to 0 Change PCIBIOS_SUCCESSFUL to 0 Tidy Success/Failure checks Change PCIBIOS_SUCCESSFUL to 0 Tidy Success/Failure checks Change PCIBIOS_SUCCESSFUL to 0 Tidy Success/Failure checks Change PCIBIOS_SUCCESSFUL to 0 Change PCIBIOS_SUCCESSFUL to 0 Change PCIBIOS_SUCCESSFUL to 0 Tidy Success/Failure checks Change PCIBIOS_SUCCESSFUL to 0 Tidy Success/Failure checks arch/alpha/kernel/core_apecs.c | 4 +-- arch/alpha/kernel/core_cia.c | 4 +-- arch/alpha/kernel/core_irongate.c | 4 +-- arch/alpha/kernel/core_lca.c | 4 +-- arch/alpha/kernel/core_marvel.c | 4 +-- arch/alpha/kernel/core_mcpcia.c | 4 +-- arch/alpha/kernel/core_polaris.c | 4 +-- arch/alpha/kernel/core_t2.c | 4 +-- arch/alpha/kernel/core_titan.c | 4 +-- arch/alpha/kernel/core_tsunami.c | 4 +-- arch/alpha/kernel/core_wildfire.c | 4 +-- arch/alpha/kernel/sys_miata.c | 2 +- arch/arm/common/it8152.c | 4 +-- arch/arm/mach-cns3xxx/pcie.c | 2 +- arch/arm/mach-footbridge/dc21285.c | 4 +-- arch/arm/mach-iop32x/pci.c | 6 ++-- arch/arm/mach-ixp4xx/common-pci.c | 8 ++--- arch/arm/mach-orion5x/pci.c | 4 +-- arch/arm/plat-orion/pcie.c | 8 ++--- arch/m68k/coldfire/pci.c | 8 ++--- arch/microblaze/pci/indirect_pci.c | 4 +-- arch/mips/pci/fixup-ath79.c | 2 +- arch/mips/pci/ops-bcm63xx.c | 14 ++++---- arch/mips/pci/ops-bonito64.c | 4 +-- arch/mips/pci/ops-gt64xxx_pci0.c | 4 +-- arch/mips/pci/ops-lantiq.c | 4 +-- arch/mips/pci/ops-loongson2.c | 4 +-- arch/mips/pci/ops-mace.c | 4 +-- arch/mips/pci/ops-msc.c | 4 +-- arch/mips/pci/ops-rc32434.c | 6 ++-- arch/mips/pci/ops-sni.c | 4 +-- arch/mips/pci/ops-tx3927.c | 2 +- arch/mips/pci/ops-tx4927.c | 2 +- arch/mips/pci/ops-vr41xx.c | 4 +-- arch/mips/pci/pci-alchemy.c | 6 ++-- arch/mips/pci/pci-ar2315.c | 5 ++- arch/mips/pci/pci-ar71xx.c | 4 +-- arch/mips/pci/pci-ar724x.c | 6 ++-- arch/mips/pci/pci-bcm1480.c | 4 +-- arch/mips/pci/pci-bcm1480ht.c | 4 +-- arch/mips/pci/pci-mt7620.c | 4 +-- arch/mips/pci/pci-octeon.c | 12 +++---- arch/mips/pci/pci-rt2880.c | 4 +-- arch/mips/pci/pci-rt3883.c | 4 +-- arch/mips/pci/pci-sb1250.c | 4 +-- arch/mips/pci/pci-virtio-guest.c | 4 +-- arch/mips/pci/pci-xlp.c | 4 +-- arch/mips/pci/pci-xlr.c | 4 +-- arch/mips/pci/pci-xtalk-bridge.c | 14 ++++---- arch/mips/pci/pcie-octeon.c | 4 +-- arch/mips/txx9/generic/pci.c | 5 ++- arch/powerpc/kernel/rtas_pci.c | 4 +-- arch/powerpc/platforms/4xx/pci.c | 4 +-- arch/powerpc/platforms/52xx/efika.c | 4 +-- arch/powerpc/platforms/52xx/mpc52xx_pci.c | 4 +-- arch/powerpc/platforms/82xx/pq2.c | 2 +- arch/powerpc/platforms/85xx/mpc85xx_cds.c | 2 +- arch/powerpc/platforms/85xx/mpc85xx_ds.c | 2 +- arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | 2 +- arch/powerpc/platforms/chrp/pci.c | 8 ++--- arch/powerpc/platforms/embedded6xx/holly.c | 2 +- .../platforms/embedded6xx/mpc7448_hpc2.c | 2 +- arch/powerpc/platforms/fsl_uli1575.c | 2 +- arch/powerpc/platforms/maple/pci.c | 18 +++++----- arch/powerpc/platforms/pasemi/pci.c | 6 ++-- arch/powerpc/platforms/powermac/pci.c | 8 ++--- arch/powerpc/platforms/powernv/eeh-powernv.c | 4 +-- arch/powerpc/platforms/powernv/pci.c | 4 +-- arch/powerpc/platforms/pseries/eeh_pseries.c | 4 +-- arch/powerpc/sysdev/fsl_pci.c | 2 +- arch/powerpc/sysdev/indirect_pci.c | 4 +-- arch/powerpc/sysdev/tsi108_pci.c | 4 +-- arch/sh/drivers/pci/common.c | 3 +- arch/sh/drivers/pci/ops-dreamcast.c | 4 +-- arch/sh/drivers/pci/ops-sh4.c | 4 +-- arch/sh/drivers/pci/ops-sh7786.c | 8 ++--- arch/sh/drivers/pci/pci.c | 2 +- arch/sparc/kernel/pci_common.c | 28 +++++++-------- arch/unicore32/kernel/pci.c | 4 +-- drivers/atm/iphase.c | 20 ++++++----- drivers/atm/lanai.c | 8 ++--- drivers/bcma/driver_pci_host.c | 4 +-- drivers/hwmon/sis5595.c | 13 +++---- drivers/hwmon/via686a.c | 13 +++---- drivers/hwmon/vt8231.c | 13 +++---- drivers/i2c/busses/i2c-ali15x3.c | 5 ++- drivers/i2c/busses/i2c-nforce2.c | 3 +- drivers/i2c/busses/i2c-sis5595.c | 15 +++----- drivers/misc/cxl/vphb.c | 4 +-- drivers/net/ethernet/realtek/r8169_main.c | 2 +- drivers/nvme/host/pci.c | 2 +- drivers/pci/access.c | 14 ++++---- drivers/pci/controller/dwc/pci-meson.c | 4 +-- .../pci/controller/dwc/pcie-designware-host.c | 2 +- drivers/pci/controller/dwc/pcie-designware.c | 4 +-- drivers/pci/controller/dwc/pcie-hisi.c | 4 +-- drivers/pci/controller/dwc/pcie-tegra194.c | 4 +-- .../pci/controller/mobiveil/pcie-mobiveil.c | 4 +-- drivers/pci/controller/pci-aardvark.c | 4 +-- drivers/pci/controller/pci-ftpci100.c | 4 +-- drivers/pci/controller/pci-hyperv.c | 8 ++--- drivers/pci/controller/pci-mvebu.c | 4 +-- drivers/pci/controller/pci-thunder-ecam.c | 36 +++++++++---------- drivers/pci/controller/pci-thunder-pem.c | 4 +-- drivers/pci/controller/pci-xgene.c | 5 ++- drivers/pci/controller/pcie-altera.c | 16 ++++----- drivers/pci/controller/pcie-iproc.c | 10 +++--- drivers/pci/controller/pcie-mediatek.c | 4 +-- drivers/pci/controller/pcie-rcar-host.c | 8 ++--- drivers/pci/controller/pcie-rockchip-host.c | 10 +++--- drivers/pci/pci-bridge-emul.c | 14 ++++---- drivers/pci/pci.c | 8 ++--- drivers/pci/pcie/bw_notification.c | 4 +-- drivers/pci/probe.c | 4 +-- drivers/pci/quirks.c | 4 +-- drivers/pci/syscall.c | 8 ++--- drivers/pci/xen-pcifront.c | 2 +- drivers/scsi/ipr.c | 16 ++++----- drivers/scsi/pmcraid.c | 6 ++-- drivers/ssb/driver_gige.c | 4 +-- drivers/ssb/driver_pcicore.c | 4 +-- drivers/xen/xen-pciback/conf_space.c | 2 +- 122 files changed, 347 insertions(+), 369 deletions(-)