Re: [PATCH 1/2] [RESEND] PCI: read revision ID by default

From: Arjan van de Ven
Date: Mon Jun 25 2007 - 15:49:26 EST


On Mon, 2007-06-25 at 11:49 -0700, Kok, Auke wrote:
> Alan Cox wrote:
> > On Sun, 24 Jun 2007 20:19:18 -0700
> > Auke Kok <auke-jan.h.kok@xxxxxxxxx> wrote:
> >
> >> Currently there are 97 occurrences where drivers need the pci
> >> revision ID. We can do this once for all devices. Even the pci
> >> subsystem needs the revision several times for quirks. The extra
> >> u8 member pads out nicely in the pci_dev struct.
> >>
> >> Signed-off-by: Auke Kok <auke-jan.h.kok@xxxxxxxxx>
> >
> > Seems worth caching yes. Care needed changing the other uses however
> > that the revision isn't changeable on the hardware in some magic fashion.
>
> if that happens the device could also change pci ID... I don't think we can
> guard against that kind of abuse anyway. While this is perfectly possible (e.g.
> network cards carrying this info in their eeproms), we should still be OK with
> the core patch, but the device driver itself needs to pull the information
> manually from the device using the pci_get_config_byte() method.


the other thing btw is that this approach allows us to use quirks and
the like to fix up "crap".

Maybe a good rule-of-thumb (and as with any other rule of thumb there
are exceptions): Drivers should NEVER touch the standard part of PCI
config space without going through a specific PCI layer API for the
value they want.



-
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/