Subject: Re: [PATCH 3/5] Float the pci bus number on MPC8641HPCN board.

From: Wade Farnsworth <[email-masked]>
Date: Tue, 22 May 2007 10:59:52 -0700

On Tue, 2007-05-22 at 11:38 +0800, Zhang Wei wrote:
>  int mpc86xx_exclude_device(u_char bus, u_char devfn)
>  {
> +	struct pci_controller *hose;
> +
> +	hose = pci_bus_to_hose(bus);
> +	if (unlikely(!hose))
> +		return PCIBIOS_DEVICE_NOT_FOUND;
> +
> +	/* Correcting the hose->bus_offset value. */
> +	out_be32(hose->cfg_addr, 0x80000000 | ((hose->first_busno
> +					- hose->bus_offset) << 16));
> +	if (unlikely(in_le32(hose->cfg_data) == 0xffffffff))
> +		hose->bus_offset = hose->bus_offset ? 0 : hose->first_busno;
> +
>  	return PCIBIOS_SUCCESSFUL;
>  }

What is the purpose of this code and why put it in
mpc86xx_exclude_device?

--Wade