diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2014-03-31 18:26:29 +0200 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2014-05-07 19:14:41 +0300 |
commit | 285364e96818c1a5f715fe256557b4a718222bc6 (patch) | |
tree | a9779bdc44fa5804d77657d2c4ef29e79b00e9a0 | |
parent | aa93200b88fb1071eaf21bf766711762ed4630e2 (diff) | |
download | qemu-285364e96818c1a5f715fe256557b4a718222bc6.zip qemu-285364e96818c1a5f715fe256557b4a718222bc6.tar.gz qemu-285364e96818c1a5f715fe256557b4a718222bc6.tar.bz2 |
smbus: allow returning an error from reads
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-rw-r--r-- | hw/i2c/smbus.c | 6 | ||||
-rw-r--r-- | include/hw/i2c/smbus.h | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/hw/i2c/smbus.c b/hw/i2c/smbus.c index 3febf3c..190f08e 100644 --- a/hw/i2c/smbus.c +++ b/hw/i2c/smbus.c @@ -214,7 +214,7 @@ void smbus_quick_command(I2CBus *bus, uint8_t addr, int read) i2c_end_transfer(bus); } -uint8_t smbus_receive_byte(I2CBus *bus, uint8_t addr) +int smbus_receive_byte(I2CBus *bus, uint8_t addr) { uint8_t data; @@ -232,7 +232,7 @@ void smbus_send_byte(I2CBus *bus, uint8_t addr, uint8_t data) i2c_end_transfer(bus); } -uint8_t smbus_read_byte(I2CBus *bus, uint8_t addr, uint8_t command) +int smbus_read_byte(I2CBus *bus, uint8_t addr, uint8_t command) { uint8_t data; i2c_start_transfer(bus, addr, 0); @@ -252,7 +252,7 @@ void smbus_write_byte(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t data) i2c_end_transfer(bus); } -uint16_t smbus_read_word(I2CBus *bus, uint8_t addr, uint8_t command) +int smbus_read_word(I2CBus *bus, uint8_t addr, uint8_t command) { uint16_t data; i2c_start_transfer(bus, addr, 0); diff --git a/include/hw/i2c/smbus.h b/include/hw/i2c/smbus.h index 63f0cc4..285d3b5 100644 --- a/include/hw/i2c/smbus.h +++ b/include/hw/i2c/smbus.h @@ -67,11 +67,11 @@ struct SMBusDevice { /* Master device commands. */ void smbus_quick_command(I2CBus *bus, uint8_t addr, int read); -uint8_t smbus_receive_byte(I2CBus *bus, uint8_t addr); +int smbus_receive_byte(I2CBus *bus, uint8_t addr); void smbus_send_byte(I2CBus *bus, uint8_t addr, uint8_t data); -uint8_t smbus_read_byte(I2CBus *bus, uint8_t addr, uint8_t command); +int smbus_read_byte(I2CBus *bus, uint8_t addr, uint8_t command); void smbus_write_byte(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t data); -uint16_t smbus_read_word(I2CBus *bus, uint8_t addr, uint8_t command); +int smbus_read_word(I2CBus *bus, uint8_t addr, uint8_t command); void smbus_write_word(I2CBus *bus, uint8_t addr, uint8_t command, uint16_t data); int smbus_read_block(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t *data); void smbus_write_block(I2CBus *bus, uint8_t addr, uint8_t command, uint8_t *data, |