Re: [PATCH v3 09/11] serial: 8250_lpss: move Quark code from PCI driver

From: Andy Shevchenko
Date: Wed May 04 2016 - 07:19:37 EST


On Wed, 2016-05-04 at 12:01 +0100, Bryan O'Donoghue wrote:
> On Wed, 2016-05-04 at 13:03 +0300, Andy Shevchenko wrote:
> >
> > On Wed, May 4, 2016 at 12:51 PM, Bryan O'Donoghue
> > <pure.logic@xxxxxxxxxxxxxxxxx> wrote:
> > >
> > > The default may be set to SERIAL_8250 but, without the QRK
> > > specific
> > > entry in 8250_pci.c you won't get console output.

That's, by the way, not true.

> > >
> > > So if you are going to remove the QRK entry from 8250_pci.c and
> > > stuff
> > > it into 8250_lpss.c then 8250_lpss needs to be selected by
> > > CONFIG_SERIAL_8250_PCI.
> > Why?!
> >
> > Now it should be enough to have SERIAL_8250 set to non-n to have
> > 8250_lpss compiled.
> > Can you check it?
> I'm sure that's true.
>
> My point to you is that - its a highly non-intuitive thing to do on a
> reading of the datasheet for this part.
>
> LPSS is, ostensibly at least, for passing processor resources via
> APCI.
>
> If you look at a QRK datasheet it says "enumerate all this stuff via
> PCI" - there's not a single mention of LPSS. Its reasonable, correct
> and currently required for QRK to set CONFIG_8250_PCI.

User has no such item even visible until enable CONFIG_EXPERT.

Heikki sent an answer to you (and to the list, but by some reason it's
not yet there) an hour ago.

>
> To move away from a valid/standard PCI probe routine into a new
> special
> LPSS/PCI shim (which the hardware doesn't actually mandate) I do think
> you should to setup the dependency CONFIG_8250_PCI =>
> CONFIG_8250_LPSS.

No, this is what we try avoiding, thus it will not happen.

If user selects CONFIG_SERIAL_8250_PCI, the CONFIG_SERIAL_8250_LPSS will
be selected as well since it has same dependencies.

--
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy