hw/i2c: pmbus: refactor uint handling
This change cleans up the inputs to pmbus_receive uint, the length of received data is contained in PMBusDevice state and doesn't need to be passed around. Signed-off-by: Titus Rwantare <titusr@google.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Acked-by: Corey Minyard <cminyard@mvista.com> Message-Id: <20220307200605.4001451-5-titusr@google.com> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
parent
2192aaae1c
commit
78fdfc59b1
@ -89,16 +89,16 @@ void pmbus_send_string(PMBusDevice *pmdev, const char *data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static uint64_t pmbus_receive_uint(const uint8_t *buf, uint8_t len)
|
static uint64_t pmbus_receive_uint(PMBusDevice *pmdev)
|
||||||
{
|
{
|
||||||
uint64_t ret = 0;
|
uint64_t ret = 0;
|
||||||
|
|
||||||
/* Exclude command code from return value */
|
/* Exclude command code from return value */
|
||||||
buf++;
|
pmdev->in_buf++;
|
||||||
len--;
|
pmdev->in_buf_len--;
|
||||||
|
|
||||||
for (int i = len - 1; i >= 0; i--) {
|
for (int i = pmdev->in_buf_len - 1; i >= 0; i--) {
|
||||||
ret = ret << 8 | buf[i];
|
ret = ret << 8 | pmdev->in_buf[i];
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -110,7 +110,7 @@ uint8_t pmbus_receive8(PMBusDevice *pmdev)
|
|||||||
"%s: length mismatch. Expected 1 byte, got %d bytes\n",
|
"%s: length mismatch. Expected 1 byte, got %d bytes\n",
|
||||||
__func__, pmdev->in_buf_len - 1);
|
__func__, pmdev->in_buf_len - 1);
|
||||||
}
|
}
|
||||||
return pmbus_receive_uint(pmdev->in_buf, pmdev->in_buf_len);
|
return pmbus_receive_uint(pmdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16_t pmbus_receive16(PMBusDevice *pmdev)
|
uint16_t pmbus_receive16(PMBusDevice *pmdev)
|
||||||
@ -120,7 +120,7 @@ uint16_t pmbus_receive16(PMBusDevice *pmdev)
|
|||||||
"%s: length mismatch. Expected 2 bytes, got %d bytes\n",
|
"%s: length mismatch. Expected 2 bytes, got %d bytes\n",
|
||||||
__func__, pmdev->in_buf_len - 1);
|
__func__, pmdev->in_buf_len - 1);
|
||||||
}
|
}
|
||||||
return pmbus_receive_uint(pmdev->in_buf, pmdev->in_buf_len);
|
return pmbus_receive_uint(pmdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t pmbus_receive32(PMBusDevice *pmdev)
|
uint32_t pmbus_receive32(PMBusDevice *pmdev)
|
||||||
@ -130,7 +130,7 @@ uint32_t pmbus_receive32(PMBusDevice *pmdev)
|
|||||||
"%s: length mismatch. Expected 4 bytes, got %d bytes\n",
|
"%s: length mismatch. Expected 4 bytes, got %d bytes\n",
|
||||||
__func__, pmdev->in_buf_len - 1);
|
__func__, pmdev->in_buf_len - 1);
|
||||||
}
|
}
|
||||||
return pmbus_receive_uint(pmdev->in_buf, pmdev->in_buf_len);
|
return pmbus_receive_uint(pmdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t pmbus_receive64(PMBusDevice *pmdev)
|
uint64_t pmbus_receive64(PMBusDevice *pmdev)
|
||||||
@ -140,7 +140,7 @@ uint64_t pmbus_receive64(PMBusDevice *pmdev)
|
|||||||
"%s: length mismatch. Expected 8 bytes, got %d bytes\n",
|
"%s: length mismatch. Expected 8 bytes, got %d bytes\n",
|
||||||
__func__, pmdev->in_buf_len - 1);
|
__func__, pmdev->in_buf_len - 1);
|
||||||
}
|
}
|
||||||
return pmbus_receive_uint(pmdev->in_buf, pmdev->in_buf_len);
|
return pmbus_receive_uint(pmdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint8_t pmbus_out_buf_pop(PMBusDevice *pmdev)
|
static uint8_t pmbus_out_buf_pop(PMBusDevice *pmdev)
|
||||||
|
Loading…
Reference in New Issue
Block a user