]> git.ozlabs.org Git - petitboot/commitdiff
utils/hooks: Don't fail early if fb0 missing
authorSamuel Mendoza-Jonas <sam@mendozajonas.com>
Wed, 8 Mar 2017 23:59:15 +0000 (10:59 +1100)
committerSamuel Mendoza-Jonas <sam@mendozajonas.com>
Thu, 16 Mar 2017 04:17:16 +0000 (15:17 +1100)
30-dtb-updates would exit early if the 'fb0' file was missing, however
the set_stdout() step does not depend on this.

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
utils/hooks/30-dtb-updates.c

index aff3844dd5e9f613e8d1717085e108408eb76c9d..66e7a77b63bddb21ed800448f88c6d267e1b294a 100644 (file)
@@ -576,20 +576,10 @@ static int write_devicetree(struct offb_ctx *ctx)
        return rc;
 }
 
-
-int main(void)
+static int set_offb(struct offb_ctx *ctx)
 {
-       struct offb_ctx *ctx;
        int rc;
 
-       ctx = talloc_zero(NULL, struct offb_ctx);
-
-       ctx->dtb_name = getenv("boot_dtb");
-       if (!ctx->dtb_name) {
-               talloc_free(ctx);
-               return EXIT_SUCCESS;
-       }
-
        rc = load_dtb(ctx);
        if (rc)
                goto out;
@@ -605,14 +595,39 @@ int main(void)
        rc = populate_devicetree(ctx);
        if (rc)
                goto out;
+out:
+       return rc;
+}
 
-       rc = set_stdout(ctx);
-       if (rc)
-               goto out;
 
-       rc = write_devicetree(ctx);
+int main(void)
+{
+       struct offb_ctx *ctx;
+       int rc;
+
+       ctx = talloc_zero(NULL, struct offb_ctx);
+
+       ctx->dtb_name = getenv("boot_dtb");
+       if (!ctx->dtb_name) {
+               talloc_free(ctx);
+               return EXIT_SUCCESS;
+       }
+
+       if (set_offb(ctx)) {
+               warn("Failed offb setup step");
+               rc = -1;
+       }
+
+       if (set_stdout(ctx)) {
+               warn("Failed stdout setup step\n");
+               rc = -1;
+       }
+
+       if (write_devicetree(ctx)) {
+               warn("Failed to write back device tree\n");
+               rc = -1;
+       }
 
-out:
        talloc_free(ctx);
        return rc ? EXIT_FAILURE : EXIT_SUCCESS;
 }