On Sun, Feb 14, 2010 at 6:37 PM, jassi brar <[email protected]> wrote: > On Mon, Feb 15, 2010 at 8:20 AM, Linus Walleij > <[email protected]> wrote: >> 2010/1/19 Grant Likely <[email protected]>: >> >>> The current model is that each spi_device is registered with an >>> spi_master. Many device drivers operate on the assumption that the >>> ->master pointer is valid. With this patch, it appears that >>> spi_devices can be registered either against an spi_master or an >>> spi_slave; thus invalidating the assumption drivers are already >>> operating under. That alone makes me nervous. >> >> IIRC in my last review of this patch I proposed that drivers be >> either master, slave or both. With the current approach that would >> mean putting #ifdefs over the ->master as well and making master >> support optional. (You can even #ifdef out these parts of the struct >> to be absolutely sure.) > > I don't think adding SPI_SLAVE support is just a matter of providing > additional callbacks and structures, as is pointed out in this thread.... > http://www.mail-archive.com/[email protected]/msg00368.html > > We'd better see if the implementation covers at least some aspects of > being a SPI slave, > otherwise it seems more like a 'workaround' than support.
I agree. I need to see a real usage model before I merge anything. As it stands right now, spi_master looks like an entirely different thing from an spi_slave, even if both happen to use spi_messages (although spi_message only seems to handle a small number of the possible spi slave use cases. For example, it doesn't address at all a command and response within the same SPI transfer). I don't at all like the idea of allowing the current spi_device to be registered on either an spi_master or an spi_slave. I may let a driver through that happens to turn on an SPI slave mode in the hardware, but if you're doing that, be aware that it may be an abuse of the spi_master model, and you'll get little sympathy when breakage happens. I haven't seen anything spi_slave related yet that I'll merge in the common spi code. g. ------------------------------------------------------------------------------ SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW http://p.sf.net/sfu/solaris-dev2dev _______________________________________________ spi-devel-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/spi-devel-general
