Hi, I'm in the process of building a robot using a gumstix as the main processor. My gumstix is currently running 2.6.9-rc1. I'd like to use the i2c bus to hook together a bunch of I/O processors to the gumstix and I'd like to have the I/O processors act as masters to send information to the host (gumstix) asynchronously. I'm primarily interested in using the dev interface I found the i2c TODO list: http://www2.lm-sensors.nu/~lm78/cvs/browse.cgi/i2c/TODO And, I think I'd like to work on this particular item (I'm still trying to come to terms with all of the terminology so I could be wrong :) 97 * Host-as-slave mode in i2c adapters may need to be integrated 98 with the adapter host code, because the lm_sensors-type chip driver 99 architecture is not well suited to implementing a chip slave, 100 the slave mode will require locking with the master mode, and 101 specialized commmunication such as "Notify ARP Master". 102 Adapters may respond to one or more host-as-slave addresses. The 103 functionality bits and the rest of the API will have to be extended 104 to support slaves embedded in host adapters. I saw the recent thread on multiple master http://archives.andrew.net.au/lm-sensors/msg27650.html I don't quite understand the "Notify ARP Master". I searched through the i2c sources (drivers/i2c) and could find no references to "arp". >From my recent readings about i2c, here's my naive brain dump (my terminology could be off - please correct) of what might be required. - The host would leave the i2c adapter in slave mode so that it could accept incoming data from another master. - Sending data would switch into master mode and proceed as it dows now. - Loss of arbitration on a send would need to try sending again when the bus isn't busy. - The adapter would need to know it's address so it can detect if an incoming request is for it. - The dev interface would need an ioctl to set the adapter address - The dev interface would need an ioctl to get the data from another master. This would need to include the address used (in the event that the general call address is supported or multiple addresses are assigned to the host) That should be enough to start some discussion.... -- Dave Hylands Vancouver, BC, Canada http://www.DaveHylands.com/