qemu-rust
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 04/10] rust: add bindings for gpio_{in|out} initialization


From: Paolo Bonzini
Subject: Re: [PATCH 04/10] rust: add bindings for gpio_{in|out} initialization
Date: Fri, 7 Feb 2025 10:54:04 +0100



Il ven 7 feb 2025, 09:24 Zhao Liu <zhao1.liu@intel.com> ha scritto:
> Please add "let _: () = F::ASSERT_IS_SOME;", which is added by the
> qdev_init_clock_in() patch.
>

Okay.

I would add `assert!(F::is_some());` at the beginning of init_gpio_in().

Use the "let" so that it's caught at compile time.

There's a difference with origianl C version:

In C side, qdev_get_gpio_in() family could accept a NULL handler, but
there's no such case in current QEMU:

* qdev_get_gpio_in
* qdev_init_gpio_in_named
* qdev_init_gpio_in_named_with_opaque

And from code logic view, creating an input GPIO line but doing nothing
on input, sounds also unusual.

Wouldn't it then crash in qemu_set_irq?

Paolo

So, for simplicity, in the Rust version I make the handler non-optional.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]