@@ -426,12 +426,19 @@ impl VirtioInterrupt for IrqTrigger {
426426 }
427427}
428428
429+ impl Default for IrqTrigger {
430+ fn default ( ) -> Self {
431+ Self :: new ( )
432+ }
433+ }
434+
429435impl IrqTrigger {
430- pub fn new ( ) -> std :: io :: Result < Self > {
431- Ok ( Self {
436+ pub fn new ( ) -> Self {
437+ Self {
432438 irq_status : Arc :: new ( AtomicU32 :: new ( 0 ) ) ,
433- irq_evt : EventFd :: new ( libc:: EFD_NONBLOCK ) ?,
434- } )
439+ irq_evt : EventFd :: new ( libc:: EFD_NONBLOCK )
440+ . expect ( "Could not create EventFd for IrqTrigger" ) ,
441+ }
435442 }
436443
437444 fn trigger_irq ( & self , irq_type : IrqType ) -> Result < ( ) , std:: io:: Error > {
@@ -572,7 +579,7 @@ pub(crate) mod tests {
572579 #[ test]
573580 fn test_new ( ) {
574581 let m = single_region_mem ( 0x1000 ) ;
575- let interrupt = Arc :: new ( IrqTrigger :: new ( ) . unwrap ( ) ) ;
582+ let interrupt = Arc :: new ( IrqTrigger :: new ( ) ) ;
576583 let mut dummy = DummyDevice :: new ( ) ;
577584 // Validate reset is no-op.
578585 assert ! ( dummy. reset( ) . is_none( ) ) ;
@@ -605,7 +612,7 @@ pub(crate) mod tests {
605612 #[ test]
606613 fn test_bus_device_read ( ) {
607614 let m = single_region_mem ( 0x1000 ) ;
608- let interrupt = Arc :: new ( IrqTrigger :: new ( ) . unwrap ( ) ) ;
615+ let interrupt = Arc :: new ( IrqTrigger :: new ( ) ) ;
609616 let mut d = MmioTransport :: new (
610617 m,
611618 interrupt,
@@ -701,7 +708,7 @@ pub(crate) mod tests {
701708 #[ allow( clippy:: cognitive_complexity) ]
702709 fn test_bus_device_write ( ) {
703710 let m = single_region_mem ( 0x1000 ) ;
704- let interrupt = Arc :: new ( IrqTrigger :: new ( ) . unwrap ( ) ) ;
711+ let interrupt = Arc :: new ( IrqTrigger :: new ( ) ) ;
705712 let dummy_dev = Arc :: new ( Mutex :: new ( DummyDevice :: new ( ) ) ) ;
706713 let mut d = MmioTransport :: new ( m, interrupt, dummy_dev. clone ( ) , false ) ;
707714 let mut buf = vec ! [ 0 ; 5 ] ;
@@ -864,7 +871,7 @@ pub(crate) mod tests {
864871 #[ test]
865872 fn test_bus_device_activate ( ) {
866873 let m = single_region_mem ( 0x1000 ) ;
867- let interrupt = Arc :: new ( IrqTrigger :: new ( ) . unwrap ( ) ) ;
874+ let interrupt = Arc :: new ( IrqTrigger :: new ( ) ) ;
868875 let mut d = MmioTransport :: new (
869876 m,
870877 interrupt,
@@ -949,7 +956,7 @@ pub(crate) mod tests {
949956 #[ test]
950957 fn test_bus_device_activate_failure ( ) {
951958 let m = single_region_mem ( 0x1000 ) ;
952- let interrupt = Arc :: new ( IrqTrigger :: new ( ) . unwrap ( ) ) ;
959+ let interrupt = Arc :: new ( IrqTrigger :: new ( ) ) ;
953960 let device = DummyDevice {
954961 activate_should_error : true ,
955962 ..DummyDevice :: new ( )
@@ -1062,7 +1069,7 @@ pub(crate) mod tests {
10621069 #[ test]
10631070 fn test_bus_device_reset ( ) {
10641071 let m = single_region_mem ( 0x1000 ) ;
1065- let interrupt = Arc :: new ( IrqTrigger :: new ( ) . unwrap ( ) ) ;
1072+ let interrupt = Arc :: new ( IrqTrigger :: new ( ) ) ;
10661073 let mut d = MmioTransport :: new (
10671074 m,
10681075 interrupt,
@@ -1121,7 +1128,7 @@ pub(crate) mod tests {
11211128
11221129 #[ test]
11231130 fn irq_trigger ( ) {
1124- let irq_trigger = IrqTrigger :: new ( ) . unwrap ( ) ;
1131+ let irq_trigger = IrqTrigger :: new ( ) ;
11251132 assert_eq ! ( irq_trigger. irq_status. load( Ordering :: SeqCst ) , 0 ) ;
11261133
11271134 // Check that there are no pending irqs.
0 commit comments