Subject: Re: [PATCH 19/20] [POWERPC] pci32: 4xx embedded platforms want to reassign all PCI resources

From: Josh Boyer <[email-masked]>
Date: Thu, 13 Dec 2007 15:11:38 -0600

On Fri, 14 Dec 2007 07:52:57 +1100
Benjamin Herrenschmidt <[email-masked]> wrote:

> 
> On Thu, 2007-12-13 at 14:40 -0600, Josh Boyer wrote:
> > 
> > > > This one is slightly broken in my opinion.  You've added
> > > > the ppc_pci_flags to all of these platforms, which is fine for
> > your
> > > > intended goal.  But now all of these platforms _have_ to compile
> > with
> > > > PCI enabled or they'll break with:
> > > > 
> > > > arch/powerpc/platforms/built-in.o: In function `walnut_probe':
> > > > walnut.c:(.init.text+0x9a): undefined reference to `ppc_pci_flags'
> > > > walnut.c:(.init.text+0xa6): undefined reference to `ppc_pci_flags'
> > > > make[1]: *** [.tmp_vmlinux1] Error 1
> > > > 
> > > > So to do it correctly we need to either select CONFIG_PCI for all
> > of
> > > > them, wrap the ppc_pci_flags assignment in #ifdef CONFIG_PCI, or
> > move
> > > > the ppc_pci_flags variable declaration into something that always
> > gets
> > > > compiled.
> > > 
> > > Hrm... PCI is user selectable ? Forgot about that ...
> > > 
> > > All those platforms have PCI slots, so we may as well select it in
> > > Kconfig... I'd rather avoid #ifdef's
> > 
> > What about people that don't have PCI on their boards, or don't really
> > care about it?
> 
> Then those boards wouldn't be a walnut, ep405, ... right ?
> 
> That's why I put the flags in the BSP. If your board has no PCI, don't
> muck around with the PCI flags. 

Well, there is physical PCI hardware on the boards, yes.  But what if
people have no intention of using it?  E.g. they have no devices, etc.
Now we're requiring PCI support to be built into the kernel.

I'm just being pedantic about keeping embedded tiny.

josh