diff mbox series

[BlueZ,v4,1/2] tools/bluemoon: Display FW version of firmware file

Message ID 20210202034005.27697-1-hj.tedd.an@gmail.com
State New
Headers show
Series [BlueZ,v4,1/2] tools/bluemoon: Display FW version of firmware file | expand

Commit Message

Tedd Ho-Jeong An Feb. 2, 2021, 3:40 a.m. UTC
From: Tedd Ho-Jeong An <tedd.an@intel.com>

This patch displays a FW version after parsing the WRITE_BOOT_PARAMS
command in the firmeare file. It also change the display type for
Module vendor and Date in the CSS header to hex for easy read.
---
 tools/bluemoon.c | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

Comments

Luiz Augusto von Dentz Feb. 3, 2021, 7:08 p.m. UTC | #1
Hi Tedd,

On Mon, Feb 1, 2021 at 8:14 PM <bluez.test.bot@gmail.com> wrote:
>

> This is automated email and please do not reply to this email!

>

> Dear submitter,

>

> Thank you for submitting the patches to the linux bluetooth mailing list.

> This is a CI test results with your patch series:

> PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=425781

>

> ---Test result---

>

> ##############################

> Test: CheckPatch - FAIL

> Output:

> tools/bluemoon: Add support for checking other firmware file types

> WARNING:PREFER_DEFINED_ATTRIBUTE_MACRO: Prefer __packed over __attribute__((packed))

> #59: FILE: tools/bluemoon.c:757:

> +} __attribute__ ((packed));

>

> - total: 0 errors, 1 warnings, 168 lines checked

>

> NOTE: For some of the reported defects, checkpatch may be able to

>       mechanically convert to the typical style using --fix or --fix-inplace.

>

> "[PATCH] tools/bluemoon: Add support for checking other firmware file" has style problems, please review.

>

> NOTE: Ignored message types: COMMIT_MESSAGE COMPLEX_MACRO CONST_STRUCT FILE_PATH_CHANGES MISSING_SIGN_OFF PREFER_PACKED SPLIT_STRING SSCANF_TO_KSTRTO

>

> NOTE: If any of the errors are false positives, please report

>       them to the maintainer, see CHECKPATCH in MAINTAINERS.

>

>

> ##############################

> Test: CheckGitLint - PASS

>

> ##############################

> Test: CheckBuild - PASS

>

> ##############################

> Test: MakeCheck - PASS

>

>

>

> ---

> Regards,

> Linux Bluetooth


Applied, thanks.

-- 
Luiz Augusto von Dentz
diff mbox series

Patch

diff --git a/tools/bluemoon.c b/tools/bluemoon.c
index 8b62b1e7b..382c76c69 100644
--- a/tools/bluemoon.c
+++ b/tools/bluemoon.c
@@ -805,8 +805,10 @@  static void analyze_firmware(const char *path)
 				le32_to_cpu(css->header_version) >> 16,
 				le32_to_cpu(css->header_version) & 0xffff);
 	printf("Module ID:\t%u\n", le32_to_cpu(css->module_id));
-	printf("Module vendor:\t%u\n", le32_to_cpu(css->module_vendor));
-	printf("Date:\t\t%u\n", le32_to_cpu(css->date));
+	printf("Module vendor:\t0x%x\n", le32_to_cpu(css->module_vendor));
+	printf("Date:\t\t%04x-%02x-%02x\n", le32_to_cpu(css->date) >> 16,
+				le32_to_cpu(css->date) >> 8 & 0xff,
+				le32_to_cpu(css->date) & 0xff);
 	printf("Size:\t\t%u DWORDs / %u bytes\n", le32_to_cpu(css->size),
 						le32_to_cpu(css->size) * 4);
 	printf("Key size:\t%u DWORDs / %u bytes\n",
@@ -840,13 +842,23 @@  static void analyze_firmware(const char *path)
 	while (firmware_offset < firmware_size) {
 		uint16_t opcode;
 		uint8_t dlen;
+		struct cmd_write_boot_params *params;
 
 		opcode = get_le16(firmware_data + firmware_offset);
 		dlen = firmware_data[firmware_offset + 2];
 
 		switch (opcode) {
-		case CMD_NO_OPERATION:
 		case CMD_WRITE_BOOT_PARAMS:
+			params = (void *)&firmware_data[firmware_offset + 3];
+			printf("Boot Parameters\n");
+			printf("Boot Address:\t0x%08x\n",
+					le32_to_cpu(params->boot_addr));
+			printf("Firmware build:\t%u-%u.%u\n",
+					params->fw_build_nn,
+					params->fw_build_cw,
+					2000 + params->fw_build_yy);
+			printf("\n");
+		case CMD_NO_OPERATION:
 		case CMD_MEMORY_WRITE:
 			break;
 		default: