From: Arnd Bergmann <arnd@arndb.de>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Kevin Cernekee <cernekee@gmail.com>,
Ralf Baechle <ralf@linux-mips.org>,
Paul Mundt <lethal@linux-sh.org>,
Jesse Barnes <jbarnes@virtuousgeek.org>,
Myron Stowe <myron.stowe@redhat.com>,
Paul Gortmaker <paul.gortmaker@windriver.com>,
Lucas De Marchi <lucas.demarchi@profusion.mobi>,
Dmitry Kasatkin <dmitry.kasatkin@intel.com>,
James Morris <jmorris@namei.org>,
"John W. Linville" <linville@tuxdriver.com>,
Michael Witten <mfwitten@gmail.com>,
linux-mips@linux-mips.org, linux-kernel@vger.kernel.org,
linux-sh@vger.kernel.org, linux-arch@vger.kernel.org
Subject: Re: [PATCH 1/3] lib: add NO_GENERIC_PCI_IOPORT_MAP
Date: Mon, 30 Jan 2012 15:51:46 +0000 [thread overview]
Message-ID: <201201301551.46907.arnd@arndb.de> (raw)
In-Reply-To: <d78d91d0166651700cf662a50c87d84da4bdab88.1327877053.git.mst@redhat.com>
On Monday 30 January 2012, Michael S. Tsirkin wrote:
> --- a/include/asm-generic/pci_iomap.h
> +++ b/include/asm-generic/pci_iomap.h
> @@ -15,6 +15,11 @@ struct pci_dev;
> #ifdef CONFIG_PCI
> /* Create a virtual mapping cookie for a PCI BAR (memory or IO) */
> extern void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max);
> +/* Create a virtual mapping cookie for a port on a given PCI device.
> + * Do not call this directly, it exists to make it easier for architectures
> + * to override. */
> +extern void __iomem *__pci_ioport_map(struct pci_dev *dev, unsigned long port,
> + unsigned int nr);
> #else
> static inline void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max)
> {
> index 4b0fdc2..1dfda29 100644
> --- a/lib/pci_iomap.c
> +++ b/lib/pci_iomap.c
> @@ -9,6 +9,16 @@
> #include <linux/export.h>
>
> #ifdef CONFIG_PCI
> +#ifndef CONFIG_NO_GENERIC_PCI_IOPORT_MAP
> +/* Architectures can override ioport mapping while
> + * still using the rest of the generic infrastructure. */
> +void __iomem *__pci_ioport_map(struct pci_dev *dev,
> + unsigned long port,
> + unsigned int nr)
> +{
> + return ioport_map(port, nr);
> +}
> +#endif
> /**
> * pci_iomap - create a virtual mapping cookie for a PCI BAR
> * @dev: PCI device that owns the BAR
This looks correct, but it would be nicer to express this with an inline
function and keeping the new #ifdef to the header file, like
+/*
+ * Create a virtual mapping cookie for a port on a given PCI device.
+ * Do not call this directly, it exists to make it easier for architectures
+ * to override.
+ */
+#ifdef CONFIG_NO_GENERIC_PCI_IOPORT_MAP
+extern void __iomem *__pci_ioport_map(struct pci_dev *dev, unsigned long port,
+ unsigned int nr);
+#else
+static inline void __iomem *__pci_ioport_map(struct pci_dev *dev,
+ unsigned long port, unsigned int nr)
+{
+ return ioport_map(port, nr);
+}
+#endif
Arnd
next prev parent reply other threads:[~2012-01-30 15:51 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-30 12:18 [PATCH 0/3] arch: fix ioport mapping on mips,sh Michael S. Tsirkin
2012-01-30 12:18 ` Michael S. Tsirkin
2012-01-30 12:18 ` [PATCH 1/3] lib: add NO_GENERIC_PCI_IOPORT_MAP Michael S. Tsirkin
2012-01-30 12:18 ` Michael S. Tsirkin
2012-01-30 14:19 ` Shane McDonald
2012-01-30 14:19 ` Shane McDonald
2012-01-30 14:25 ` Michael S. Tsirkin
2012-01-30 14:25 ` Michael S. Tsirkin
2012-01-30 15:51 ` Arnd Bergmann [this message]
2012-01-30 16:18 ` Michael S. Tsirkin
2012-01-30 16:18 ` Michael S. Tsirkin
2012-01-30 20:04 ` Arnd Bergmann
2012-01-31 0:22 ` Michael S. Tsirkin
2012-01-31 0:22 ` Michael S. Tsirkin
2012-01-31 15:59 ` Arnd Bergmann
2012-01-31 21:18 ` Michael S. Tsirkin
2012-01-31 21:18 ` Michael S. Tsirkin
2012-01-30 12:18 ` [PATCH 2/3] mips: use the the PCI controller's io_map_base Michael S. Tsirkin
2012-01-30 12:18 ` Michael S. Tsirkin
2012-01-30 16:52 ` Sergei Shtylyov
2012-01-30 17:49 ` Sergei Shtylyov
2012-01-30 12:19 ` [PATCH 3/3] sh: use the the PCI channels's io_map_base Michael S. Tsirkin
2012-01-30 12:19 ` Michael S. Tsirkin
2012-01-30 16:54 ` Sergei Shtylyov
2012-01-30 17:50 ` Sergei Shtylyov
2012-01-30 16:09 ` [PATCH 0/3] arch: fix ioport mapping on mips,sh Arnd Bergmann
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=201201301551.46907.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=cernekee@gmail.com \
--cc=dmitry.kasatkin@intel.com \
--cc=jbarnes@virtuousgeek.org \
--cc=jmorris@namei.org \
--cc=lethal@linux-sh.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=linux-sh@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=lucas.demarchi@profusion.mobi \
--cc=mfwitten@gmail.com \
--cc=mst@redhat.com \
--cc=myron.stowe@redhat.com \
--cc=paul.gortmaker@windriver.com \
--cc=ralf@linux-mips.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.