@@ -438,29 +438,28 @@ impl AmlContext {
438438 * (e.g. systems with a single segment group and a single root, respectively).
439439 */
440440 let parent_device = parent_device. as_ref ( ) . unwrap ( ) ;
441- let seg = match self . namespace . search ( & AmlName :: from_str ( "_SEG" ) . unwrap ( ) , parent_device) {
442- Ok ( ( _, handle) ) => self
443- . namespace
444- . get ( handle) ?
445- . as_integer ( self ) ?
446- . try_into ( )
447- . map_err ( |_| AmlError :: FieldInvalidAddress ) ?,
441+ let seg = match self . invoke_method (
442+ & AmlName :: from_str ( "_SEG" ) . unwrap ( ) . resolve ( parent_device) . unwrap ( ) ,
443+ Args :: EMPTY ,
444+ ) {
445+ Ok ( seg) => seg. as_integer ( self ) ?. try_into ( ) . map_err ( |_| AmlError :: FieldInvalidAddress ) ?,
448446 Err ( AmlError :: ValueDoesNotExist ( _) ) => 0 ,
449447 Err ( err) => return Err ( err) ,
450448 } ;
451- let bbn = match self . namespace . search ( & AmlName :: from_str ( "_BBN" ) . unwrap ( ) , parent_device) {
452- Ok ( ( _, handle) ) => self
453- . namespace
454- . get ( handle) ?
455- . as_integer ( self ) ?
456- . try_into ( )
457- . map_err ( |_| AmlError :: FieldInvalidAddress ) ?,
449+ let bbn = match self . invoke_method (
450+ & AmlName :: from_str ( "_BBN" ) . unwrap ( ) . resolve ( parent_device) . unwrap ( ) ,
451+ Args :: EMPTY ,
452+ ) {
453+ Ok ( bbn) => bbn. as_integer ( self ) ?. try_into ( ) . map_err ( |_| AmlError :: FieldInvalidAddress ) ?,
458454 Err ( AmlError :: ValueDoesNotExist ( _) ) => 0 ,
459455 Err ( err) => return Err ( err) ,
460456 } ;
461457 let adr = {
462- let ( _, handle) = self . namespace . search ( & AmlName :: from_str ( "_ADR" ) . unwrap ( ) , parent_device) ?;
463- self . namespace . get ( handle) ?. as_integer ( self ) ?
458+ let adr = self . invoke_method (
459+ & AmlName :: from_str ( "_ADR" ) . unwrap ( ) . resolve ( parent_device) . unwrap ( ) ,
460+ Args :: EMPTY ,
461+ ) ?;
462+ adr. as_integer ( self ) ?
464463 } ;
465464
466465 let device = adr. get_bits ( 16 ..24 ) as u8 ;
@@ -530,29 +529,28 @@ impl AmlContext {
530529 * (e.g. systems with a single segment group and a single root, respectively).
531530 */
532531 let parent_device = parent_device. as_ref ( ) . unwrap ( ) ;
533- let seg = match self . namespace . search ( & AmlName :: from_str ( "_SEG" ) . unwrap ( ) , parent_device) {
534- Ok ( ( _, handle) ) => self
535- . namespace
536- . get ( handle) ?
537- . as_integer ( self ) ?
538- . try_into ( )
539- . map_err ( |_| AmlError :: FieldInvalidAddress ) ?,
532+ let seg = match self . invoke_method (
533+ & AmlName :: from_str ( "_SEG" ) . unwrap ( ) . resolve ( parent_device) . unwrap ( ) ,
534+ Args :: EMPTY ,
535+ ) {
536+ Ok ( seg) => seg. as_integer ( self ) ?. try_into ( ) . map_err ( |_| AmlError :: FieldInvalidAddress ) ?,
540537 Err ( AmlError :: ValueDoesNotExist ( _) ) => 0 ,
541538 Err ( err) => return Err ( err) ,
542539 } ;
543- let bbn = match self . namespace . search ( & AmlName :: from_str ( "_BBN" ) . unwrap ( ) , parent_device) {
544- Ok ( ( _, handle) ) => self
545- . namespace
546- . get ( handle) ?
547- . as_integer ( self ) ?
548- . try_into ( )
549- . map_err ( |_| AmlError :: FieldInvalidAddress ) ?,
540+ let bbn = match self . invoke_method (
541+ & AmlName :: from_str ( "_BBN" ) . unwrap ( ) . resolve ( parent_device) . unwrap ( ) ,
542+ Args :: EMPTY ,
543+ ) {
544+ Ok ( bbn) => bbn. as_integer ( self ) ?. try_into ( ) . map_err ( |_| AmlError :: FieldInvalidAddress ) ?,
550545 Err ( AmlError :: ValueDoesNotExist ( _) ) => 0 ,
551546 Err ( err) => return Err ( err) ,
552547 } ;
553548 let adr = {
554- let ( _, handle) = self . namespace . search ( & AmlName :: from_str ( "_ADR" ) . unwrap ( ) , parent_device) ?;
555- self . namespace . get ( handle) ?. as_integer ( self ) ?
549+ let adr = self . invoke_method (
550+ & AmlName :: from_str ( "_ADR" ) . unwrap ( ) . resolve ( parent_device) . unwrap ( ) ,
551+ Args :: EMPTY ,
552+ ) ?;
553+ adr. as_integer ( self ) ?
556554 } ;
557555
558556 let device = adr. get_bits ( 16 ..24 ) as u8 ;
0 commit comments