@@ -119,18 +119,18 @@ pub struct I8042Device {
119119
120120impl I8042Device {
121121 /// Constructs an i8042 device that will signal the given event when the guest requests it.
122- pub fn new ( reset_evt : EventFd , kbd_interrupt_evt : EventFd ) -> I8042Device {
123- I8042Device {
122+ pub fn new ( reset_evt : EventFd ) -> Result < I8042Device , std :: io :: Error > {
123+ Ok ( I8042Device {
124124 reset_evt,
125- kbd_interrupt_evt,
125+ kbd_interrupt_evt : EventFd :: new ( libc :: EFD_NONBLOCK ) ? ,
126126 control : CB_POST_OK | CB_KBD_INT ,
127127 cmd : 0 ,
128128 outp : 0 ,
129129 status : SB_KBD_ENABLED ,
130130 buf : [ 0 ; BUF_SIZE ] ,
131131 bhead : Wrapping ( 0 ) ,
132132 btail : Wrapping ( 0 ) ,
133- }
133+ } )
134134 }
135135
136136 /// Signal a ctrl-alt-del (reset) event.
@@ -355,10 +355,7 @@ mod tests {
355355
356356 #[ test]
357357 fn test_i8042_read_write_and_event ( ) {
358- let mut i8042 = I8042Device :: new (
359- EventFd :: new ( libc:: EFD_NONBLOCK ) . unwrap ( ) ,
360- EventFd :: new ( libc:: EFD_NONBLOCK ) . unwrap ( ) ,
361- ) ;
358+ let mut i8042 = I8042Device :: new ( EventFd :: new ( libc:: EFD_NONBLOCK ) . unwrap ( ) ) . unwrap ( ) ;
362359 let reset_evt = i8042. reset_evt . try_clone ( ) . unwrap ( ) ;
363360
364361 // Check if reading in a 2-length array doesn't have side effects.
@@ -395,10 +392,7 @@ mod tests {
395392
396393 #[ test]
397394 fn test_i8042_commands ( ) {
398- let mut i8042 = I8042Device :: new (
399- EventFd :: new ( libc:: EFD_NONBLOCK ) . unwrap ( ) ,
400- EventFd :: new ( libc:: EFD_NONBLOCK ) . unwrap ( ) ,
401- ) ;
395+ let mut i8042 = I8042Device :: new ( EventFd :: new ( libc:: EFD_NONBLOCK ) . unwrap ( ) ) . unwrap ( ) ;
402396 let mut data = [ 1 ] ;
403397
404398 // Test reading/writing the control register.
@@ -435,10 +429,7 @@ mod tests {
435429
436430 #[ test]
437431 fn test_i8042_buffer ( ) {
438- let mut i8042 = I8042Device :: new (
439- EventFd :: new ( libc:: EFD_NONBLOCK ) . unwrap ( ) ,
440- EventFd :: new ( libc:: EFD_NONBLOCK ) . unwrap ( ) ,
441- ) ;
432+ let mut i8042 = I8042Device :: new ( EventFd :: new ( libc:: EFD_NONBLOCK ) . unwrap ( ) ) . unwrap ( ) ;
442433
443434 // Test push/pop.
444435 i8042. push_byte ( 52 ) . unwrap ( ) ;
@@ -462,10 +453,7 @@ mod tests {
462453
463454 #[ test]
464455 fn test_i8042_kbd ( ) {
465- let mut i8042 = I8042Device :: new (
466- EventFd :: new ( libc:: EFD_NONBLOCK ) . unwrap ( ) ,
467- EventFd :: new ( libc:: EFD_NONBLOCK ) . unwrap ( ) ,
468- ) ;
456+ let mut i8042 = I8042Device :: new ( EventFd :: new ( libc:: EFD_NONBLOCK ) . unwrap ( ) ) . unwrap ( ) ;
469457
470458 fn expect_key ( i8042 : & mut I8042Device , key : u16 ) {
471459 let mut data = [ 1 ] ;
0 commit comments