OSDN Git Service

HID: cp2112: support i2c write-read transfers in hid-cp2112
authorEllen Wang <ellen@cumulusnetworks.com>
Fri, 10 Jul 2015 04:55:06 +0000 (21:55 -0700)
committerJiri Kosina <jkosina@suse.com>
Fri, 10 Jul 2015 09:18:45 +0000 (11:18 +0200)
commit44eda784a2229d25e2724ef1734fe67453716231
treef9790205b23f4bc5ec1909159b0b4316c77ef437
parent5ddfb12e90c73cf86881345be422e09c367f6981
HID: cp2112: support i2c write-read transfers in hid-cp2112

cp2112_i2c_xfer() only supports a single i2c_msg.  More than
one message at a time just returns EIO.  This breaks certain
important cases.  For example, the at24 eeprom driver generates
paired write and read messages (for eeprom address and data).

Since the device doesn't support i2c repeated starts in general,
but does support a single write-repeated-start-read pair
(since hardware rev 1), we recognize the latter case and
implement only that.

Signed-off-by: Ellen Wang <ellen@cumulusnetworks.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/hid-cp2112.c