[PATCH 1/7] spi: Add support for device table matching
Anton Vorontsov
avorontsov at ru.mvista.com
Wed Jul 29 18:40:50 EDT 2009
On Thu, Jul 30, 2009 at 02:32:23AM +0400, Anton Vorontsov wrote:
> On Wed, Jul 29, 2009 at 10:44:46PM +0100, Ben Dooks wrote:
> [...]
> > > + const struct spi_device_id *id_table;
> > > + int (*probe_id)(struct spi_device *spi,
> > > + const struct spi_device_id *id);
> >
> > how about leaving it at just probe and have either a call or a field
> > in the device that you can look at to see if this was a new style of
> > call?
>
> There are no technical difficulties with that, but it would be
> inconsitent wrt other "device table"-aware buses (i2c, pci, of).
Btw, I guess there are few reasons why other buses pass id via
probe() call:
- You'll have to store the "id" in device struct forever, while
in most cases you only need it during probe(), then you don't
need it at all;
- If you don't store "id" in the device struct, you'll have
to look up the device table twice (at first during bus->match(),
and second time in drivers' probe() hook, i.e.
probe(struct bus_dev *dev) {
id = bus_get_devid(dev); /* here */
}
--
Anton Vorontsov
email: cbouatmailru at gmail.com
irc://irc.freenode.net/bd2
More information about the linux-mtd
mailing list