From patchwork Wed Aug 11 08:06:29 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 12430323 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B0088C432BE for ; Wed, 11 Aug 2021 08:09:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 961D860E52 for ; Wed, 11 Aug 2021 08:09:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236122AbhHKIJn (ORCPT ); Wed, 11 Aug 2021 04:09:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51452 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236029AbhHKIIV (ORCPT ); Wed, 11 Aug 2021 04:08:21 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0F3BAC0613D3 for ; Wed, 11 Aug 2021 01:07:52 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mDjGA-0000yl-5I; Wed, 11 Aug 2021 10:06:46 +0200 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1mDjG4-0000O2-Lw; Wed, 11 Aug 2021 10:06:40 +0200 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1mDjG4-0002vI-Id; Wed, 11 Aug 2021 10:06:40 +0200 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Bjorn Helgaas Cc: Greg Kroah-Hartman , =?utf-8?q?Uwe_Kleine-K?= =?utf-8?q?=C3=B6nig?= , linux-pci@vger.kernel.org, kernel@pengutronix.de, Alexander Duyck , Alexander Shishkin , Andrew Donnellan , Andy Shevchenko , Arnaldo Carvalho de Melo , Arnd Bergmann , Benjamin Herrenschmidt , Bjorn Helgaas , Borislav Petkov , Boris Ostrovsky , "David S. Miller" , Fiona Trahe , Frederic Barrat , Giovanni Cabiddu , Herbert Xu , "H. Peter Anvin" , Ido Schimmel , Ingo Molnar , Jack Xu , Jakub Kicinski , Jesse Brandeburg , Jiri Olsa , Jiri Pirko , Juergen Gross , Konrad Rzeszutek Wilk , Marco Chiappero , Mark Rutland , Mathias Nyman , Michael Buesch , Michael Ellerman , Namhyung Kim , "Oliver O'Halloran" , Paul Mackerras , Peter Zijlstra , =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= , Russell Currey , Salil Mehta , Sathya Prakash , Simon Horman , Sreekanth Reddy , Stefano Stabellini , Suganath Prabu Subramani , Taras Chornyi , Thomas Gleixner , Tomaszx Kowalik , Vadym Kochan , Wojciech Ziemba , Yisen Zhuang , Zhou Wang , linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-scsi@vger.kernel.org, linux-usb@vger.kernel.org, linux-wireless@vger.kernel.org, MPT-FusionLinux.pdl@broadcom.com, netdev@vger.kernel.org, oss-drivers@corigine.com, qat-linux@intel.com, x86@kernel.org, xen-devel@lists.xenproject.org Subject: [PATCH v3 0/8] PCI: Drop duplicated tracking of a pci_dev's bound driver Date: Wed, 11 Aug 2021 10:06:29 +0200 Message-Id: <20210811080637.2596434-1-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-wireless@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Uwe Kleine-König Hello, Today the following is always true for a struct pci_dev *pdev: pdev->driver == pdev->dev.driver ? to_pci_driver(pdev->dev.driver) : NULL This series is about getting rid of struct pci_dev::driver. The first three patches are unmodified compared to v2 (apart from an added Reviewed-by tag) and are just minor cleanups. Patch #4 replaces all usages of pci_dev::driver->name by dev_driver_string(). Patch #5 simplifies struct mpt_pci_driver by dropping an unused parameter from a function callback. The calculation of this parameter made use of struct pci_dev::driver. Patch #6 simplifies adf_enable_aer() and moves one assignment done in that function to the initializer of the respective static data. Patch #7 then modifies all remaining users of struct pci_dev::driver to use to_pci_driver(pdev->dev.driver) instead and finally patch #8 gets rid of the driver member. Note this series is only build tested. Theoretically patches #4 and #7 could be split by subsystem, there are no dependencies, but I'd prefer that all patches go in together via the pci tree to simplify the procedure. If you don't agree please speak up. Best regards Uwe Uwe Kleine-König (8): PCI: Simplify pci_device_remove() PCI: Drop useless check from pci_device_probe() xen/pci: Drop some checks that are always true PCI: replace pci_dev::driver usage that gets the driver name scsi: message: fusion: Remove unused parameter of mpt_pci driver's probe() crypto: qat - simplify adf_enable_aer() PCI: Replace pci_dev::driver usage by pci_dev::dev.driver PCI: Drop duplicated tracking of a pci_dev's bound driver arch/powerpc/include/asm/ppc-pci.h | 7 ++- arch/powerpc/kernel/eeh_driver.c | 10 +-- arch/x86/events/intel/uncore.c | 2 +- arch/x86/kernel/probe_roms.c | 2 +- drivers/bcma/host_pci.c | 7 ++- drivers/crypto/hisilicon/qm.c | 2 +- drivers/crypto/qat/qat_4xxx/adf_drv.c | 7 +-- drivers/crypto/qat/qat_c3xxx/adf_drv.c | 7 +-- drivers/crypto/qat/qat_c62x/adf_drv.c | 7 +-- drivers/crypto/qat/qat_common/adf_aer.c | 10 +-- .../crypto/qat/qat_common/adf_common_drv.h | 2 +- drivers/crypto/qat/qat_dh895xcc/adf_drv.c | 7 +-- drivers/message/fusion/mptbase.c | 7 +-- drivers/message/fusion/mptbase.h | 2 +- drivers/message/fusion/mptctl.c | 4 +- drivers/message/fusion/mptlan.c | 2 +- drivers/misc/cxl/guest.c | 24 ++++--- drivers/misc/cxl/pci.c | 30 +++++---- .../ethernet/hisilicon/hns3/hns3_ethtool.c | 2 +- .../ethernet/marvell/prestera/prestera_pci.c | 2 +- drivers/net/ethernet/mellanox/mlxsw/pci.c | 2 +- .../ethernet/netronome/nfp/nfp_net_ethtool.c | 2 +- drivers/pci/iov.c | 25 +++++--- drivers/pci/pci-driver.c | 45 ++++++------- drivers/pci/pci.c | 4 +- drivers/pci/pcie/err.c | 36 ++++++----- drivers/pci/xen-pcifront.c | 63 +++++++++---------- drivers/ssb/pcihost_wrapper.c | 8 ++- drivers/usb/host/xhci-pci.c | 2 +- include/linux/pci.h | 1 - 30 files changed, 164 insertions(+), 167 deletions(-) base-commit: 2734d6c1b1a089fb593ef6a23d4b70903526fe0c