On Fri, May 16, 2008 at 01:36:13PM -0600, Grant Likely wrote: > From: Grant Likely <[EMAIL PROTECTED]> > > This patch adds support for populating an SPI bus based on data in the > OF device tree. This is useful for powerpc platforms which use the > device tree instead of discrete code for describing platform layout. > > Signed-off-by: Grant Likely <[EMAIL PROTECTED]> > --- [...] > diff --git a/drivers/spi/spi_of.c b/drivers/spi/spi_of.c > new file mode 100644 > index 0000000..b5ae434 > --- /dev/null > +++ b/drivers/spi/spi_of.c > @@ -0,0 +1,86 @@ > +/*
I think better placement for this is drivers/of, no? > + * SPI OF support routines > + * Copyright (C) 2008 Secret Lab Technologies Ltd. > + * > + * Support routines for deriving SPI device attachments from the device > + * tree. > + */ > + > +#include <linux/of.h> > +#include <linux/device.h> > +#include <linux/spi/spi.h> > +#include <linux/spi/spi_of.h> > + > +/** > + * spi_of_register_devices - Register child devices onto the SPI bus > + * @master: Pointer to spi_master device > + * @np: parent node of SPI device nodes > + * > + * Registers an spi_device for each child node of 'np' which has a 'reg' > + * property. > + */ > +void spi_of_register_devices(struct spi_master *master, struct device_node > *np) > +{ > + struct spi_device *spi; > + struct device_node *nc; > + const u32 *prop; > + const char *sprop; > + int rc; > + int len; > + > + for_each_child_of_node(np, nc) { > + /* Alloc an spi_device */ > + spi = spi_alloc_device(master); > + if (!spi) { > + dev_err(&master->dev, "spi_device alloc error for %s\n", > + np->full_name); > + continue; > + } > + > + /* Device address */ > + prop = of_get_property(nc, "reg", &len); > + if (!prop || len < sizeof(*prop)) { > + dev_err(&master->dev, "%s has no 'reg' property\n", > + np->full_name); Should be nc->full_name. > + continue; > + } [...] -- Anton Vorontsov email: [EMAIL PROTECTED] irc://irc.freenode.net/bd2 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev