On Wed, 17 Sep 2014, Johan Hovold wrote: > On Tue, Sep 09, 2014 at 10:24:44PM +0300, Octavian Purdila wrote: > > This patch implements the USB part of the Diolan USB-I2C/SPI/GPIO > > Master Adapter DLN-2. Details about the device can be found here: > > > > https://www.diolan.com/i2c/i2c_interface.html. > > > > Information about the USB protocol can be found in the Programmer's > > Reference Manual [1], see section 1.7. > > > > Because the hardware has a single transmit endpoint and a single > > receive endpoint the communication between the various DLN2 drivers > > and the hardware will be muxed/demuxed by this driver. > > > > Each DLN2 module will be identified by the handle field within the DLN2 > > message header. If a DLN2 module issues multiple commands in parallel > > they will be identified by the echo counter field in the message header. > > > > The DLN2 modules can use the dln2_transfer() function to issue a > > command and wait for its response. They can also register a callback > > that is going to be called when a specific event id is generated by > > the device (e.g. GPIO interrupts). The device uses handle 0 for > > sending events. > > > > [1] https://www.diolan.com/downloads/dln-api-manual.pdf > > > > Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> > > --- > > drivers/mfd/Kconfig | 9 + > > drivers/mfd/Makefile | 1 + > > drivers/mfd/dln2.c | 681 +++++++++++++++++++++++++++++++++++++++++++++++ > > include/linux/mfd/dln2.h | 71 +++++ > > 4 files changed, 762 insertions(+) > > create mode 100644 drivers/mfd/dln2.c > > create mode 100644 include/linux/mfd/dln2.h [...] > Unless anyone suggests otherwise (e.g. to stick with auto id), I'll add > a helper function for this and fix up those two drivers. Appreciated. -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html