From: BALATON Zoltan <balaton@eik.bme.hu>
To: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
Cc: cminyard@mvista.com,
"Signed-off-by : Frederic Konrad" <frederic.konrad@adacore.com>,
qemu-arm@nongnu.org, qemu-ppc@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [PATCH v3 06/13] hw/i2c/ppc4xx_i2c: Replace i2c_send_recv() by i2c_recv() & i2c_send()
Date: Fri, 18 Jun 2021 01:49:01 +0200 (CEST) [thread overview]
Message-ID: <675080b9-cb1-9ee4-c515-ebd0401b302b@eik.bme.hu> (raw)
In-Reply-To: <416b4c36-b838-a5f4-6575-74685627b9c3@amsat.org>
[-- Attachment #1: Type: text/plain, Size: 3179 bytes --]
On Wed, 16 Jun 2021, Philippe Mathieu-Daudé wrote:
> On 6/16/21 10:01 PM, BALATON Zoltan wrote:
>> On Wed, 16 Jun 2021, Philippe Mathieu-Daudé wrote:
>>> On 6/16/21 9:16 PM, Corey Minyard wrote:
>>>> On Wed, Jun 16, 2021 at 06:14:11PM +0200, Philippe Mathieu-Daudé wrote:
>>>>> Instead of using the confuse i2c_send_recv(), rewrite to directly
>>>>> call i2c_recv() & i2c_send(), resulting in code easire to review.
>>>>>
>>>>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>>>> ---
>>>>> hw/i2c/ppc4xx_i2c.c | 13 ++++++++-----
>>>>> 1 file changed, 8 insertions(+), 5 deletions(-)
>>>>>
>>>>> diff --git a/hw/i2c/ppc4xx_i2c.c b/hw/i2c/ppc4xx_i2c.c
>>>>> index f4c5bc12d36..b3d3da56e38 100644
>>>>> --- a/hw/i2c/ppc4xx_i2c.c
>>>>> +++ b/hw/i2c/ppc4xx_i2c.c
>>>>> @@ -240,11 +240,14 @@ static void ppc4xx_i2c_writeb(void *opaque,
>>>>> hwaddr addr, uint64_t value,
>>>>> i2c->sts &= ~IIC_STS_ERR;
>>>>> }
>>>>> }
>>>>> - if (!(i2c->sts & IIC_STS_ERR) &&
>>>>> - i2c_send_recv(i2c->bus, &i2c->mdata[i], !recv)) {
>>>>> - i2c->sts |= IIC_STS_ERR;
>>>>> - i2c->extsts |= IIC_EXTSTS_XFRA;
>>>>> - break;
>>>>> + if (!(i2c->sts & IIC_STS_ERR)) {
>>>>> + if (recv) {
>>>>> + i2c->mdata[i] = i2c_recv(i2c->bus);
>>>>> + } else if (i2c_send(i2c->bus, i2c->mdata[i])) {
>>>>
>>>> In the previous patch you checked < 0, it would be nice to be
>>>> consistent.
>>>
>>> I did that first but thought Zoltan wouldn't be happy, then went back :)
>>>
>>> I'll fix for the next iteration, thanks.
>>
>> I generally had no problem with i2c_send_recv only that its argument
>> that decides which operation to do was inverted compared to other
>> similar i2c functions so my original patch just corrected that for
>> consistency and I was happy with that.
>
> But we have to make the maintainer happy too to get patch merged ;)
>
>> Having a send_recv in one func
>> allowed to avoid if-else in some places like these but if you think it's
>> better without this function at all I can work with that too. I'll have
>> to check if these changes could break anything. At first sight I'm not
>> sure errors are handled as before if recv fails but it was years ago I
>> did the sm501 and ati parts and I forgot how they work so I need to
>> check again. I'll wait for the final version of the series then and test
>> that.
>
> Thanks, that would be great!
I've tried AmigaOS and MorphOS on sam460ex and mac99 with sm501 and
ati-vga and these still work so I think the patches are OK but I did not
test other changes to other machines so I did not give a tested-by for the
series just some reviewed-by to patches I've verified. (Found a regression
with AROS but that's not related to these changes.)
Regards,
BALATON Zoltan
next prev parent reply other threads:[~2021-06-17 23:49 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-16 16:14 [PATCH v3 00/13] hw/i2c: Remove confusing i2c_send_recv() API Philippe Mathieu-Daudé
2021-06-16 16:14 ` [PATCH v3 01/13] hw/input/lm832x: Move lm832x_key_event() declaration to "lm832x.h" Philippe Mathieu-Daudé
2021-06-16 18:38 ` Richard Henderson
2021-06-16 19:23 ` Philippe Mathieu-Daudé
2021-06-16 16:14 ` [PATCH v3 02/13] hw/input/lm832x: Define TYPE_LM8323 in public header Philippe Mathieu-Daudé
2021-06-16 18:39 ` Richard Henderson
2021-06-16 16:14 ` [PATCH v3 03/13] hw/display/sm501: Simplify sm501_i2c_write() logic Philippe Mathieu-Daudé
2021-06-16 18:39 ` Richard Henderson
2021-06-16 16:14 ` [PATCH v3 04/13] hw/display/sm501: Replace i2c_send_recv() by i2c_recv() & i2c_send() Philippe Mathieu-Daudé
2021-06-16 18:40 ` Richard Henderson
2021-06-16 19:14 ` Corey Minyard
2021-06-16 16:14 ` [PATCH v3 05/13] hw/i2c/ppc4xx_i2c: Add reference to datasheet Philippe Mathieu-Daudé
2021-06-16 18:40 ` Richard Henderson
2021-06-16 16:14 ` [PATCH v3 06/13] hw/i2c/ppc4xx_i2c: Replace i2c_send_recv() by i2c_recv() & i2c_send() Philippe Mathieu-Daudé
2021-06-16 18:41 ` Richard Henderson
2021-06-16 19:16 ` Corey Minyard
2021-06-16 19:25 ` Philippe Mathieu-Daudé
2021-06-16 20:01 ` BALATON Zoltan
2021-06-16 20:28 ` Philippe Mathieu-Daudé
2021-06-16 23:09 ` BALATON Zoltan
2021-06-16 23:42 ` Corey Minyard
2021-06-17 23:49 ` BALATON Zoltan [this message]
2021-06-18 8:54 ` Philippe Mathieu-Daudé
2021-06-16 16:14 ` [PATCH v3 07/13] hw/misc/auxbus: Fix MOT/classic I2C mode Philippe Mathieu-Daudé
2021-06-16 18:41 ` Richard Henderson
2021-06-16 16:14 ` [PATCH v3 08/13] hw/misc/auxbus: Explode READ_I2C / WRITE_I2C_MOT cases Philippe Mathieu-Daudé
2021-06-16 18:41 ` Richard Henderson
2021-06-16 16:14 ` [PATCH v3 09/13] hw/misc/auxbus: Replace 'is_write' boolean by its value Philippe Mathieu-Daudé
2021-06-16 18:43 ` Richard Henderson
2021-06-16 16:14 ` [PATCH v3 10/13] hw/misc/auxbus: Replace i2c_send_recv() by i2c_recv() & i2c_send() Philippe Mathieu-Daudé
2021-06-16 18:46 ` Richard Henderson
2021-06-16 19:28 ` Philippe Mathieu-Daudé
2021-06-16 20:06 ` BALATON Zoltan
2021-06-16 16:14 ` [PATCH v3 11/13] hw/i2c: Remove confusing i2c_send_recv() Philippe Mathieu-Daudé
2021-06-16 18:47 ` Richard Henderson
2021-06-16 16:14 ` [PATCH v3 12/13] hw/i2c: Rename i2c_set_slave_address() -> i2c_slave_set_address() Philippe Mathieu-Daudé
2021-06-16 18:50 ` Richard Henderson
2021-06-16 16:14 ` [PATCH v3 13/13] hw/i2c: Make i2c_start_transfer() direction argument a boolean Philippe Mathieu-Daudé
2021-06-16 19:02 ` Richard Henderson
2021-06-16 19:28 ` [PATCH v3 00/13] hw/i2c: Remove confusing i2c_send_recv() API Corey Minyard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=675080b9-cb1-9ee4-c515-ebd0401b302b@eik.bme.hu \
--to=balaton@eik.bme.hu \
--cc=cminyard@mvista.com \
--cc=f4bug@amsat.org \
--cc=frederic.konrad@adacore.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.