firmware: arm_scpi: improve info message for pre-1.0 firmware
authorHeiner Kallweit <hkallweit1@gmail.com>
Tue, 5 Dec 2017 22:17:19 +0000 (23:17 +0100)
committerSudeep Holla <sudeep.holla@arm.com>
Fri, 23 Feb 2018 15:13:34 +0000 (15:13 +0000)
On legacy pre-1.0 firmware versions so far the following message is
printed which may cause some confusion:
SCP Protocol 0.0 Firmware 0.0.0 version

Therefore replace the message with the following if firmware doesn't
provide usable version information:
SCP Protocol legacy pre-1.0 firmware

Tested-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
drivers/firmware/arm_scpi.c

index bc7055a..6d7a6c0 100644 (file)
@@ -1005,12 +1005,21 @@ static int scpi_probe(struct platform_device *pdev)
                return ret;
        }
 
-       dev_info(dev, "SCP Protocol %lu.%lu Firmware %lu.%lu.%lu version\n",
-                FIELD_GET(PROTO_REV_MAJOR_MASK, scpi_info->protocol_version),
-                FIELD_GET(PROTO_REV_MINOR_MASK, scpi_info->protocol_version),
-                FIELD_GET(FW_REV_MAJOR_MASK, scpi_info->firmware_version),
-                FIELD_GET(FW_REV_MINOR_MASK, scpi_info->firmware_version),
-                FIELD_GET(FW_REV_PATCH_MASK, scpi_info->firmware_version));
+       if (scpi_info->is_legacy && !scpi_info->protocol_version &&
+           !scpi_info->firmware_version)
+               dev_info(dev, "SCP Protocol legacy pre-1.0 firmware\n");
+       else
+               dev_info(dev, "SCP Protocol %lu.%lu Firmware %lu.%lu.%lu version\n",
+                        FIELD_GET(PROTO_REV_MAJOR_MASK,
+                                  scpi_info->protocol_version),
+                        FIELD_GET(PROTO_REV_MINOR_MASK,
+                                  scpi_info->protocol_version),
+                        FIELD_GET(FW_REV_MAJOR_MASK,
+                                  scpi_info->firmware_version),
+                        FIELD_GET(FW_REV_MINOR_MASK,
+                                  scpi_info->firmware_version),
+                        FIELD_GET(FW_REV_PATCH_MASK,
+                                  scpi_info->firmware_version));
        scpi_info->scpi_ops = &scpi_ops;
 
        ret = devm_device_add_groups(dev, versions_groups);