|
@@ -1747,10 +1747,13 @@ void __devinit pcibios_scan_phb(struct pci_controller *hose)
|
|
static void fixup_hide_host_resource_fsl(struct pci_dev *dev)
|
|
static void fixup_hide_host_resource_fsl(struct pci_dev *dev)
|
|
{
|
|
{
|
|
int i, class = dev->class >> 8;
|
|
int i, class = dev->class >> 8;
|
|
|
|
+ /* When configured as agent, programing interface = 1 */
|
|
|
|
+ int prog_if = dev->class & 0xf;
|
|
|
|
|
|
if ((class == PCI_CLASS_PROCESSOR_POWERPC ||
|
|
if ((class == PCI_CLASS_PROCESSOR_POWERPC ||
|
|
class == PCI_CLASS_BRIDGE_OTHER) &&
|
|
class == PCI_CLASS_BRIDGE_OTHER) &&
|
|
(dev->hdr_type == PCI_HEADER_TYPE_NORMAL) &&
|
|
(dev->hdr_type == PCI_HEADER_TYPE_NORMAL) &&
|
|
|
|
+ (prog_if == 0) &&
|
|
(dev->bus->parent == NULL)) {
|
|
(dev->bus->parent == NULL)) {
|
|
for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
|
|
for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
|
|
dev->resource[i].start = 0;
|
|
dev->resource[i].start = 0;
|