Subject: What is the correct way to indicate an unassigned PCI resource ?

From: Alan <[email-masked]>
Date: Mon, 4 Dec 2006 14:22:01 +0000

On Mon, 04 Dec 2006 16:27:47 +0300
Sergei Shtylyov <[email-masked]> wrote:

> > Both PCI core and IDE interpret a zero length resource as unassigned.
> 
>    This is not about 0-length resource, this is about 0-address. Look at 
> ide_hwif_confiure() in drivers/ide/setup-pci.c...

The discussion I was having was about sl82cxx and handling unassigned
resources. The zero address isn't relevant to that.
 
>     You should know that the IRQ assumption is *not* true even for x86 since 
> IRQ0 is and has always been a perfectly valid IRQ (used by PIT).

Please see previous million recyclings of that discussion and Linus
answer.
 
> > Stick a real IDE resource at zero
>  > and drivers/ide can't cope.
> 
>     Yeah, I've noticed. Unfortunately, a lot of PPC platforms (at least) are 
> doing exactly this...

The checks need pushing upwards and removing from their current place -
the pci layer should check the resource length, the isa pnp should I
believe check for zero address etc.

libata makes a similar assumption in ata_resources_present() as someone
(GregKH ???) needs to define what the proper way to encode "resource not
allocated" into the PCI resources should be. If someone on the PCI list
(cc'd) or Greg can give a definitive answer then we can go fix the
offenders now.

Alan