firmware: raspberrypi: Report the fw git hash during probe
authorDave Stevenson <dave.stevenson@raspberrypi.org>
Thu, 10 Jan 2019 18:48:54 +0000 (18:48 +0000)
committerpopcornmix <popcornmix@gmail.com>
Mon, 13 May 2019 23:08:15 +0000 (00:08 +0100)
The firmware can now report the git hash from which it was built
via the mailbox, so report it during probe.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
drivers/firmware/raspberrypi.c
include/soc/bcm2835/raspberrypi-firmware.h

index f020855..fcbfe5d 100644 (file)
@@ -263,6 +263,22 @@ rpi_firmware_print_firmware_revision(struct rpi_firmware *fw)
 }
 
 static void
+rpi_firmware_print_firmware_hash(struct rpi_firmware *fw)
+{
+       u32 hash[5];
+       int ret = rpi_firmware_property(fw,
+                                       RPI_FIRMWARE_GET_FIRMWARE_HASH,
+                                       hash, sizeof(hash));
+
+       if (ret)
+               return;
+
+       dev_info(fw->cl.dev,
+                "Firmware hash is %08x%08x%08x%08x%08x\n",
+                hash[0], hash[1], hash[2], hash[3], hash[4]);
+}
+
+static void
 rpi_register_hwmon_driver(struct device *dev, struct rpi_firmware *fw)
 {
        u32 packet;
@@ -308,6 +324,7 @@ static int rpi_firmware_probe(struct platform_device *pdev)
        g_pdev = pdev;
 
        rpi_firmware_print_firmware_revision(fw);
+       rpi_firmware_print_firmware_hash(fw);
        rpi_register_hwmon_driver(dev, fw);
 
        return 0;
index 17f8fe3..23b9d35 100644 (file)
@@ -42,6 +42,7 @@ enum rpi_firmware_property_tag {
        RPI_FIRMWARE_PROPERTY_END =                           0,
        RPI_FIRMWARE_GET_FIRMWARE_REVISION =                  0x00000001,
        RPI_FIRMWARE_GET_FIRMWARE_VARIANT =                   0x00000002,
+       RPI_FIRMWARE_GET_FIRMWARE_HASH =                      0x00000003,
 
        RPI_FIRMWARE_SET_CURSOR_INFO =                        0x00008010,
        RPI_FIRMWARE_SET_CURSOR_STATE =                       0x00008011,