[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <1182800909.2696.3.camel@laptopd505.fenrus.org>
Date: Mon, 25 Jun 2007 12:48:29 -0700
From: Arjan van de Ven <arjan@...radead.org>
To: "Kok, Auke" <auke-jan.h.kok@...el.com>
Cc: Alan Cox <alan@...rguk.ukuu.org.uk>, gregkh@...e.de,
linux-pci@...ey.karlin.mff.cuni.cz, linux-kernel@...r.kernel.org,
grundler@...isc-linux.org, davem@...emloft.net, davej@...hat.com
Subject: Re: [PATCH 1/2] [RESEND] PCI: read revision ID by default
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@...el.com> 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@...el.com>
> >
> > 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists