@@ -426,12 +426,19 @@ impl VirtioInterrupt for IrqTrigger {
426
426
}
427
427
}
428
428
429
+ impl Default for IrqTrigger {
430
+ fn default ( ) -> Self {
431
+ Self :: new ( )
432
+ }
433
+ }
434
+
429
435
impl IrqTrigger {
430
- pub fn new ( ) -> std :: io :: Result < Self > {
431
- Ok ( Self {
436
+ pub fn new ( ) -> Self {
437
+ Self {
432
438
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
+ }
435
442
}
436
443
437
444
fn trigger_irq ( & self , irq_type : IrqType ) -> Result < ( ) , std:: io:: Error > {
@@ -572,7 +579,7 @@ pub(crate) mod tests {
572
579
#[ test]
573
580
fn test_new ( ) {
574
581
let m = single_region_mem ( 0x1000 ) ;
575
- let interrupt = Arc :: new ( IrqTrigger :: new ( ) . unwrap ( ) ) ;
582
+ let interrupt = Arc :: new ( IrqTrigger :: new ( ) ) ;
576
583
let mut dummy = DummyDevice :: new ( ) ;
577
584
// Validate reset is no-op.
578
585
assert ! ( dummy. reset( ) . is_none( ) ) ;
@@ -605,7 +612,7 @@ pub(crate) mod tests {
605
612
#[ test]
606
613
fn test_bus_device_read ( ) {
607
614
let m = single_region_mem ( 0x1000 ) ;
608
- let interrupt = Arc :: new ( IrqTrigger :: new ( ) . unwrap ( ) ) ;
615
+ let interrupt = Arc :: new ( IrqTrigger :: new ( ) ) ;
609
616
let mut d = MmioTransport :: new (
610
617
m,
611
618
interrupt,
@@ -701,7 +708,7 @@ pub(crate) mod tests {
701
708
#[ allow( clippy:: cognitive_complexity) ]
702
709
fn test_bus_device_write ( ) {
703
710
let m = single_region_mem ( 0x1000 ) ;
704
- let interrupt = Arc :: new ( IrqTrigger :: new ( ) . unwrap ( ) ) ;
711
+ let interrupt = Arc :: new ( IrqTrigger :: new ( ) ) ;
705
712
let dummy_dev = Arc :: new ( Mutex :: new ( DummyDevice :: new ( ) ) ) ;
706
713
let mut d = MmioTransport :: new ( m, interrupt, dummy_dev. clone ( ) , false ) ;
707
714
let mut buf = vec ! [ 0 ; 5 ] ;
@@ -864,7 +871,7 @@ pub(crate) mod tests {
864
871
#[ test]
865
872
fn test_bus_device_activate ( ) {
866
873
let m = single_region_mem ( 0x1000 ) ;
867
- let interrupt = Arc :: new ( IrqTrigger :: new ( ) . unwrap ( ) ) ;
874
+ let interrupt = Arc :: new ( IrqTrigger :: new ( ) ) ;
868
875
let mut d = MmioTransport :: new (
869
876
m,
870
877
interrupt,
@@ -949,7 +956,7 @@ pub(crate) mod tests {
949
956
#[ test]
950
957
fn test_bus_device_activate_failure ( ) {
951
958
let m = single_region_mem ( 0x1000 ) ;
952
- let interrupt = Arc :: new ( IrqTrigger :: new ( ) . unwrap ( ) ) ;
959
+ let interrupt = Arc :: new ( IrqTrigger :: new ( ) ) ;
953
960
let device = DummyDevice {
954
961
activate_should_error : true ,
955
962
..DummyDevice :: new ( )
@@ -1062,7 +1069,7 @@ pub(crate) mod tests {
1062
1069
#[ test]
1063
1070
fn test_bus_device_reset ( ) {
1064
1071
let m = single_region_mem ( 0x1000 ) ;
1065
- let interrupt = Arc :: new ( IrqTrigger :: new ( ) . unwrap ( ) ) ;
1072
+ let interrupt = Arc :: new ( IrqTrigger :: new ( ) ) ;
1066
1073
let mut d = MmioTransport :: new (
1067
1074
m,
1068
1075
interrupt,
@@ -1121,7 +1128,7 @@ pub(crate) mod tests {
1121
1128
1122
1129
#[ test]
1123
1130
fn irq_trigger ( ) {
1124
- let irq_trigger = IrqTrigger :: new ( ) . unwrap ( ) ;
1131
+ let irq_trigger = IrqTrigger :: new ( ) ;
1125
1132
assert_eq ! ( irq_trigger. irq_status. load( Ordering :: SeqCst ) , 0 ) ;
1126
1133
1127
1134
// Check that there are no pending irqs.
0 commit comments