From: Arnd Bergmann <arnd@arndb.de>
To: Chris Metcalf <cmetcalf@tilera.com>
Cc: linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org,
linux-arch@vger.kernel.org,
Rolf Eike Beer <eike-kernel@sf-tec.de>,
Andrew Morton <akpm@linux-foundation.org>,
"Maxin B. John" <maxin.john@gmail.com>, Tejun Heo <tj@kernel.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
Lucas De Marchi <lucas.demarchi@profusion.mobi>,
Paul Mundt <lethal@linux-sh.org>,
Jesse Barnes <jbarnes@virtuousgeek.org>,
"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH] lib/devres.c: allow specifying NO_IOPORT while using PCI
Date: Thu, 01 Dec 2011 23:47:43 +0100 [thread overview]
Message-ID: <1616727.0BYPKXtoA0@wuerfel> (raw)
In-Reply-To: <201112011815.pB1IFGZe004948@farm-0002.internal.tilera.com>
On Thursday 01 December 2011 12:59:19 Chris Metcalf wrote:
> The tile architecture does not support IOPORT, but it does support
> PCI and IOMEM. We were not specifying NO_IOPORT, though, because it
> was causing a couple of functions (pcim_iomap_regions and pcim_iomap_table)
> that are needed to not get provided. Moving the #ifdef fixes this
> so that those functions and some related ones are now always provided
> if CONFIG_PCI is true.
>
> Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Hmm, I'm sure that Al Viro intentionally did it the way it is, but I'm
not sure exactly why that would be.
Any driver using the functions you now expose for NO_IOPORT is probably
prepared to handle both MMIO and PIO BARs on PCI, which you can consider
broken in the case where a card actually requires PIO.
On tile, it would be just as broken as other drivers that directly use
inb/outb to do the port access, but on platforms that actually have
PIO but are not able to map them (like arm/mach-rpc), you would now
enable people to write silently broken drivers.
However, assuming they check the return value of the *iomap, the
drivers could still easily detect this case at runtime. Also, at
least on tile, you already provide a pci_iomap function, which
has the exact same problem as the devres functions.
One area where your patch might actually break existing code is
architectures that allow the devres functions to be built *and*
have PCI support but don't provide a pci_iomap function, because
they do not support mapping the PIO range into addresses. I'm
not sure if that's actually still the case anywhere after Michael's
recent patches, but it used to be the case on RPC and probably others.
Arnd
next prev parent reply other threads:[~2011-12-01 22:47 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-29 18:54 [PATCH-RFC 0/2] tile: switch to generic pci_iomap Michael S. Tsirkin
2011-11-29 18:54 ` [PATCH-RFC 1/2] tile: don't panic on iomap Michael S. Tsirkin
2011-11-29 21:04 ` Bjorn Helgaas
2011-11-30 7:04 ` Michael S. Tsirkin
2011-11-29 22:05 ` Arnd Bergmann
2011-11-30 7:13 ` Michael S. Tsirkin
2011-11-30 9:09 ` Arnd Bergmann
2011-11-30 11:59 ` Michael S. Tsirkin
2011-11-30 14:04 ` Arnd Bergmann
2011-11-30 14:31 ` Michael S. Tsirkin
2011-11-30 15:49 ` Arnd Bergmann
2011-11-30 15:59 ` Michael S. Tsirkin
2011-11-30 18:32 ` Arnd Bergmann
2011-12-01 17:59 ` [PATCH] lib/devres.c: allow specifying NO_IOPORT while using PCI Chris Metcalf
2011-12-01 18:44 ` Tejun Heo
2011-12-01 18:48 ` Chris Metcalf
2011-12-01 22:47 ` Arnd Bergmann [this message]
2011-12-02 18:48 ` Chris Metcalf
2011-12-05 15:14 ` Arnd Bergmann
2011-12-05 20:08 ` Chris Metcalf
2011-11-30 9:08 ` [PATCH-RFC 1/2 v2] tile: don't panic on iomap Michael S. Tsirkin
2011-11-29 18:54 ` [PATCH-RFC 2/2] tile: switch to GENERIC_PCI_IOMAP Michael S. Tsirkin
2011-11-30 21:19 ` Chris Metcalf
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=1616727.0BYPKXtoA0@wuerfel \
--to=arnd@arndb.de \
--cc=akpm@linux-foundation.org \
--cc=cmetcalf@tilera.com \
--cc=davem@davemloft.net \
--cc=eike-kernel@sf-tec.de \
--cc=jbarnes@virtuousgeek.org \
--cc=lethal@linux-sh.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lucas.demarchi@profusion.mobi \
--cc=maxin.john@gmail.com \
--cc=mst@redhat.com \
--cc=tj@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