dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Niklas Schnelle <schnelle@linux.ibm.com>
To: John Garry <john.garry@huawei.com>, Bjorn Helgaas <helgaas@kernel.org>
Cc: linux-fbdev@vger.kernel.org, linux-pci@vger.kernel.org,
	Wim Van Sebroeck <wim@linux-watchdog.org>,
	Ettore Chimenti <ek5.chimenti@gmail.com>,
	linux-ide@vger.kernel.org, Albert Ou <aou@eecs.berkeley.edu>,
	Guo Ren <guoren@kernel.org>,
	linux-i2c@vger.kernel.org, linux-riscv@lists.infradead.org,
	Vincent Chen <deanbo422@gmail.com>,
	Jiri Slaby <jirislaby@kernel.org>,
	linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
	Hannes Reinecke <hare@suse.com>,
	Michael Grzeschik <m.grzeschik@pengutronix.de>,
	linux-scsi@vger.kernel.org,
	Sumit Saxena <sumit.saxena@broadcom.com>,
	Damien Le Moal <damien.lemoal@opensource.wdc.com>,
	Sathya Prakash <sathya.prakash@broadcom.com>,
	Jesse Brandeburg <jesse.brandeburg@intel.com>,
	linux-csky@vger.kernel.org,
	Kashyap Desai <kashyap.desai@broadcom.com>,
	Nilesh Javali <njavali@marvell.com>,
	intel-wired-lan@lists.osuosl.org, linux-serial@vger.kernel.org,
	GR-QLogic-Storage-Upstream@marvell.com,
	Jakub Kicinski <kuba@kernel.org>,
	MPT-FusionLinux.pdl@broadcom.com,
	"James E.J. Bottomley" <jejb@linux.ibm.com>,
	Guenter Roeck <linux@roeck-us.net>,
	linux-media@vger.kernel.org, Jaroslav Kysela <perex@perex.cz>,
	Jean Delvare <jdelvare@suse.com>,
	linux-watchdog@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
	Jouni Malinen <j@w1.fi>,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	Kalle Valo <kvalo@kernel.org>,
	linux-input@vger.kernel.org, linux-spi@vger.kernel.org,
	linux-gpio@vger.kernel.org, Ian Abbott <abbotti@mev.co.uk>,
	Mark Brown <broonie@kernel.org>,
	Greentime Hu <green.hu@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	megaraidlinux.pdl@broadcom.com,
	Teddy Wang <teddy.wang@siliconmotion.com>,
	linux-hwmon@vger.kernel.org, Arnd Bergmann <arnd@kernel.org>,
	Karsten Keil <isdn@linux-pingi.de>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Nick Hu <nickhu@andestech.com>,
	Sudip Mukherjee <sudipm.mukherjee@gmail.com>,
	Shivasharan S <shivasharan.srikanteshwara@broadcom.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	dri-devel@lists.freedesktop.org,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	linux-wireless@vger.kernel.org, Takashi Iwai <tiwai@suse.com>,
	"David S. Miller" <davem@davemloft.net>,
	H Hartley Sweeten <hsweeten@visionengravers.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Forest Bond <forest@alittletooquiet.net>,
	netdev@vger.kernel.org, Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	Tony Nguyen <anthony.l.nguyen@intel.com>,
	Bartosz Golaszewski <brgl@bgdev.pl>
Subject: Re: [RFC 01/32] Kconfig: introduce and depend on LEGACY_PCI
Date: Mon, 10 Jan 2022 10:34:34 +0100	[thread overview]
Message-ID: <822ad0da702f0953b7aae1febd2c4dfcc4707864.camel@linux.ibm.com> (raw)
In-Reply-To: <74bf4fde-3972-1c36-ca04-58089da0d82b@huawei.com>

On Thu, 2022-01-06 at 17:41 +0000, John Garry wrote:
> On 05/01/2022 19:47, Bjorn Helgaas wrote:
> > > > > >   ok if the PCI maintainers decide otherwise.
> > > > > I don't really like the "LEGACY_PCI" Kconfig option.  "Legacy" just
> > > > > means something old and out of favor; it doesn't say*what*  that
> > > > > something is.
> > > > > 
> > > > > I think you're specifically interested in I/O port space usage, and it
> > > > > seems that you want all PCI drivers that*only*  use I/O port space to
> > > > > depend on LEGACY_PCI?  Drivers that can use either I/O or memory
> > > > > space or both would not depend on LEGACY_PCI?  This seems a little
> > > > > murky and error-prone.
> > > > I'd like to hear Arnd's opinion on this but you're the PCI maintainer
> > > > so of course your buy-in would be quite important for such an option.
> > I'd like to hear Arnd's opinion, too.  If we do add LEGACY_PCI, I
> > think we need a clear guide for when to use it, e.g., "a PCI driver
> > that uses inb() must depend on LEGACY_PCI" or whatever it is.
> > 
> > I must be missing something because I don't see what we gain from
> > this.  We have PCI drivers, e.g., megaraid [1], for devices that have
> > either MEM or I/O BARs.  I think we want to build drivers like that on
> > any arch that supports PCI.
> > 
> > If the arch doesn't support I/O port space, devices that only have I/O
> > BARs won't work, of course, and hopefully the PCI core and driver can
> > figure that out and gracefully fail the probe.
> > 
> > But that same driver should still work with devices that have MEM
> > BARs.  If inb() isn't always present, I guess we could litter these
> > drivers with #ifdefs, but that would be pretty ugly.

