1use super::DmaController;
7use super::ResolvedIsaDmaController;
8use chipset_resources::isa_dma::GenericIsaDmaDeviceHandle;
9use std::convert::Infallible;
10use vm_resource::ResolveResource;
11use vm_resource::declare_static_resolver;
12use vm_resource::kind::IsaDmaControllerHandleKind;
13
14pub struct GenericIsaDmaResolver;
16
17declare_static_resolver! {
18 GenericIsaDmaResolver,
19 (IsaDmaControllerHandleKind, GenericIsaDmaDeviceHandle),
20}
21
22impl ResolveResource<IsaDmaControllerHandleKind, GenericIsaDmaDeviceHandle>
23 for GenericIsaDmaResolver
24{
25 type Output = ResolvedIsaDmaController;
26 type Error = Infallible;
27
28 fn resolve(
29 &self,
30 _resource: GenericIsaDmaDeviceHandle,
31 _input: (),
32 ) -> Result<Self::Output, Self::Error> {
33 Ok(ResolvedIsaDmaController(DmaController::new()))
34 }
35}