summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2010-08-09 12:02:00 +0000
committerStefan Reinauer <stepan@openbios.org>2010-08-09 12:02:00 +0000
commitdf61dd28f635bf57a1dc81c75b09b069041ab2f3 (patch)
tree2cf9652670fba9cd0e3d55732d737d5a144980a4
parent29ee87338cb2fb01f73105c831b132fbe87e43cc (diff)
non-root devices are not supposed to be accessed outside of static.c except by
walking the tree. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5686 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rwxr-xr-xutil/sconfig/main.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/util/sconfig/main.c b/util/sconfig/main.c
index 062eedd2e0..be42381340 100755
--- a/util/sconfig/main.c
+++ b/util/sconfig/main.c
@@ -283,18 +283,20 @@ static void pass0(FILE *fil, struct device *ptr) {
if (ptr->type == device && ptr->id == 0)
fprintf(fil, "struct bus %s_links[];\n", ptr->name);
if ((ptr->type == device) && (ptr->id != 0) && (!ptr->used)) {
- fprintf(fil, "struct device %s;\n", ptr->name);
+ fprintf(fil, "static struct device %s;\n", ptr->name);
if (ptr->rescnt > 0)
fprintf(fil, "struct resource %s_res[];\n", ptr->name);
if (ptr->children || ptr->multidev)
fprintf(fil, "struct bus %s_links[];\n", ptr->name);
}
if ((ptr->type == device) && (ptr->id != 0) && ptr->used)
- fprintf(fil, "struct device %s;\n", ptr->aliased_name);
+ fprintf(fil, "static struct device %s;\n", ptr->aliased_name);
}
static void pass1(FILE *fil, struct device *ptr) {
if (!ptr->used && (ptr->type == device)) {
+ if (ptr->id != 0)
+ fprintf(fil, "static ", ptr->name);
fprintf(fil, "struct device %s = {\n", ptr->name);
fprintf(fil, "\t.ops = %s,\n", (ptr->ops)?(ptr->ops):"0");
fprintf(fil, "\t.bus = &%s_links[%d],\n", ptr->bus->name, ptr->bus->link);