[U-Boot-Users] [PATCH] pci: Move PCI device configuration check into a separate weak function
Nobuhiro Iwamatsu
hemamu at t-base.ne.jp
Wed Jul 9 07:08:48 CEST 2008
Hi, Stefan.
2008/7/8 Stefan Roese <sr at denx.de>:
> This patch moves the check, if a device should be skipped in PCI PNP
> configuration into the function pci_skip_dev(). This function is defined
> as weak so that it can be overwritten by a platform specific one if
> needed. The check if the device should get printed in the PCI summary upon
> bootup (when CONFIG_PCI_SCAN_SHOW is defined) is moved to the function
> pci_print_dev() which is also defined as weak too.
>
> Signed-off-by: Stefan Roese <sr at denx.de>
> ---
> drivers/pci/pci.c | 70 ++++++++++++++++++++++++++++++++++------------------
> 1 files changed, 46 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index b3ae3b1..16180cb 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -411,6 +411,40 @@ void pci_cfgfunc_do_nothing(struct pci_controller *hose,
> extern int pciauto_config_device(struct pci_controller *hose, pci_dev_t dev);
> extern void pciauto_config_init(struct pci_controller *hose);
>
> +int __pci_skip_dev(struct pci_controller *hose, pci_dev_t dev)
> +{
> + /*
> + * Check if pci device should be skipped in configuration
> + */
> + if (dev == PCI_BDF(hose->first_busno, 0, 0)) {
> +#if defined(CONFIG_PCI_CONFIG_HOST_BRIDGE) /* don't skip host bridge */
> + /*
> + * Only skip configuration if "pciconfighost" is not set
> + */
> + if (getenv("pciconfighost") == NULL)
> + return 1;
> +#else
> + return 1;
> +#endif
> + }
> +
> + return 0;
> +}
> +int pci_skip_dev(struct pci_controller *hose, pci_dev_t dev)
> + __attribute__((weak, alias("__pci_skip_dev")));
> +
> +#ifdef CONFIG_PCI_SCAN_SHOW
> +int __pci_print_dev(struct pci_controller *hose, pci_dev_t dev)
> +{
> + if (dev == PCI_BDF(hose->first_busno, 0, 0))
> + return 0;
> +
> + return 1;
> +}
> +int pci_print_dev(struct pci_controller *hose, pci_dev_t dev)
> + __attribute__((weak, alias("__pci_print_dev")));
> +#endif /* CONFIG_PCI_SCAN_SHOW */
When PCI_BDF was 0,0,0, does the board of PPC have the device which
do not want to initialize?
Best regards,
Nobuhiro
--
Nobuhiro Iwamatsu
More information about the U-Boot
mailing list