From f956dc46fc20df0036bbb9f281c2ee6060fce62c Mon Sep 17 00:00:00 2001 From: Randall Spangler Date: Wed, 4 Feb 2015 11:28:15 -0800 Subject: [PATCH] smbus: Don't use shared memory buffer for word writes This is a waste of code, since it trades off a 5-byte buffer for a 4-byte pointer. BUG=chrome-os-partner:36362 BRANCH=none TEST=make buildall -j Change-Id: I2b3336ba2c4804f2781592d2c939ae28e83c846b Signed-off-by: Randall Spangler Reviewed-on: https://chromium-review.googlesource.com/246180 Reviewed-by: Vic Yang --- common/smbus.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/common/smbus.c b/common/smbus.c index aea915f54e..ea7ece7d59 100644 --- a/common/smbus.c +++ b/common/smbus.c @@ -143,18 +143,13 @@ int smbus_write_word(uint8_t i2c_port, uint8_t slave_addr, uint8_t smbus_cmd, uint16_t d16) { int rv; - struct smbus_wr_word *s; - rv = shared_mem_acquire(sizeof(struct smbus_wr_word), (char **)&s); - if (rv) { - CPRINTF("smbus write wd[%02X] mem error\n", smbus_cmd); - return rv; - } - s->slave_addr = slave_addr, - s->smbus_cmd = smbus_cmd; - s->data[0] = d16 & 0xFF; - s->data[1] = (d16 >> 8) & 0xFF; - rv = smbus_if_write(i2c_port, (struct smbus_wr_if *)s, 0, 2, 1); - shared_mem_release(s); + struct smbus_wr_word s; + + s.slave_addr = slave_addr, + s.smbus_cmd = smbus_cmd; + s.data[0] = d16 & 0xFF; + s.data[1] = (d16 >> 8) & 0xFF; + rv = smbus_if_write(i2c_port, (struct smbus_wr_if *)&s, 0, 2, 1); return rv; }