Re: [PATCH v3 09/11] serial: 8250_lpss: move Quark code from PCI driver
From: Bryan O'Donoghue
Date: Wed May 04 2016 - 10:37:38 EST
On Wed, 2016-05-04 at 14:20 +0300, Andy Shevchenko wrote:
> 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.
Since when ? We don't have an I/O bar so mapping the MMIO bar @ the
right register width is required.
>
> > > >
> > > > 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.
Hmm. I think what you mean to say is that a user (expert or not)
*would* select SERIAL_8250_LPSS since (at least in your branch
09c4268121a39eb3973823dd9225b650df726f67) both options may be
individually selected/deselected.