[Skiboot] [PATCH 1/2] astbmc: Add more slot table helpers
    Oliver O'Halloran 
    oohall at gmail.com
       
    Tue Apr 10 17:28:01 AEST 2018
    
    
  
Add some helper macros for the common case of a slot, or builtin
device directly under a PHB or switch port.
Signed-off-by: Oliver O'Halloran <oohall at gmail.com>
---
 platforms/astbmc/astbmc.h | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
diff --git a/platforms/astbmc/astbmc.h b/platforms/astbmc/astbmc.h
index 36ebe45dbb71..fb6c68a2055f 100644
--- a/platforms/astbmc/astbmc.h
+++ b/platforms/astbmc/astbmc.h
@@ -52,6 +52,33 @@ struct slot_table_entry {
 	.children = child_table \
 }
 
+/*
+ * For the most part the "table" isn't really a table and only contains
+ * a single real entry and the etype = st_end terminator. In these cases
+ * we can use these helpers. If you need something special in the slot
+ * table for each slot (e.g. power limit, devfn != 0) then you need to
+ * define the actual structure.
+ */
+#define ST_BUILTIN_DEV(st_name, slot_name) \
+static struct slot_table_entry st_name[] = \
+{ \
+	{ \
+		.etype = st_pluggable_slot, \
+		.name = slot_name, \
+	}, \
+	{ .etype = st_end }, \
+}
+
+#define ST_PLUGGABLE(st_name, slot_name) \
+static struct slot_table_entry st_name[] = \
+{ \
+	{ \
+		.etype = st_pluggable_slot, \
+		.name = slot_name, \
+	}, \
+	{ .etype = st_end }, \
+}
+
 extern const struct bmc_platform astbmc_ami;
 extern const struct bmc_platform astbmc_openbmc;
 
-- 
2.9.5
    
    
More information about the Skiboot
mailing list