What is the correct way to indicate an unassigned PCI resource ?
Benjamin Herrenschmidt
benh at kernel.crashing.org
Fri Jan 5 08:30:40 EST 2007
> > Add to pseries/pci.c a quirk for that chipset (don't forget to test for
> > machine_is(pseries) in the quirk as they get called for all platforms in
> > a combo kernel. The quirk shall check if resource 6 has a 0 base and
> > clear the size as Alan suggested (possibly setting the UNSET flag as
> > well).
>
> I will test this change tomorrow:
>
> +++ linux-2.6/arch/powerpc/platforms/pseries/pci.c
> @@ -98,6 +98,10 @@ static void fixup_winbond_82c105(struct
> if (dev->resource[i].flags & IORESOURCE_IO
> && dev->bus->number == 0 && dev->devfn == 0x81)
> dev->resource[i].flags &= ~IORESOURCE_IO;
> + if (dev->resource[i].start == 0) {
> + printk("disable IO resource %d on W82c105 IDE controller\n", i);
> + dev->resource[i].flags = IORESOURCE_DISABLED;
> + }
> }
> }
> DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND, PCI_DEVICE_ID_WINBOND_82C105,
>
>
>
> Or did you mean 'if (dev->resource[5].start == 0)' ?
Nah, but also set resource->end = 0 too and or-in IORESOURCE_UNSET for
flags not (=) (or just set it to 0, I have no problem with completely
clearing the resource, that will keep it out of the way)
More information about the Linuxppc-dev
mailing list