@@ -324,6 +324,29 @@ def dt_node_has_bool_prop(kconf, _, path, prop):
324324
325325    return  "n" 
326326
327+ def  dt_node_has_prop (kconf , _ , label , prop ):
328+     """ 
329+     This function takes a 'label' and looks for an EDT node for that label. If 
330+     it finds an EDT node, it will look to see if that node has a property 
331+     by the name of 'prop'.  If the 'prop' exists it will return "y" otherwise 
332+     we return "n". 
333+     """ 
334+ 
335+     if  doc_mode  or  edt  is  None :
336+         return  "n" 
337+ 
338+     try :
339+         node  =  edt .label2node .get (label )
340+     except  edtlib .EDTError :
341+         return  "n" 
342+ 
343+     if  node  is  None :
344+         return  "n" 
345+ 
346+     if  prop  in  node .props :
347+         return  "y" 
348+ 
349+     return  "n" 
327350
328351def  dt_node_int_prop (kconf , name , path , prop ):
329352    """ 
@@ -445,6 +468,7 @@ def shields_list_contains(kconf, _, shield):
445468        "dt_node_reg_size_int" : (dt_node_reg , 1 , 3 ),
446469        "dt_node_reg_size_hex" : (dt_node_reg , 1 , 3 ),
447470        "dt_node_has_bool_prop" : (dt_node_has_bool_prop , 2 , 2 ),
471+         "dt_node_has_prop" : (dt_node_has_prop , 2 , 2 ),
448472        "dt_node_int_prop_int" : (dt_node_int_prop , 2 , 2 ),
449473        "dt_node_int_prop_hex" : (dt_node_int_prop , 2 , 2 ),
450474        "dt_nodelabel_has_compat" : (dt_nodelabel_has_compat , 2 , 2 ),
0 commit comments