Re: devres and requesting resources

From: Alan Cox
Date: Fri Feb 29 2008 - 06:37:59 EST


> In converting to pcim_iomap_regions(), we no longer reserve /all/
> regions, only the ones requested.
>
> This is actually a bug: it was intentional to call
> pci_request_regions(), because that ensures that no other software will
> use our resources -- even if we are not actively using the resource in
> question.

That would be a bug. We should only reserve the regions we are using. It
is possible that the other regions can be used correctly by another driver
(consider the CS5520 or the MPIIX where the IDE is only part of one
function of the PCI device).

I believe the current code is in fact correct.

> Or IOW, I wanted to ensure that there would be no device sharing...
> which this devres conversion accidentally enabled.

Why ?

> The simple fix is obviously to replace pci_request_region() call with
> pci_request_regions() in lib/devres.c, but I wonder if that will break
> any existing driver?

It would make devres mostly useless especially outside of libata.

Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/