rust/pl011: Avoid bindings::*
List all the necessary bindings to better identify gaps in rust/qapi. And include the bindings wrapped by rust/qapi instead mapping the raw bindings directly. Inspired-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Zhao Liu <zhao1.liu@intel.com> Link: https://lore.kernel.org/r/20250121140457.84631-3-zhao1.liu@intel.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
0f9eb0ff2b
commit
06a1cfb555
@ -9,12 +9,19 @@ use std::{
|
|||||||
};
|
};
|
||||||
|
|
||||||
use qemu_api::{
|
use qemu_api::{
|
||||||
bindings::{self, *},
|
bindings::{
|
||||||
|
error_fatal, hwaddr, memory_region_init_io, qdev_init_clock_in, qdev_new,
|
||||||
|
qdev_prop_set_chr, qemu_chr_fe_ioctl, qemu_chr_fe_set_handlers, qemu_chr_fe_write_all,
|
||||||
|
qemu_irq, sysbus_connect_irq, sysbus_mmio_map, sysbus_realize_and_unref, CharBackend,
|
||||||
|
Chardev, Clock, ClockEvent, MemoryRegion, QEMUChrEvent, CHR_IOCTL_SERIAL_SET_BREAK,
|
||||||
|
},
|
||||||
c_str,
|
c_str,
|
||||||
irq::InterruptSource,
|
irq::InterruptSource,
|
||||||
prelude::*,
|
prelude::*,
|
||||||
qdev::DeviceImpl,
|
qdev::{DeviceImpl, DeviceState, Property},
|
||||||
qom::{ClassInitImpl, ObjectImpl, ParentField},
|
qom::{ClassInitImpl, ObjectImpl, ParentField},
|
||||||
|
sysbus::{SysBusDevice, SysBusDeviceClass},
|
||||||
|
vmstate::VMStateDescription,
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
@ -494,7 +501,7 @@ impl PL011State {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn event(&mut self, event: QEMUChrEvent) {
|
pub fn event(&mut self, event: QEMUChrEvent) {
|
||||||
if event == bindings::QEMUChrEvent::CHR_EVENT_BREAK && !self.loopback_enabled() {
|
if event == QEMUChrEvent::CHR_EVENT_BREAK && !self.loopback_enabled() {
|
||||||
self.put_fifo(registers::Data::BREAK.into());
|
self.put_fifo(registers::Data::BREAK.into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user