pub trait PhysicalPageCollection {
type DmaType;
// Required method
fn get_prp_list_or_buffer(
&mut self,
mode: PrpMode,
dma: Self::DmaType,
) -> Option<PrpListOrBuffer>;
// Provided method
fn get_dptr(&mut self, mode: DptrMode, dma: Self::DmaType) -> Option<Dptr> { ... }
}