diff options
| author | Stefan Roese <sr@denx.de> | 2009-10-29 16:54:52 +0100 | 
|---|---|---|
| committer | Stefan Roese <sr@denx.de> | 2009-11-09 11:27:08 +0100 | 
| commit | 9a81c61249d8361ed57d81f496121f3eb9c0eee8 (patch) | |
| tree | 8fdae979d28249f795d065809321bad7ca138e52 | |
| parent | b0b867462c569e7accd6f78c942cbab028116ecf (diff) | |
| download | olio-uboot-2014.01-9a81c61249d8361ed57d81f496121f3eb9c0eee8.tar.xz olio-uboot-2014.01-9a81c61249d8361ed57d81f496121f3eb9c0eee8.zip | |
ppc4xx: Remove duplicated is_pci_host() functions
This patch introduces a weak default function for is_pci_host(),
returning 1. This is the default behaviour, since most boards only
implement PCI host functionality. This weak default can be overridden
by a board specific version if needed.
Signed-off-by: Stefan Roese <sr@denx.de>
| -rw-r--r-- | board/amcc/bamboo/bamboo.c | 23 | ||||
| -rw-r--r-- | board/amcc/canyonlands/canyonlands.c | 19 | ||||
| -rw-r--r-- | board/amcc/ebony/ebony.c | 23 | ||||
| -rw-r--r-- | board/amcc/katmai/katmai.c | 21 | ||||
| -rw-r--r-- | board/amcc/luan/luan.c | 23 | ||||
| -rw-r--r-- | board/amcc/ocotea/ocotea.c | 24 | ||||
| -rw-r--r-- | board/amcc/sequoia/sequoia.c | 21 | ||||
| -rw-r--r-- | board/amcc/taishan/taishan.c | 23 | ||||
| -rw-r--r-- | board/amcc/yosemite/yosemite.c | 23 | ||||
| -rw-r--r-- | board/amcc/yucca/yucca.c | 21 | ||||
| -rw-r--r-- | board/esd/du440/du440.c | 21 | ||||
| -rw-r--r-- | board/esd/pmc440/pmc440.c | 2 | ||||
| -rw-r--r-- | board/gdsys/gdppc440etx/gdppc440etx.c | 22 | ||||
| -rw-r--r-- | board/gdsys/intip/intip.c | 21 | ||||
| -rw-r--r-- | board/korat/korat.c | 21 | ||||
| -rw-r--r-- | board/lwmon5/lwmon5.c | 23 | ||||
| -rw-r--r-- | board/netstal/hcu5/hcu5.c | 19 | ||||
| -rw-r--r-- | board/pcs440ep/pcs440ep.c | 23 | ||||
| -rw-r--r-- | board/prodrive/alpr/alpr.c | 2 | ||||
| -rw-r--r-- | board/prodrive/p3p440/p3p440.c | 2 | ||||
| -rw-r--r-- | board/sandburst/common/sb_common.c | 13 | ||||
| -rw-r--r-- | board/xes/xpedite1000/xpedite1000.c | 2 | ||||
| -rw-r--r-- | cpu/ppc4xx/4xx_pci.c | 20 | 
23 files changed, 25 insertions, 387 deletions
| diff --git a/board/amcc/bamboo/bamboo.c b/board/amcc/bamboo/bamboo.c index 2598f2cf4..313f9f36a 100644 --- a/board/amcc/bamboo/bamboo.c +++ b/board/amcc/bamboo/bamboo.c @@ -603,29 +603,6 @@ void pci_master_init(struct pci_controller *hose)  }  #endif				/* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_MASTER_INIT) */ -/************************************************************************* - *  is_pci_host - * - *	This routine is called to determine if a pci scan should be - *	performed. With various hardware environments (especially cPCI and - *	PPMC) it's insufficient to depend on the state of the arbiter enable - *	bit in the strap register, or generic host/adapter assumptions. - * - *	Rather than hard-code a bad assumption in the general 440 code, the - *	440 pci code requires the board to decide at runtime. - * - *	Return 0 for adapter mode, non-zero for host (monarch) mode. - * - * - ************************************************************************/ -#if defined(CONFIG_PCI) -int is_pci_host(struct pci_controller *hose) -{ -	/* Bamboo is always configured as host. */ -	return (1); -} -#endif				/* defined(CONFIG_PCI) */ -  /*----------------------------------------------------------------------------+    | is_powerpc440ep_pass1.    +----------------------------------------------------------------------------*/ diff --git a/board/amcc/canyonlands/canyonlands.c b/board/amcc/canyonlands/canyonlands.c index 8ce6788d4..9a8ca8ece 100644 --- a/board/amcc/canyonlands/canyonlands.c +++ b/board/amcc/canyonlands/canyonlands.c @@ -364,25 +364,6 @@ void pci_target_init(struct pci_controller * hose )  #endif	/* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_TARGET_INIT) */  #if defined(CONFIG_PCI) -/* - * is_pci_host - * - * This routine is called to determine if a pci scan should be - * performed. With various hardware environments (especially cPCI and - * PPMC) it's insufficient to depend on the state of the arbiter enable - * bit in the strap register, or generic host/adapter assumptions. - * - * Rather than hard-code a bad assumption in the general 440 code, the - * 440 pci code requires the board to decide at runtime. - * - * Return 0 for adapter mode, non-zero for host (monarch) mode. - */ -int is_pci_host(struct pci_controller *hose) -{ -	/* Board is always configured as host. */ -	return (1); -} -  int board_pcie_first(void)  {  	/* diff --git a/board/amcc/ebony/ebony.c b/board/amcc/ebony/ebony.c index 0ca1accec..1524b5333 100644 --- a/board/amcc/ebony/ebony.c +++ b/board/amcc/ebony/ebony.c @@ -234,26 +234,3 @@ void pci_target_init(struct pci_controller *hose)  	out16r(PCIL0_CMD, in16r(PCIL0_CMD) | PCI_COMMAND_MEMORY);  }  #endif				/* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_TARGET_INIT) */ - -/************************************************************************* - *  is_pci_host - * - *	This routine is called to determine if a pci scan should be - *	performed. With various hardware environments (especially cPCI and - *	PPMC) it's insufficient to depend on the state of the arbiter enable - *	bit in the strap register, or generic host/adapter assumptions. - * - *	Rather than hard-code a bad assumption in the general 440 code, the - *	440 pci code requires the board to decide at runtime. - * - *	Return 0 for adapter mode, non-zero for host (monarch) mode. - * - * - ************************************************************************/ -#if defined(CONFIG_PCI) -int is_pci_host(struct pci_controller *hose) -{ -	/* The ebony board is always configured as host. */ -	return (1); -} -#endif				/* defined(CONFIG_PCI) */ diff --git a/board/amcc/katmai/katmai.c b/board/amcc/katmai/katmai.c index 34ecd994d..f43e76448 100644 --- a/board/amcc/katmai/katmai.c +++ b/board/amcc/katmai/katmai.c @@ -330,27 +330,6 @@ void pci_target_init(struct pci_controller * hose )  #endif	/* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_TARGET_INIT) */  #if defined(CONFIG_PCI) -/************************************************************************* - *  is_pci_host - * - *	This routine is called to determine if a pci scan should be - *	performed. With various hardware environments (especially cPCI and - *	PPMC) it's insufficient to depend on the state of the arbiter enable - *	bit in the strap register, or generic host/adapter assumptions. - * - *	Rather than hard-code a bad assumption in the general 440 code, the - *	440 pci code requires the board to decide at runtime. - * - *	Return 0 for adapter mode, non-zero for host (monarch) mode. - * - * - ************************************************************************/ -int is_pci_host(struct pci_controller *hose) -{ -	/* The katmai board is always configured as host. */ -	return 1; -} -  int board_pcie_card_present(int port)  {  	u32 val; diff --git a/board/amcc/luan/luan.c b/board/amcc/luan/luan.c index a04f2af3b..94ba6437f 100644 --- a/board/amcc/luan/luan.c +++ b/board/amcc/luan/luan.c @@ -200,29 +200,6 @@ void pci_target_init(struct pci_controller *hose)  /************************************************************************* - *  is_pci_host - * - *	This routine is called to determine if a pci scan should be - *	performed. With various hardware environments (especially cPCI and - *	PPMC) it's insufficient to depend on the state of the arbiter enable - *	bit in the strap register, or generic host/adapter assumptions. - * - *	Rather than hard-code a bad assumption in the general 440 code, the - *	440 pci code requires the board to decide at runtime. - * - *	Return 0 for adapter mode, non-zero for host (monarch) mode. - * - * - ************************************************************************/ -#if defined(CONFIG_PCI) -int is_pci_host(struct pci_controller *hose) -{ -	return  1; -} -#endif				/* defined(CONFIG_PCI) */ - - -/*************************************************************************   *  hw_watchdog_reset   *   *	This routine is called to reset (keep alive) the watchdog timer diff --git a/board/amcc/ocotea/ocotea.c b/board/amcc/ocotea/ocotea.c index 0aa317ec0..2f64764ee 100644 --- a/board/amcc/ocotea/ocotea.c +++ b/board/amcc/ocotea/ocotea.c @@ -347,30 +347,6 @@ void pci_target_init(struct pci_controller * hose )  #endif /* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_TARGET_INIT) */ -/************************************************************************* - *  is_pci_host - * - *	This routine is called to determine if a pci scan should be - *	performed. With various hardware environments (especially cPCI and - *	PPMC) it's insufficient to depend on the state of the arbiter enable - *	bit in the strap register, or generic host/adapter assumptions. - * - *	Rather than hard-code a bad assumption in the general 440 code, the - *	440 pci code requires the board to decide at runtime. - * - *	Return 0 for adapter mode, non-zero for host (monarch) mode. - * - * - ************************************************************************/ -#if defined(CONFIG_PCI) -int is_pci_host(struct pci_controller *hose) -{ -    /* The ocotea board is always configured as host. */ -    return(1); -} -#endif /* defined(CONFIG_PCI) */ - -  void fpga_init(void)  {  	unsigned long group; diff --git a/board/amcc/sequoia/sequoia.c b/board/amcc/sequoia/sequoia.c index 00f640872..439382006 100644 --- a/board/amcc/sequoia/sequoia.c +++ b/board/amcc/sequoia/sequoia.c @@ -509,27 +509,6 @@ void pci_master_init(struct pci_controller *hose)  }  #endif /* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_MASTER_INIT) */ -/* - * is_pci_host - * - * This routine is called to determine if a pci scan should be - * performed. With various hardware environments (especially cPCI and - * PPMC) it's insufficient to depend on the state of the arbiter enable - * bit in the strap register, or generic host/adapter assumptions. - * - * Rather than hard-code a bad assumption in the general 440 code, the - * 440 pci code requires the board to decide at runtime. - * - * Return 0 for adapter mode, non-zero for host (monarch) mode. - */ -#if defined(CONFIG_PCI) -int is_pci_host(struct pci_controller *hose) -{ -	/* Cactus is always configured as host. */ -	return (1); -} -#endif /* defined(CONFIG_PCI) */ -  #if defined(CONFIG_POST)  /*   * Returns 1 if keys pressed to start the power-on long-running tests diff --git a/board/amcc/taishan/taishan.c b/board/amcc/taishan/taishan.c index 0c20faf9a..81e8fe14a 100644 --- a/board/amcc/taishan/taishan.c +++ b/board/amcc/taishan/taishan.c @@ -279,29 +279,6 @@ void pci_target_init(struct pci_controller * hose )  }  #endif /* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_TARGET_INIT) */ -/************************************************************************* - *  is_pci_host - * - *	This routine is called to determine if a pci scan should be - *	performed. With various hardware environments (especially cPCI and - *	PPMC) it's insufficient to depend on the state of the arbiter enable - *	bit in the strap register, or generic host/adapter assumptions. - * - *	Rather than hard-code a bad assumption in the general 440 code, the - *	440 pci code requires the board to decide at runtime. - * - *	Return 0 for adapter mode, non-zero for host (monarch) mode. - * - * - ************************************************************************/ -#if defined(CONFIG_PCI) -int is_pci_host(struct pci_controller *hose) -{ -	/* The ocotea board is always configured as host. */ -	return(1); -} -#endif /* defined(CONFIG_PCI) */ -  #ifdef CONFIG_POST  /*   * Returns 1 if keys pressed to start the power-on long-running tests diff --git a/board/amcc/yosemite/yosemite.c b/board/amcc/yosemite/yosemite.c index ccbeb0e7a..e416eeb16 100644 --- a/board/amcc/yosemite/yosemite.c +++ b/board/amcc/yosemite/yosemite.c @@ -490,29 +490,6 @@ void pci_master_init(struct pci_controller *hose)  #endif				/* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_MASTER_INIT) */  /************************************************************************* - *  is_pci_host - * - *	This routine is called to determine if a pci scan should be - *	performed. With various hardware environments (especially cPCI and - *	PPMC) it's insufficient to depend on the state of the arbiter enable - *	bit in the strap register, or generic host/adapter assumptions. - * - *	Rather than hard-code a bad assumption in the general 440 code, the - *	440 pci code requires the board to decide at runtime. - * - *	Return 0 for adapter mode, non-zero for host (monarch) mode. - * - * - ************************************************************************/ -#if defined(CONFIG_PCI) -int is_pci_host(struct pci_controller *hose) -{ -	/* Bamboo is always configured as host. */ -	return (1); -} -#endif				/* defined(CONFIG_PCI) */ - -/*************************************************************************   *  hw_watchdog_reset   *   *	This routine is called to reset (keep alive) the watchdog timer diff --git a/board/amcc/yucca/yucca.c b/board/amcc/yucca/yucca.c index 649315581..7315033dc 100644 --- a/board/amcc/yucca/yucca.c +++ b/board/amcc/yucca/yucca.c @@ -658,27 +658,6 @@ void pci_target_init(struct pci_controller * hose )  #endif	/* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_TARGET_INIT) */  #if defined(CONFIG_PCI) -/************************************************************************* - *  is_pci_host - * - *	This routine is called to determine if a pci scan should be - *	performed. With various hardware environments (especially cPCI and - *	PPMC) it's insufficient to depend on the state of the arbiter enable - *	bit in the strap register, or generic host/adapter assumptions. - * - *	Rather than hard-code a bad assumption in the general 440 code, the - *	440 pci code requires the board to decide at runtime. - * - *	Return 0 for adapter mode, non-zero for host (monarch) mode. - * - * - ************************************************************************/ -int is_pci_host(struct pci_controller *hose) -{ -	/* The yucca board is always configured as host. */ -	return 1; -} -  int board_pcie_card_present(int port)  {  	u16 reg; diff --git a/board/esd/du440/du440.c b/board/esd/du440/du440.c index d0e52cbab..8f9f9500e 100644 --- a/board/esd/du440/du440.c +++ b/board/esd/du440/du440.c @@ -498,27 +498,6 @@ void pci_master_init(struct pci_controller *hose)  }  #endif /* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_MASTER_INIT) */ -/* - * is_pci_host - * - * This routine is called to determine if a pci scan should be - * performed. With various hardware environments (especially cPCI and - * PPMC) it's insufficient to depend on the state of the arbiter enable - * bit in the strap register, or generic host/adapter assumptions. - * - * Rather than hard-code a bad assumption in the general 440 code, the - * 440 pci code requires the board to decide at runtime. - * - * Return 0 for adapter mode, non-zero for host (monarch) mode. - */ -#if defined(CONFIG_PCI) -int is_pci_host(struct pci_controller *hose) -{ -	/* always configured as host. */ -	return (1); -} -#endif /* defined(CONFIG_PCI) */ -  int last_stage_init(void)  {  	int e, i; diff --git a/board/esd/pmc440/pmc440.c b/board/esd/pmc440/pmc440.c index ec9255243..10901b400 100644 --- a/board/esd/pmc440/pmc440.c +++ b/board/esd/pmc440/pmc440.c @@ -712,7 +712,7 @@ static void wait_for_pci_ready(void)  }  /* - * is_pci_host + * Override weak is_pci_host()   *   * This routine is called to determine if a pci scan should be   * performed. With various hardware environments (especially cPCI and diff --git a/board/gdsys/gdppc440etx/gdppc440etx.c b/board/gdsys/gdppc440etx/gdppc440etx.c index 90dbe52aa..92f5d822f 100644 --- a/board/gdsys/gdppc440etx/gdppc440etx.c +++ b/board/gdsys/gdppc440etx/gdppc440etx.c @@ -299,25 +299,3 @@ void pci_master_init(struct pci_controller *hose)  			      PCI_COMMAND_MEMORY);  }  #endif	/* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_MASTER_INIT) */ - -/* - *  is_pci_host - * - *	This routine is called to determine if a pci scan should be - *	performed. With various hardware environments (especially cPCI and - *	PPMC) it's insufficient to depend on the state of the arbiter enable - *	bit in the strap register, or generic host/adapter assumptions. - * - *	Rather than hard-code a bad assumption in the general 440 code, the - *	440 pci code requires the board to decide at runtime. - * - *	Return 0 for adapter mode, non-zero for host (monarch) mode. - * - * - */ -#if defined(CONFIG_PCI) -int is_pci_host(struct pci_controller *hose) -{ -	return 1; -} -#endif	/* defined(CONFIG_PCI) */ diff --git a/board/gdsys/intip/intip.c b/board/gdsys/intip/intip.c index b42e90853..49d245135 100644 --- a/board/gdsys/intip/intip.c +++ b/board/gdsys/intip/intip.c @@ -178,27 +178,6 @@ void pci_target_init(struct pci_controller *hose)  }  #endif	/* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_TARGET_INIT) */ -#if defined(CONFIG_PCI) -/* - * is_pci_host - * - * This routine is called to determine if a pci scan should be - * performed. With various hardware environments (especially cPCI and - * PPMC) it's insufficient to depend on the state of the arbiter enable - * bit in the strap register, or generic host/adapter assumptions. - * - * Rather than hard-code a bad assumption in the general 440 code, the - * 440 pci code requires the board to decide at runtime. - * - * Return 0 for adapter mode, non-zero for host (monarch) mode. - */ -int is_pci_host(struct pci_controller *hose) -{ -	/* Board is always configured as host. */ -	return 1; -} -#endif /* CONFIG_PCI */ -  int board_early_init_r(void)  {  	/* diff --git a/board/korat/korat.c b/board/korat/korat.c index 8c674a209..b0e6a56a6 100644 --- a/board/korat/korat.c +++ b/board/korat/korat.c @@ -748,27 +748,6 @@ void pci_master_init(struct pci_controller *hose)  }  #endif -/* - * is_pci_host - * - * This routine is called to determine if a pci scan should be - * performed. With various hardware environments (especially cPCI and - * PPMC) it's insufficient to depend on the state of the arbiter enable - * bit in the strap register, or generic host/adapter assumptions. - * - * Rather than hard-code a bad assumption in the general 440 code, the - * 440 pci code requires the board to decide at runtime. - * - * Return 0 for adapter mode, non-zero for host (monarch) mode. - */ -#if defined(CONFIG_PCI) -int is_pci_host(struct pci_controller *hose) -{ -	/* Korat is always configured as host. */ -	return (1); -} -#endif /* defined(CONFIG_PCI) */ -  #if defined(CONFIG_POST)  /*   * Returns 1 if keys pressed to start the power-on long-running tests diff --git a/board/lwmon5/lwmon5.c b/board/lwmon5/lwmon5.c index d36ea04e8..09ba2b933 100644 --- a/board/lwmon5/lwmon5.c +++ b/board/lwmon5/lwmon5.c @@ -412,29 +412,6 @@ void pci_master_init(struct pci_controller *hose)  }  #endif				/* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_MASTER_INIT) */ -/************************************************************************* - *  is_pci_host - * - *	This routine is called to determine if a pci scan should be - *	performed. With various hardware environments (especially cPCI and - *	PPMC) it's insufficient to depend on the state of the arbiter enable - *	bit in the strap register, or generic host/adapter assumptions. - * - *	Rather than hard-code a bad assumption in the general 440 code, the - *	440 pci code requires the board to decide at runtime. - * - *	Return 0 for adapter mode, non-zero for host (monarch) mode. - * - * - ************************************************************************/ -#if defined(CONFIG_PCI) -int is_pci_host(struct pci_controller *hose) -{ -	/* Cactus is always configured as host. */ -	return (1); -} -#endif				/* defined(CONFIG_PCI) */ -  void hw_watchdog_reset(void)  {  	int val; diff --git a/board/netstal/hcu5/hcu5.c b/board/netstal/hcu5/hcu5.c index 946c3f3a4..7ffc26202 100644 --- a/board/netstal/hcu5/hcu5.c +++ b/board/netstal/hcu5/hcu5.c @@ -460,25 +460,6 @@ void pci_master_init(struct pci_controller *hose)  			      temp_short | PCI_COMMAND_MASTER |  			      PCI_COMMAND_MEMORY);  } - -/* - *  is_pci_host - * - *	This routine is called to determine if a pci scan should be - *	performed. With various hardware environments (especially cPCI and - *	PPMC) it's insufficient to depend on the state of the arbiter enable - *	bit in the strap register, or generic host/adapter assumptions. - * - *	Rather than hard-code a bad assumption in the general 440 code, the - *	440 pci code requires the board to decide at runtime. - * - *	Return 0 for adapter mode, non-zero for host (monarch) mode. - * - */ -int is_pci_host(struct pci_controller *hose) -{ -	return 1; -}  #endif	 /* defined(CONFIG_PCI) */  #if defined(CONFIG_POST) diff --git a/board/pcs440ep/pcs440ep.c b/board/pcs440ep/pcs440ep.c index b70827e0c..2155711d6 100644 --- a/board/pcs440ep/pcs440ep.c +++ b/board/pcs440ep/pcs440ep.c @@ -688,29 +688,6 @@ void pci_master_init(struct pci_controller *hose)  #endif				/* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_MASTER_INIT) */  /************************************************************************* - *  is_pci_host - * - *	This routine is called to determine if a pci scan should be - *	performed. With various hardware environments (especially cPCI and - *	PPMC) it's insufficient to depend on the state of the arbiter enable - *	bit in the strap register, or generic host/adapter assumptions. - * - *	Rather than hard-code a bad assumption in the general 440 code, the - *	440 pci code requires the board to decide at runtime. - * - *	Return 0 for adapter mode, non-zero for host (monarch) mode. - * - * - ************************************************************************/ -#if defined(CONFIG_PCI) -int is_pci_host(struct pci_controller *hose) -{ -	/* PCS440EP is always configured as host. */ -	return (1); -} -#endif				/* defined(CONFIG_PCI) */ - -/*************************************************************************   *  hw_watchdog_reset   *   *	This routine is called to reset (keep alive) the watchdog timer diff --git a/board/prodrive/alpr/alpr.c b/board/prodrive/alpr/alpr.c index 51335c4d9..e9e2bf3e0 100644 --- a/board/prodrive/alpr/alpr.c +++ b/board/prodrive/alpr/alpr.c @@ -218,7 +218,7 @@ void pci_target_init(struct pci_controller * hose )  #endif /* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_TARGET_INIT) */  /************************************************************************* - *  is_pci_host + * Override weak is_pci_host()   *   *	This routine is called to determine if a pci scan should be   *	performed. With various hardware environments (especially cPCI and diff --git a/board/prodrive/p3p440/p3p440.c b/board/prodrive/p3p440/p3p440.c index 9a0785276..e07400794 100644 --- a/board/prodrive/p3p440/p3p440.c +++ b/board/prodrive/p3p440/p3p440.c @@ -235,7 +235,7 @@ void pci_target_init(struct pci_controller *hose)  #endif				/* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_TARGET_INIT) */  /************************************************************************* - *  is_pci_host + * Override weak is_pci_host()   *   *	This routine is called to determine if a pci scan should be   *	performed. With various hardware environments (especially cPCI and diff --git a/board/sandburst/common/sb_common.c b/board/sandburst/common/sb_common.c index a484874ea..574908458 100644 --- a/board/sandburst/common/sb_common.c +++ b/board/sandburst/common/sb_common.c @@ -373,19 +373,6 @@ void pci_target_init(struct pci_controller * hose )  /************************************************************************* - *  is_pci_host - * - * - ************************************************************************/ -#if defined(CONFIG_PCI) -int is_pci_host(struct pci_controller *hose) -{ -    /* The metrobox is always configured as host. */ -    return(1); -} -#endif /* defined(CONFIG_PCI) */ - -/*************************************************************************   *  board_get_enetaddr   *   *  Get the ethernet MAC address for the management ethernet from the diff --git a/board/xes/xpedite1000/xpedite1000.c b/board/xes/xpedite1000/xpedite1000.c index 04949bb2d..0c4cf9463 100644 --- a/board/xes/xpedite1000/xpedite1000.c +++ b/board/xes/xpedite1000/xpedite1000.c @@ -200,6 +200,8 @@ void pci_target_init(struct pci_controller * hose)  #if defined(CONFIG_PCI)  /* + * Override weak is_pci_host() + *   * This routine is called to determine if a pci scan should be   * performed. With various hardware environments (especially cPCI and   * PPMC) it's insufficient to depend on the state of the arbiter enable diff --git a/cpu/ppc4xx/4xx_pci.c b/cpu/ppc4xx/4xx_pci.c index fa521f041..40017f4d6 100644 --- a/cpu/ppc4xx/4xx_pci.c +++ b/cpu/ppc4xx/4xx_pci.c @@ -478,6 +478,26 @@ void pci_init_board(void)  static struct pci_controller ppc440_hose = {0}; +/* + * This routine is called to determine if a pci scan should be + * performed. With various hardware environments (especially cPCI and + * PPMC) it's insufficient to depend on the state of the arbiter enable + * bit in the strap register, or generic host/adapter assumptions. + * + * Rather than hard-code a bad assumption in the general 440 code, the + * 440 pci code requires the board to decide at runtime. + * + * Return 0 for adapter mode, non-zero for host (monarch) mode. + * + * Weak default implementation: "Normal" boards implement the PCI + * host functionality. This can be overridden for PCI adapter boards. + */ +int __is_pci_host(struct pci_controller *hose) +{ +	return 1; +} +int is_pci_host(struct pci_controller *hose) +	__attribute__((weak, alias("__is_pci_host")));  int pci_440_init (struct pci_controller *hose)  { |