Add driver for Intel La Jolla Cove Adapter (LJCA) device. This is a USB-GPIO, USB-I2C and USB-SPI device. We add 4 drivers to support this device: a USB driver, a GPIO chip driver, a I2C controller driver and a SPI controller driver. --- v9: - overhaul usb-ljca driver to make it more structured and easy understanding - fix memory leak issue for usb-ljca driver - add spinlock to protect tx_buf and ex_buf - change exported APIs for usb-ljca driver - unify prefix for structures and functions for i2c-ljca driver - unify prefix for structures and functions for spi-ljca driver - unify prefix for structures and functions for gpio-ljca driver - update gpio-ljca, i2c-ljca and spi-ljca drivers according to usb-ljca's changes Wentong Wu (4): usb: Add support for Intel LJCA device i2c: Add support for Intel LJCA USB I2C driver spi: Add support for Intel LJCA USB SPI driver gpio: update Intel LJCA USB GPIO driver drivers/gpio/Kconfig | 4 +- drivers/gpio/gpio-ljca.c | 242 +++++++------ drivers/i2c/busses/Kconfig | 11 + drivers/i2c/busses/Makefile | 1 + drivers/i2c/busses/i2c-ljca.c | 353 ++++++++++++++++++ drivers/spi/Kconfig | 11 + drivers/spi/Makefile | 1 + drivers/spi/spi-ljca.c | 299 ++++++++++++++++ drivers/usb/misc/Kconfig | 14 + drivers/usb/misc/Makefile | 1 + drivers/usb/misc/usb-ljca.c | 817 ++++++++++++++++++++++++++++++++++++++++++ include/linux/usb/ljca.h | 113 ++++++ 12 files changed, 1764 insertions(+), 103 deletions(-) create mode 100644 drivers/i2c/busses/i2c-ljca.c create mode 100644 drivers/spi/spi-ljca.c create mode 100644 drivers/usb/misc/usb-ljca.c create mode 100644 include/linux/usb/ljca.h -- 2.7.4