Skip to content
  • Peter Delevoryas's avatar
    2ec06378
    hw/gpio/aspeed_gpio: Fix QOM pin property · 2ec06378
    Peter Delevoryas authored
    
    
    I was setting gpioV4-7 to "1110" using the QOM pin property handler and
    noticed that lowering gpioV7 was inadvertently lowering gpioV4-6 too.
    
        (qemu) qom-set /machine/soc/gpio gpioV4 true
        (qemu) qom-set /machine/soc/gpio gpioV5 true
        (qemu) qom-set /machine/soc/gpio gpioV6 true
        (qemu) qom-get /machine/soc/gpio gpioV4
        true
        (qemu) qom-set /machine/soc/gpio gpioV7 false
        (qemu) qom-get /machine/soc/gpio gpioV4
        false
    
    An expression in aspeed_gpio_set_pin_level was using a logical NOT
    operator instead of a bitwise NOT operator:
    
        value &= !pin_mask;
    
    The original author probably intended to make a bitwise NOT expression
    "~", but mistakenly used a logical NOT operator "!" instead. Some
    programming languages like Rust use "!" for both purposes.
    
    Fixes: 4b7f9568 ("hw/gpio: Add basic Aspeed GPIO model for AST2400 and
    AST2500")
    Signed-off-by: default avatarPeter Delevoryas <pdel@fb.com>
    Message-Id: <20220502080827.244815-1-pdel@fb.com>
    Signed-off-by: default avatarCédric Le Goater <clg@kaod.org>
    2ec06378
    hw/gpio/aspeed_gpio: Fix QOM pin property
    Peter Delevoryas authored
    
    
    I was setting gpioV4-7 to "1110" using the QOM pin property handler and
    noticed that lowering gpioV7 was inadvertently lowering gpioV4-6 too.
    
        (qemu) qom-set /machine/soc/gpio gpioV4 true
        (qemu) qom-set /machine/soc/gpio gpioV5 true
        (qemu) qom-set /machine/soc/gpio gpioV6 true
        (qemu) qom-get /machine/soc/gpio gpioV4
        true
        (qemu) qom-set /machine/soc/gpio gpioV7 false
        (qemu) qom-get /machine/soc/gpio gpioV4
        false
    
    An expression in aspeed_gpio_set_pin_level was using a logical NOT
    operator instead of a bitwise NOT operator:
    
        value &= !pin_mask;
    
    The original author probably intended to make a bitwise NOT expression
    "~", but mistakenly used a logical NOT operator "!" instead. Some
    programming languages like Rust use "!" for both purposes.
    
    Fixes: 4b7f9568 ("hw/gpio: Add basic Aspeed GPIO model for AST2400 and
    AST2500")
    Signed-off-by: default avatarPeter Delevoryas <pdel@fb.com>
    Message-Id: <20220502080827.244815-1-pdel@fb.com>
    Signed-off-by: default avatarCédric Le Goater <clg@kaod.org>
Loading