From ea1cdf6874be83c0624c96f33973b5bbc3de770d Mon Sep 17 00:00:00 2001 From: Ram Kumar D Date: Wed, 20 Mar 2024 10:43:51 +0530 Subject: [PATCH] tools: pack_v2: limit the wifi fws based on profiles This patch adds support in the pack_v2 script to limit the wifi firmwares which packed into the single images based on the profiles. Add corresponding profile entry under each RDP config in config.xml to restrict wifi fw images packed into the single image. Eg: 256 512 512,256 Note: No need add default profile in profiles tag. Change-Id: I06667ec7ba31a2bbcb742fbd5319f0e30be193fc Signed-off-by: Ram Kumar D --- tools/pack_v2.py | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/tools/pack_v2.py b/tools/pack_v2.py index 178b99443c..b0178f5d5a 100644 --- a/tools/pack_v2.py +++ b/tools/pack_v2.py @@ -863,6 +863,13 @@ class Pack(object): wifi_fw_list = [] no_fw_mach_ids = [] for segment in entries: + if (memory_size != "default"): + profiles = segment.find('.//profiles') + if (profiles == None): + continue + if memory_size not in profiles.text: + continue + wififw_type = segment.find('.//wififw_name') if wififw_type == None: machid = int(segment.find(".//machid").text, 0) @@ -1063,8 +1070,9 @@ class Pack(object): wifi_fw_type = "" if filename != "": - wifi_fw_list.append(filename) - filename = "" + if filename not in wifi_fw_list: + wifi_fw_list.append(filename) + filename = "" continue if section != None and filename != "" and section.get('filename_mem' + memory_size) != None: @@ -1184,7 +1192,7 @@ class Pack(object): if (2 == len(possible_fw_vers)): temp_name = filename temp_name = temp_name.replace(possible_fw_vers[0][0][0], a) - temp_name = temp_name.replace(possible_fw_vers[0][1][0], b) + temp_name = temp_name.replace(possible_fw_vers[1][0][0], b) if os.path.exists(os.path.join(self.images_dname, temp_name)): if wifi_fws_combs.get(temp_name) == None: @@ -1195,8 +1203,8 @@ class Pack(object): if (3 == len(possible_fw_vers)): temp_name = filename temp_name = temp_name.replace(possible_fw_vers[0][0][0], a) - temp_name = temp_name.replace(possible_fw_vers[0][1][0], b) - temp_name = temp_name.replace(possible_fw_vers[0][2][0], c) + temp_name = temp_name.replace(possible_fw_vers[1][0][0], b) + temp_name = temp_name.replace(possible_fw_vers[2][0][0], c) if os.path.exists(os.path.join(self.images_dname, temp_name)): if wifi_fws_combs.get(temp_name) == None: @@ -1207,9 +1215,9 @@ class Pack(object): if (4 == len(possible_fw_vers)): temp_name = filename temp_name = temp_name.replace(possible_fw_vers[0][0][0], a) - temp_name = temp_name.replace(possible_fw_vers[0][1][0], b) - temp_name = temp_name.replace(possible_fw_vers[0][2][0], c) - temp_name = temp_name.replace(possible_fw_vers[0][3][0], d) + temp_name = temp_name.replace(possible_fw_vers[1][0][0], b) + temp_name = temp_name.replace(possible_fw_vers[2][0][0], c) + temp_name = temp_name.replace(possible_fw_vers[3][0][0], d) if os.path.exists(os.path.join(self.images_dname, temp_name)): if wifi_fws_combs.get(temp_name) == None: