linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: David Woodhouse <dwmw2@infradead.org>
Cc: linux-pci <linux-pci@vger.kernel.org>,
	linux-arch <linux-arch@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 17/17] arm64: Do not expose PCI mmap through procfs
Date: Fri, 24 Mar 2017 17:16:43 +0100	[thread overview]
Message-ID: <CAK8P3a0+os4sNzmPYvm-MrsdppZEg9VKhQ9ROJf9DumXCHgnhA@mail.gmail.com> (raw)
In-Reply-To: <CAK8P3a3RtSCGfbtpJDF2d30rLagPMY=HnnjYpBe+k1UxKrXOig@mail.gmail.com>

On Fri, Mar 24, 2017 at 5:13 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Wed, Mar 22, 2017 at 2:25 PM, David Woodhouse <dwmw2@infradead.org> wrote:
>> From: David Woodhouse <dwmw@amazon.co.uk>
>>
>> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
>> ---
>>  drivers/pci/proc.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c
>> index 2d9cfa4..a940f4b 100644
>> --- a/drivers/pci/proc.c
>> +++ b/drivers/pci/proc.c
>> @@ -17,6 +17,11 @@
>>
>>  static int proc_initialized;   /* = 0 */
>>
>> +#ifdef __aarch64__
>> +/* ARM64 wants to be special and not expose this through /proc like everyone else */
>> +#undef HAVE_PCI_MMAP
>> +#endif
>
> I'd still prefer this to be a whitelist of the existing architectures using PCI
> MMAP in procfs, there is really no reason for arm64 to be special, the
> one thing we want to control here is whether new architectures (including
> arm64) that have never had either the sysfs or the procfs interface
> should get one or both of them.
>
> As it seems that there are important use cases for the sysfs interface
> and your patch series will just make that work everywhere, I'd argue
> that we should just always provide the sysfs interface now, and use
> HAVE_PCI_MMAP only control the procfs interface.
>
> That way, we turn on the sysfs interface on arc, arm64, frv and tile
> as well as any future architecture with PCI support, but leave
> the procfs support as opt-in.

Something alone these lines, to replace your patch 17/17 and the
one that turns on HAVE_PCI_MMAP for arm64.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
index 25d010d449a3..c517f1b724e0 100644
--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
@@ -980,8 +980,6 @@ void pci_remove_legacy_files(struct pci_bus *b)
 }
 #endif /* HAVE_PCI_LEGACY */

-#ifdef HAVE_PCI_MMAP
-
 int pci_mmap_fits(struct pci_dev *pdev, int resno, struct vm_area_struct *vma,
   enum pci_mmap_api mmap_api)
 {
@@ -1217,10 +1215,6 @@ static int pci_create_resource_files(struct
pci_dev *pdev)
  }
  return 0;
 }
-#else /* !HAVE_PCI_MMAP */
-int __weak pci_create_resource_files(struct pci_dev *dev) { return 0; }
-void __weak pci_remove_resource_files(struct pci_dev *dev) { return; }
-#endif /* HAVE_PCI_MMAP */

 /**
  * pci_write_rom - used to enable access to the PCI ROM display
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index 8dd38e69d6f2..6c2a15d4ebf9 100644
--- a/drivers/pci/pci.h
+++ b/drivers/pci/pci.h
@@ -21,14 +21,12 @@ void pci_create_firmware_label_files(struct pci_dev *pdev);
 void pci_remove_firmware_label_files(struct pci_dev *pdev);
 #endif
 void pci_cleanup_rom(struct pci_dev *dev);
-#ifdef HAVE_PCI_MMAP
 enum pci_mmap_api {
  PCI_MMAP_SYSFS, /* mmap on /sys/bus/pci/devices/<BDF>/resource<N> */
  PCI_MMAP_PROCFS /* mmap on /proc/bus/pci/<BDF> */
 };
 int pci_mmap_fits(struct pci_dev *pdev, int resno, struct vm_area_struct *vmai,
   enum pci_mmap_api mmap_api);
