[coreboot-gerrit] Change in coreboot[master]: util/sconfig: Get rid of ops from struct device

Furquan Shaikh (Code Review) gerrit at coreboot.org
Sat Jun 23 01:52:59 CEST 2018


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 at 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;
 

-- 
To view, visit https://review.coreboot.org/27209
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0848788610c2ed27274daf4920de3068a9784d4c
Gerrit-Change-Number: 27209
Gerrit-PatchSet: 1
Gerrit-Owner: Furquan Shaikh <furquan at google.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180622/937a1c06/attachment-0001.html>


More information about the coreboot-gerrit mailing list