Helper to get overlay soc-families

BUG=None
TEST=generate internal config

Change-Id: I499d36d23bf857b4a416429152835f22a20ed14c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/config/+/2618397
Reviewed-by: Sean McAllister <smcallis@google.com>
Commit-Queue: C Shapiro <shapiroc@chromium.org>
diff --git a/util/build_summary.star b/util/build_summary.star
index a7db8bb..de2b582 100644
--- a/util/build_summary.star
+++ b/util/build_summary.star
@@ -20,7 +20,7 @@
     )
 
 def _get_kernel_versions(build_summary_list):
-    """Returns dict of {kernel-version: overlay-name}"""
+    """Returns dict of {kernel-version: [overlay-name, ...]}"""
     kernel_versions = {}
     for build_summary in build_summary_list.values:
         overlay = build_summary.build_target.portage_build_target.overlay_name
@@ -33,7 +33,18 @@
         unique_kernel_overlays[version] = set(kernel_versions[version])
     return unique_kernel_overlays
 
+def _get_soc_families(build_summary_list):
+    """Returns dict of {overlay-name: soc-family} if the SOC value is set"""
+    soc_families = {}
+    for build_summary in build_summary_list.values:
+        overlay = build_summary.build_target.portage_build_target.overlay_name
+        soc_family = build_summary.chipset.overlay
+        if soc_family:
+            soc_families[overlay] = soc_family
+    return soc_families
+
 build_summary = struct(
     read = _read,
     get_kernel_versions = _get_kernel_versions,
+    get_soc_families = _get_soc_families,
 )