]> git.karo-electronics.de Git - linux-beck.git/commitdiff
greybus: bootrom: Use "s2l" instead of boot stage in package name
authorViresh Kumar <viresh.kumar@linaro.org>
Sat, 16 Jul 2016 16:57:30 +0000 (09:57 -0700)
committerGreg Kroah-Hartman <gregkh@google.com>
Tue, 19 Jul 2016 20:52:26 +0000 (13:52 -0700)
The S3 firmware and S3-BFU firmware images will be named like this going
forward:

S3: ara_00000126_00001001_fffe0001_ffe70018_s3f.tftf
S3-BFU: ara_00000126_00001001_fffe0001_ffe70018_s3_bfu.tftf

But the current naming for S2 loader image is:

ara_00000126_00001001_fffe0001_ffe70018_02.tftf

It makes sense to use similar encoding for all three packages and so it
should be named as:

ara_00000126_00001001_fffe0001_ffe70018_s2l.tftf

Because the boot stage is passed from ES3 bootrom, we can't change its
value now. But the string created to match the package name is created
in bootrom.c and that is the only string we create from bootrom.c.

Update bootrom.c to use "s2l" instead of "02" in the package name.

Compile Tested only.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Tested-by: Karthik Ravi Shankar <karthikrs@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/bootrom.c

index 84537a07ab7f4e3307d8fefd3d6a01983f856da5..688184181e0c193fcc742fd8c0e62e3b05285729 100644 (file)
@@ -138,21 +138,28 @@ static int download_firmware(struct gb_bootrom *bootrom, u8 stage)
 {
        struct gb_connection *connection = bootrom->connection;
        struct gb_interface *intf = connection->bundle->intf;
-       char firmware_name[48];
+       char firmware_name[49];
        int rc;
 
        /* Already have a firmware, free it */
        free_firmware(bootrom);
 
+       /* Bootrom protocol is only supported for loading Stage 2 firmware */
+       if (stage != 2) {
+               dev_err(&connection->bundle->dev, "Invalid boot stage: %u\n",
+                       stage);
+               return -EINVAL;
+       }
+
        /*
         * Create firmware name
         *
         * XXX Name it properly..
         */
        snprintf(firmware_name, sizeof(firmware_name),
-                "ara_%08x_%08x_%08x_%08x_%02x.tftf",
+                "ara_%08x_%08x_%08x_%08x_s2l.tftf",
                 intf->ddbl1_manufacturer_id, intf->ddbl1_product_id,
-                intf->vendor_id, intf->product_id, stage);
+                intf->vendor_id, intf->product_id);
 
        // FIXME:
        // Turn to dev_dbg later after everyone has valid bootloaders with good