All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Arnd Bergmann <arnd@arndb.de>
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: Tue, 31 Jan 2012 23:18:54 +0200	[thread overview]
Message-ID: <20120131211853.GC6843@redhat.com> (raw)
In-Reply-To: <201201302004.33083.arnd@arndb.de>

On Mon, Jan 30, 2012 at 08:04:32PM +0000, Arnd Bergmann wrote:
> On Monday 30 January 2012, Michael S. Tsirkin wrote:
> > > 
> > > +/*
> > > + * 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
> > 
> > It would be nicer in that it would
> > make the kernel a bit smaller for generic architectures
> > but this would need to go into a separate header:
> > it depends on io.h and io.h depends on pci_iomap.h.
> 
> Adding extra dependencies is not good here, I agree.
> Maybe  a better solution is to use a macro instead of an inline
> function then:
> 
> #define  __pci_ioport_map(dev, port, nr) ioport_map(port, nr)
> 
> In general, macros should be avoided, but I think it's the
> best tradeoff in this case.
> 
> 	Arnd

OK, I did exactly that. Thanks!

WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Arnd Bergmann <arnd@arndb.de>
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: Tue, 31 Jan 2012 21:18:54 +0000	[thread overview]
Message-ID: <20120131211853.GC6843@redhat.com> (raw)
In-Reply-To: <201201302004.33083.arnd@arndb.de>

On Mon, Jan 30, 2012 at 08:04:32PM +0000, Arnd Bergmann wrote:
> On Monday 30 January 2012, Michael S. Tsirkin wrote:
> > > 
> > > +/*
> > > + * 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
> > 
> > It would be nicer in that it would
> > make the kernel a bit smaller for generic architectures
> > but this would need to go into a separate header:
> > it depends on io.h and io.h depends on pci_iomap.h.
> 
> Adding extra dependencies is not good here, I agree.
> Maybe  a better solution is to use a macro instead of an inline
> function then:
> 
> #define  __pci_ioport_map(dev, port, nr) ioport_map(port, nr)
> 
> In general, macros should be avoided, but I think it's the
> best tradeoff in this case.
> 
> 	Arnd

OK, I did exactly that. Thanks!

  parent reply	other threads:[~2012-01-31 21:18 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
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 [this message]
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=20120131211853.GC6843@redhat.com \
    --to=mst@redhat.com \
    --cc=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=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.