-#endif
 int pci_probe_reset_function(struct pci_dev *dev);

 /**

  reply	other threads:[~2017-03-24 16:16 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-22 13:25 [PATCH 00/17] PCI resource mmap cleanup David Woodhouse
2017-03-22 13:25 ` [PATCH 01/17] pci: Fix pci_mmap_fits() for HAVE_PCI_RESOURCE_TO_USER platforms David Woodhouse
2017-03-22 13:25 ` [PATCH 02/17] pci: Fix another sanity check bug in /proc/pci mmap David Woodhouse
2017-03-22 13:25 ` [PATCH 03/17] pci: Only allow WC mmap on prefetchable resources David Woodhouse
2017-03-24 16:05   ` Arnd Bergmann
2017-03-24 17:04     ` David Woodhouse
2017-03-22 13:25 ` [PATCH 04/17] pci: Add arch_can_pci_mmap_wc() macro David Woodhouse
2017-04-04 21:36   ` Bjorn Helgaas
2017-04-05  7:22     ` David Woodhouse
2017-03-22 13:25 ` [PATCH 05/17] pci: Move multiple declarations of pci_mmap_page_range() to <linux/pci.h> David Woodhouse
2017-03-22 13:25 ` [PATCH 06/17] pci: Add HAVE_PCI_MMAP_IO to architectures which can mmap() I/O space David Woodhouse
2017-03-22 13:25 ` [PATCH 07/17] pci: Use BAR index in sysfs attr->private instead of resource pointer David Woodhouse
2017-03-22 13:25 ` [PATCH 08/17] pci: Add BAR index argument to pci_mmap_page_range() David Woodhouse
2017-03-22 13:25 ` [PATCH 09/17] pci: Add pci_mmap_resource_range() and use it for ARM64 David Woodhouse
2017-03-22 13:25 ` [PATCH 10/17] arm: Use generic pci_mmap_resource_range() David Woodhouse
2017-03-22 13:25 ` [PATCH 11/17] cris: " David Woodhouse
2017-03-22 13:33   ` Jesper Nilsson
2017-03-22 13:25 ` [PATCH 12/17] mips: " David Woodhouse
2017-03-22 13:25 ` [PATCH 13/17] mn10300: " David Woodhouse
2017-03-22 13:25 ` [PATCH 14/17] parisc: " David Woodhouse
2017-03-22 13:25 ` [PATCH 15/17] sh: " David Woodhouse
2017-03-22 13:25 ` [PATCH 16/17] unicore: " David Woodhouse
2017-03-22 13:25 ` [PATCH 17/17] arm64: Do not expose PCI mmap through procfs David Woodhouse
2017-03-22 13:54   ` Sinan Kaya
2017-03-22 14:04     ` David Woodhouse
2017-03-22 14:15       ` Sinan Kaya
2017-03-22 14:18         ` Will Deacon
2017-03-22 15:40           ` Sinan Kaya
2017-03-24 16:13   ` Arnd Bergmann
2017-03-24 16:16     ` Arnd Bergmann [this message]
2017-03-24 16:23       ` David Woodhouse
2017-03-24 16:20     ` David Woodhouse
2017-03-23 14:29 ` [PATCH 18/17] x86: Use generic pci_mmap_resource_range() David Woodhouse
2017-03-24 11:40 ` [PATCH 00/17] PCI resource mmap cleanup David Woodhouse
2017-03-24 16:57   ` Luck, Tony
2017-03-24 16:20 ` Arnd Bergmann
2017-04-04 22:43 ` Bjorn Helgaas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAK8P3a0+os4sNzmPYvm-MrsdppZEg9VKhQ9ROJf9DumXCHgnhA@mail.gmail.com \
    --to=arnd@arndb.de \
    --cc=dwmw2@infradead.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).