Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp3784175imm; Mon, 4 Jun 2018 09:10:20 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJMbCan7UFtUlPr/jTQVSe+yL4oGPxo84iv/HrldALR/VO0NHwFVHmJM5E3vSXm/7jOb4/A X-Received: by 2002:aa7:80c6:: with SMTP id a6-v6mr21784972pfn.120.1528128619952; Mon, 04 Jun 2018 09:10:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528128619; cv=none; d=google.com; s=arc-20160816; b=JMy0VtV4n+gUsn3VDyLKuqOtYZiyPC+OlpZpWPlPFI3xjhAnsMcVIEZtr6kBLQZDjg Hv1niPXpXzwC5gSOqLNWaUEBhrPaQQ7uTOf0rpEldvKyHI4aL+AT0sH4ZC5UiKWqEPGd uJF1rhBrMmytjxlyZyDtVY6Rn1BKi3b+Ux0rKZeQADZ0o65bgdD1N8idHzJaeoJASSCc MzBIGBk0AgXJ+HxDfZP83t7Bf0Xu7sMvOB6durubP1x2XRHNSzGR6cBniYXkcFIiZqaf 7G1Y9Eg6wN+ROPDsFozLoiJrE3ZXoCyDUuHb/zarT+FSuR8iFl0J7WrkBXfg7z82UIXI W8nA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=JeH9GYyRWZuwyfaBKlGeGJkXrJqMz+GIl5uL1SyHEQ0=; b=zoALK7zLbMIL2rFYaa0jqncTLGZZ9v8Bjwerpex/50RTqE+SvBckEuDWiXJM6IeA1i AQtongTLhL8pXkDanbgyq5smkbZv9IDemUhasfBL3oUUb/vsOm3OOhKmUspwyvyOg/iP 0lg9LVgzHs7BCJ3IKdzEu4LIi/bs0NRCWI5zfHqwi7+V9+rTohiYCxjG8xKkJPE2H5zV WfTczDkC/6iGtPGozHLTo4YgOWn1kA1jxtKbKfjbMO4+RUtI65N10/CPNR91SDhCJjEL gYj7hhEKmR8YOhEo2muCb7UA+X+IZjCgBeAlNaJWnH3Cm/7NgvFqb57QMVZhwxumLzBu 96bg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f3-v6si48342307plf.436.2018.06.04.09.10.05; Mon, 04 Jun 2018 09:10:19 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751533AbeFDQJg (ORCPT + 99 others); Mon, 4 Jun 2018 12:09:36 -0400 Received: from mga17.intel.com ([192.55.52.151]:52303 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751312AbeFDQJf (ORCPT ); Mon, 4 Jun 2018 12:09:35 -0400 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Jun 2018 09:09:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,476,1520924400"; d="scan'208";a="45164704" Received: from unknown (HELO localhost.localdomain) ([10.232.112.44]) by fmsmga008.fm.intel.com with ESMTP; 04 Jun 2018 09:09:34 -0700 Date: Mon, 4 Jun 2018 10:12:13 -0600 From: Keith Busch To: Alexandru Gagniuc Cc: bhelgaas@google.com, alex_gagniuc@dellteam.com, austin_bolen@dell.com, shyam_iyer@dell.com, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] PCI: access.c: Piggyback user config access on pci_read/write_*() Message-ID: <20180604161213.GA7712@localhost.localdomain> References: <20180604154803.14185-1-mr.nuke.me@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180604154803.14185-1-mr.nuke.me@gmail.com> User-Agent: Mutt/1.9.1 (2017-09-22) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jun 04, 2018 at 10:48:02AM -0500, Alexandru Gagniuc wrote: > +++ b/drivers/pci/access.c > @@ -223,16 +223,9 @@ int pci_user_read_config_##size \ > (struct pci_dev *dev, int pos, type *val) \ > { \ > int ret = PCIBIOS_SUCCESSFUL; \ > - u32 data = -1; \ > if (PCI_##size##_BAD) \ > return -EINVAL; \ > - raw_spin_lock_irq(&pci_lock); \ > - if (unlikely(dev->block_cfg_access)) \ > - pci_wait_cfg(dev); \ > - ret = dev->bus->ops->read(dev->bus, dev->devfn, \ > - pos, sizeof(type), &data); \ > - raw_spin_unlock_irq(&pci_lock); \ > - *val = (type)data; \ > + ret = pci_read_config_##size(dev, pos, val); \ > return pcibios_err_to_errno(ret); \ > } \ If it wasn't for the block_cfg_access check for user access, this would have been a nice code reuse cleanup.