[U-Boot-Users] [PATCH] pci: Add CONIFG_PCI_SKIP_HOST_BRIDGE config

Kim Phillips kim.phillips at freescale.com
Thu Jan 24 18:12:54 CET 2008


On Thu, 24 Jan 2008 10:23:52 +0900
Nobuhiro Iwamatsu <iwamatsu at nigauri.org> wrote:

> In current source code, when the device number of PCI is 0, process PCI
> bridge without fail. However, when the device number is 0, it is not PCI
> always bridge. There are times when device of PCI allocates.
> 
> When CONIFG_PCI_SKIP_HOST_BRIDGE is enable, this problem is solved when
> use this patch.
> 
> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu at nigauri.org>
> ---
>  drivers/pci/pci.c |   13 ++++++++++---
>  1 files changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index 50ca6b0..3027fc7 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -425,6 +425,9 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus)
>  	     dev <  PCI_BDF(bus,PCI_MAX_PCI_DEVICES-1,PCI_MAX_PCI_FUNCTIONS-1);
>  	     dev += PCI_BDF(0,0,1))
>  	{
> +
> +	/* Bus 0 is not necessarily PCI bridge. */
> +#if defined(CONIFG_PCI_SKIP_HOST_BRIDGE)
>  		/* Skip our host bridge */
>  		if ( dev == PCI_BDF(hose->first_busno,0,0) ) {
>  #if defined(CONFIG_PCI_CONFIG_HOST_BRIDGE)              /* don't skip host bridge */
> @@ -434,9 +437,10 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus)
>  			if (getenv("pciconfighost") == NULL) {
>  				continue; /* Skip our host bridge */
>  			}
> -#else
> +#else /* CONFIG_PCI_CONFIG_HOST_BRIDGE */
>  			continue; /* Skip our host bridge */
> -#endif
> +#endif /* CONFIG_PCI_CONFIG_HOST_BRIDGE */
> +#endif /* CONIFG_PCI_SKIP_HOST_BRIDGE */
>  		}
>  
>  		if (PCI_FUNC(dev) && !found_multi)
> @@ -473,8 +477,11 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus)
>  				hose->fixup_irq(hose, dev);
>  
>  #ifdef CONFIG_PCI_SCAN_SHOW
> +#if defined(CONIFG_PCI_SKIP_HOST_BRIDGE)
>  			/* Skip our host bridge */
> -			if ( dev != PCI_BDF(hose->first_busno,0,0) ) {
> +			if ( dev != PCI_BDF(hose->first_busno,0,0) )
> +#endif
> +			{

without verifying the logic of this patch, I can immediately see an
s/CONIFG/CONFIG/g'd version coming...:)

Kim




More information about the U-Boot mailing list