From 4cf135d9a87726561a8d3bbfad34516a77aa5e34 Mon Sep 17 00:00:00 2001 From: Oliver O'Halloran Date: Tue, 10 Apr 2018 17:28:01 +1000 Subject: astbmc: Add more slot table helpers 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 Signed-off-by: Stewart Smith --- platforms/astbmc/astbmc.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/platforms/astbmc/astbmc.h b/platforms/astbmc/astbmc.h index feaca1d0..b61c2dd3 100644 --- a/platforms/astbmc/astbmc.h +++ b/platforms/astbmc/astbmc.h @@ -51,6 +51,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; -- cgit v1.2.1