summary refs log tree commit diff stats
path: root/hw/misc/aspeed_hace.c
diff options
context:
space:
mode:
authorPeter Delevoryas <pdel@fb.com>2022-05-02 17:03:04 +0200
committerCédric Le Goater <clg@kaod.org>2022-05-02 17:03:04 +0200
commit2ec063788efd3a545c5aa2999159c9303bb476f3 (patch)
treeede0086014e910c122b8d76f209eef8786008ecb /hw/misc/aspeed_hace.c
parente0c371a0d23bf2f6740af72cb19eeac53e1623c7 (diff)
downloadfocaccia-qemu-2ec063788efd3a545c5aa2999159c9303bb476f3.tar.gz
focaccia-qemu-2ec063788efd3a545c5aa2999159c9303bb476f3.zip
hw/gpio/aspeed_gpio: Fix QOM pin property
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: 4b7f956862dc ("hw/gpio: Add basic Aspeed GPIO model for AST2400 and
AST2500")
Signed-off-by: Peter Delevoryas <pdel@fb.com>
Message-Id: <20220502080827.244815-1-pdel@fb.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Diffstat (limited to 'hw/misc/aspeed_hace.c')
0 files changed, 0 insertions, 0 deletions