I think this is the big question here. If we do go with a compile-time
solution as requested by Linus we will either get a lot of #ifdeffery,
coarse driver dependencies or as proposed by Alan Stern for the USB
#ifdefs might end up turning inb() into a compile-time nop.

The originally proposed change that returned ~0 from inb() and printed
a warning clearly is the simpler change and sure we could also drop the
warning. I'm honestly torn, I do agree with Linus that we shouldn't
have run-time things that we know at compile-time will not work but I
also dislike all the #ifdeffery a compile-time solution requires. Sadly
C really doesn't give us any better tools here.

Also I 100% agree with you Bjorn how likely it is to see a device on a
platform really shouldn't matter. Without going into details, on s390
we have already beneffited from PCI drivers working with 0 changes to
support devices we previously didn't have on the platform or
anticipated we would get in the future. Consequently drivers that could
work in principle should be built.

> >  
> 
> There were some ifdefs added to the 8250 drivers in Arnd's original 
> patch [0], but it does not seem included here.
> 
> Niklas, what happened to the 8250 and the other driver changes?

I missed it during the rebase, likely because the changed files compile
depend on !S390 via config SERIAL_8250 and thus didn't cause any errors
for my allyesconfig. That !S390 dependency is of course not really what
we want if the driver can use MEM BARs.



  parent reply	other threads:[~2022-01-12  8:52 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20211227164317.4146918-1-schnelle@linux.ibm.com>
2021-12-27 16:42 ` [RFC 01/32] Kconfig: introduce and depend on LEGACY_PCI Niklas Schnelle
2021-12-27 17:48   ` Guenter Roeck
2021-12-28  2:09   ` Mauro Carvalho Chehab
2021-12-28  8:21   ` Greg Kroah-Hartman
2021-12-28  9:15     ` Mauro Carvalho Chehab
2021-12-28 10:58       ` Niklas Schnelle
2021-12-28 12:01         ` Greg Kroah-Hartman
2021-12-28 12:54         ` Mauro Carvalho Chehab
2021-12-28 15:06           ` Niklas Schnelle
2021-12-28 17:12             ` Mauro Carvalho Chehab
2021-12-29 11:45               ` Niklas Schnelle
2021-12-29 12:12                 ` Mauro Carvalho Chehab
2021-12-29 16:03                   ` Bjorn Helgaas
2021-12-29 16:55                     ` Niklas Schnelle
2022-01-05 17:42                       ` John Garry
2022-01-05 19:47                         ` Bjorn Helgaas
     [not found]                           ` <74bf4fde-3972-1c36-ca04-58089da0d82b@huawei.com>
2022-01-06 18:14                             ` Bjorn Helgaas
2022-01-07 17:16                               ` John Garry
2022-01-10  9:34                             ` Niklas Schnelle [this message]
2021-12-27 16:43 ` [RFC 22/32] video: handle HAS_IOPORT dependencies Niklas Schnelle
2021-12-27 16:43 ` [RFC 26/32] drm: " Niklas Schnelle
2022-01-03  6:11   ` Gerd Hoffmann

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=822ad0da702f0953b7aae1febd2c4dfcc4707864.camel@linux.ibm.com \
    --to=schnelle@linux.ibm.com \
    --cc=GR-QLogic-Storage-Upstream@marvell.com \
    --cc=MPT-FusionLinux.pdl@broadcom.com \
    --cc=abbotti@mev.co.uk \
    --cc=anthony.l.nguyen@intel.com \
    --cc=aou@eecs.berkeley.edu \
    --cc=arnd@arndb.de \
    --cc=arnd@kernel.org \
    --cc=bhelgaas@google.com \
    --cc=brgl@bgdev.pl \
    --cc=broonie@kernel.org \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=davem@davemloft.net \
    --cc=deanbo422@gmail.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=ek5.chimenti@gmail.com \
    --cc=forest@alittletooquiet.net \
    --cc=green.hu@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=guoren@kernel.org \
    --cc=hare@suse.com \
    --cc=helgaas@kernel.org \
    --cc=hsweeten@visionengravers.com \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=isdn@linux-pingi.de \
    --cc=j@w1.fi \
    --cc=jdelvare@suse.com \
    --cc=jejb@linux.ibm.com \
    --cc=jesse.brandeburg@intel.com \
    --cc=jirislaby@kernel.org \
    --cc=john.garry@huawei.com \
    --cc=kashyap.desai@broadcom.com \
    --cc=kuba@kernel.org \
    --cc=kvalo@kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-csky@vger.kernel.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=m.grzeschik@pengutronix.de \
    --cc=martin.petersen@oracle.com \
    --cc=mchehab@kernel.org \
    --cc=megaraidlinux.pdl@broadcom.com \
    --cc=netdev@vger.kernel.org \
    --cc=nickhu@andestech.com \
    --cc=njavali@marvell.com \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=perex@perex.cz \
    --cc=sathya.prakash@broadcom.com \
    --cc=shivasharan.srikanteshwara@broadcom.com \
    --cc=sreekanth.reddy@broadcom.com \
    --cc=sudipm.mukherjee@gmail.com \
    --cc=suganath-prabu.subramani@broadcom.com \
    --cc=sumit.saxena@broadcom.com \
    --cc=teddy.wang@siliconmotion.com \
    --cc=tiwai@suse.com \
    --cc=wim@linux-watchdog.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).