[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 10/13] hw/misc/auxbus: Replace i2c_send_recv() by i2c_recv
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v3 10/13] hw/misc/auxbus: Replace i2c_send_recv() by i2c_recv() & i2c_send() |
Date: |
Wed, 16 Jun 2021 21:28:10 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 |
On 6/16/21 8:46 PM, Richard Henderson wrote:
> On 6/16/21 9:14 AM, Philippe Mathieu-Daudé wrote:
>> @@ -161,12 +157,11 @@ AUXReply aux_request(AUXBus *bus, AUXCommand
>> cmd, uint32_t address,
>> }
>> ret = AUX_I2C_ACK;
>> - while (len > 0) {
>> - if (i2c_send_recv(i2c_bus, data++, true) < 0) {
>> + for (i = 0; i < len; i++) {
>> + if (i2c_send(i2c_bus, data[i]) < 0) {
>> ret = AUX_I2C_NACK;
>> break;
>> }
>> - len--;
>> }
>
> This form of updating ret is better than...
>
>> @@ -200,14 +195,13 @@ AUXReply aux_request(AUXBus *bus, AUXCommand
>> cmd, uint32_t address,
>> bus->last_transaction = cmd;
>> bus->last_i2c_address = address;
>> - while (len > 0) {
>> - if (i2c_send_recv(i2c_bus, data++, true) < 0) {
>> + for (i = 0; i < len; i++) {
>> + if (i2c_send(i2c_bus, data[i]) < 0) {
>> i2c_end_transfer(i2c_bus);
>> break;
>> }
>> - len--;
>> }
>> - if (len == 0) {
>> + if (i == len) {
>> ret = AUX_I2C_ACK;
>> }
>
> ... this one.
I totally agree :) I was a bit ashamed for posting that, I thought
Zoltan would prefer less changes so used this form.
Will update on respin.
> Otherwise,
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Thanks!
- Re: [PATCH v3 06/13] hw/i2c/ppc4xx_i2c: Replace i2c_send_recv() by i2c_recv() & i2c_send(), (continued)
[PATCH v3 07/13] hw/misc/auxbus: Fix MOT/classic I2C mode, Philippe Mathieu-Daudé, 2021/06/16
[PATCH v3 08/13] hw/misc/auxbus: Explode READ_I2C / WRITE_I2C_MOT cases, Philippe Mathieu-Daudé, 2021/06/16
[PATCH v3 09/13] hw/misc/auxbus: Replace 'is_write' boolean by its value, Philippe Mathieu-Daudé, 2021/06/16
[PATCH v3 10/13] hw/misc/auxbus: Replace i2c_send_recv() by i2c_recv() & i2c_send(), Philippe Mathieu-Daudé, 2021/06/16
[PATCH v3 11/13] hw/i2c: Remove confusing i2c_send_recv(), Philippe Mathieu-Daudé, 2021/06/16
[PATCH v3 12/13] hw/i2c: Rename i2c_set_slave_address() -> i2c_slave_set_address(), Philippe Mathieu-Daudé, 2021/06/16
[PATCH v3 13/13] hw/i2c: Make i2c_start_transfer() direction argument a boolean, Philippe Mathieu-Daudé, 2021/06/16
Re: [PATCH v3 00/13] hw/i2c: Remove confusing i2c_send_recv() API, Corey Minyard, 2021/06/16