2727
2828from typing import Any , List , Optional , Tuple
2929from chipsec .cfg .parsers .ip .pci_device import PCIConfig
30+ from chipsec .library .register import ObjList
3031
3132
3233class Device :
@@ -66,18 +67,31 @@ def get_instance_by_name(self, device_name: str,
6667
6768 def get_list_by_name (self , device_name : str ) -> List [Any ]:
6869 """
69- Get list of device objects by name.
70+ Get list of enabled device objects by name.
71+
72+ Args:
73+ device_name: Name of the device to retrieve objects for
74+
75+ Returns:
76+ List of enabled device objects matching the name
77+ """
78+ objList = self ._get_defined_list (device_name )
79+ return objList .filter_enabled ()
80+
81+ def _get_defined_list (self , device_name : str ) -> List [Any ]:
82+ """
83+ Get list of all defined device objects by name.
7084
7185 Args:
7286 device_name: Name of the device to retrieve objects for
7387
7488 Returns:
75- List of device objects matching the name
89+ List of all defined device objects matching the name
7690 """
7791 devices = self .cs .Cfg .get_objlist (device_name )
78- objlist = []
92+ objlist = ObjList ()
7993 [objlist .extend (ip .obj ) for ip in devices ]
80- return objlist
94+ return objlist
8195
8296 def is_defined (self , device_name : str ) -> bool :
8397 """
@@ -89,7 +103,7 @@ def is_defined(self, device_name: str) -> bool:
89103 Returns:
90104 True if device is defined, False otherwise
91105 """
92- return len (self .get_list_by_name (device_name )) > 0
106+ return len (self ._get_defined_list (device_name )) > 0
93107
94108 def get_bus (self , device_name : str ) -> List [int ]:
95109 """
0 commit comments