[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 04/16] i2c: Don't check return value from i2c
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH v3 04/16] i2c: Don't check return value from i2c_recv() |
Date: |
Fri, 30 Nov 2018 17:25:40 +0000 |
On Mon, 26 Nov 2018 at 20:04, <address@hidden> wrote:
>
> From: Corey Minyard <address@hidden>
>
> i2c_recv() cannot fail, so there is no need to check the return
> value. It also returns unt8_t, so comparing with < 0 is not
> meaningful.
>
> Fix up various I2C controllers to remove the unneeded code.
>
> Signed-off-by: Corey Minyard <address@hidden>
> Suggested-by: Peter Maydell <address@hidden>
> ---
> diff --git a/hw/i2c/exynos4210_i2c.c b/hw/i2c/exynos4210_i2c.c
> index c96fa7d7be..43f284eab7 100644
> --- a/hw/i2c/exynos4210_i2c.c
> +++ b/hw/i2c/exynos4210_i2c.c
> @@ -106,12 +106,12 @@ static inline void
> exynos4210_i2c_raise_interrupt(Exynos4210I2CState *s)
> static void exynos4210_i2c_data_receive(void *opaque)
> {
> Exynos4210I2CState *s = (Exynos4210I2CState *)opaque;
> - int ret;
> + uint8_t ret;
>
> s->i2cstat &= ~I2CSTAT_LAST_BIT;
> s->scl_free = false;
> ret = i2c_recv(s->bus);
> - if (ret < 0 && (s->i2ccon & I2CCON_ACK_GEN)) {
> + if (s->i2ccon & I2CCON_ACK_GEN) {
> s->i2cstat |= I2CSTAT_LAST_BIT; /* Data is not acknowledged */
Previously the code was doing this only if i2c_recv()
failed (returned a negative value) and ACK_GEN was set.
i2c_recv() can never fail, so this if() {} branch should
be deleted entirely ("false && something" simplifies
to "false", not "something").
> } else {
> s->i2cds = ret;
The rest of the patch looks good.
thanks
-- PMM
- [Qemu-devel] [PATCH v3 00/16] Fix/add vmstate handling in some I2C code, minyard, 2018/11/26
- [Qemu-devel] [PATCH v3 03/16] arm:i2c: Don't mask return from i2c_recv(), minyard, 2018/11/26
- [Qemu-devel] [PATCH v3 09/16] migration: Add a VMSTATE_BOOL_TEST() macro, minyard, 2018/11/26
- [Qemu-devel] [PATCH v3 10/16] i2c:pm_smbus: Fix state transfer, minyard, 2018/11/26
- [Qemu-devel] [PATCH v3 13/16] i2c:smbus_eeprom: Add a size constant for the smbus_eeprom size, minyard, 2018/11/26
- [Qemu-devel] [PATCH v3 04/16] i2c: Don't check return value from i2c_recv(), minyard, 2018/11/26
- Re: [Qemu-devel] [PATCH v3 04/16] i2c: Don't check return value from i2c_recv(),
Peter Maydell <=
- [Qemu-devel] [PATCH v3 12/16] i2c:smbus_eeprom: Add normal type name and cast to smbus_eeprom.c, minyard, 2018/11/26
- [Qemu-devel] [PATCH v3 05/16] i2c: Simplify and correct the SMBus state machine, minyard, 2018/11/26
- [Qemu-devel] [PATCH v3 01/16] i2c: Split smbus into parts, minyard, 2018/11/26
- [Qemu-devel] [PATCH v3 02/16] i2c: have I2C receive operation return uint8_t, minyard, 2018/11/26