Furquan Shaikh has uploaded this change for review. ( https://review.coreboot.org/27209
Change subject: util/sconfig: Get rid of ops from struct device ......................................................................
util/sconfig: Get rid of ops from struct device
"ops" field was used in device structure only to add default_dev_ops_root for root device. It was always set to NULL for all other devices. This change gets rid of ops field from struct device and instead hardcodes default_dev_ops_root in pass1 for root device.
BUG=b:80081934 TEST=Verified that static.c generated with and without this change is exactly the same.
Change-Id: I0848788610c2ed27274daf4920de3068a9784d4c Signed-off-by: Furquan Shaikh furquan@google.com --- M util/sconfig/main.c M util/sconfig/sconfig.h 2 files changed, 9 insertions(+), 6 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/09/27209/1
diff --git a/util/sconfig/main.c b/util/sconfig/main.c index 6b4809c..cf09937 100644 --- a/util/sconfig/main.c +++ b/util/sconfig/main.c @@ -98,7 +98,6 @@ .id = 0, .chip_instance = &mainboard_instance, .path = " .type = DEVICE_PATH_ROOT ", - .ops = "&default_dev_ops_root", .parent = &base_root_bus, .enabled = 1, .bus = &base_root_bus, @@ -120,7 +119,6 @@ */ .chip_instance = &mainboard_instance, .path = " .type = DEVICE_PATH_ROOT ", - .ops = "&default_dev_ops_root", .parent = &override_root_bus, .enabled = 1, .bus = &override_root_bus, @@ -761,7 +759,15 @@ fprintf(fil, "static "); fprintf(fil, "DEVTREE_CONST struct device %s = {\n", ptr->name); fprintf(fil, "#if !DEVTREE_EARLY\n"); - fprintf(fil, "\t.ops = %s,\n", (ptr->ops) ? (ptr->ops) : "0"); + + /* + * ops field is set to default_dev_ops_root only for the root + * device. For all other devices, it is set by the driver at runtime. + */ + if (ptr == &base_root_dev) + fprintf(fil, "\t.ops = &default_dev_ops_root,\n"); + else + fprintf(fil, "\t.ops = 0,\n"); fprintf(fil, "#endif\n"); fprintf(fil, "\t.bus = &%s_links[%d],\n", ptr->parent->dev->name, ptr->parent->id); diff --git a/util/sconfig/sconfig.h b/util/sconfig/sconfig.h index 63b65fd..8a9437c 100644 --- a/util/sconfig/sconfig.h +++ b/util/sconfig/sconfig.h @@ -104,9 +104,6 @@ int subsystem_device; int inherit_subsystem;
- /* Name of ops structure for the device. */ - char *ops; - /* Name of this device. */ char *name;