diff --git a/drivers/mmi_info/mmi_boot_info.c b/drivers/mmi_info/mmi_boot_info.c index fac49fd0f42e..28d464798c67 100644 --- a/drivers/mmi_info/mmi_boot_info.c +++ b/drivers/mmi_info/mmi_boot_info.c @@ -29,6 +29,7 @@ #include #include #include +#include #include "mmi_info.h" /* @@ -283,6 +284,8 @@ static const struct file_operations bootinfo_proc_fops = { int mmi_boot_info_init(void) { + int i; + of_blsig(); mmi_bootarg_setup(); @@ -290,6 +293,22 @@ int mmi_boot_info_init(void) proc_bootinfo = proc_create("bootinfo", 0444, NULL, &bootinfo_proc_fops); + /* Add to dont panic dump */ + for (i = 0; i < bl_build_sig_count; i++) { + bl_build_sigs[i].item[MAX_BLD_SIG_ITEM - 1] = 0; + bl_build_sigs[i].value[MAX_BLD_SIG_VALUE - 1] = 0; + mmi_annotate_persist(bl_build_sigs[i].item); + mmi_annotate_persist("="); + mmi_annotate_persist(bl_build_sigs[i].value); + mmi_annotate_persist("\n"); + } + mmi_annotate_persist("MBM_VERSION: 0x%08x\n", bi_mbm_version()); + mmi_annotate_persist("SERIAL: 0x%llx\n", bi_serial()); + mmi_annotate_persist("HW_REV: 0x%04x\n", bi_hwrev()); + mmi_annotate_persist("BOOT_SEQ: 0x%08x\n", bi_boot_seq()); + mmi_annotate("POWERUPREASON: 0x%08x\n", bi_powerup_reason()); + mmi_annotate("Last boot reason: %s\n\n", bi_bootreason()); + return 0; } diff --git a/drivers/mmi_info/mmi_ram_info.c b/drivers/mmi_info/mmi_ram_info.c index 805a8eebd499..30442a7dcfd4 100644 --- a/drivers/mmi_info/mmi_ram_info.c +++ b/drivers/mmi_info/mmi_ram_info.c @@ -14,6 +14,7 @@ #include #include +#include #include "mmi_info.h" #define SMEM_SDRAM_INFO SMEM_ID_VENDOR1 @@ -158,6 +159,14 @@ int mmi_ram_info_init(void) /* extract size */ sysfsram_ramsize = smem_ddr_info->ramsize; + + mmi_annotate_persist( + "RAM: %s, %s, %u MB, MR5:0x%02X, MR6:0x%02X, " + "MR7:0x%02X, MR8:0x%02X\n", + vname, tname, smem_ddr_info->ramsize, + smem_ddr_info->mr5, smem_ddr_info->mr6, + smem_ddr_info->mr7, smem_ddr_info->mr8); + } else { /* complain, but do not fail if SMEM was not allocated */ /* defaults will be reported */ diff --git a/drivers/mmi_info/mmi_soc_info.c b/drivers/mmi_info/mmi_soc_info.c index 6e2464c3b39f..0720eda4028e 100644 --- a/drivers/mmi_info/mmi_soc_info.c +++ b/drivers/mmi_info/mmi_soc_info.c @@ -14,6 +14,7 @@ #include #include +#include #include "mmi_info.h" static ssize_t version_show(struct kobject *kobj, @@ -56,11 +57,26 @@ static struct attribute_group soc_info_properties_attr_group = { static struct kobject *soc_info_properties_kobj; +static void annotate_soc_info(void) +{ + mmi_annotate_persist("socinfo: id=%u, ", socinfo_get_id()); + mmi_annotate_persist("ver=%u.%u, ", + SOCINFO_VERSION_MAJOR(socinfo_get_version()), + SOCINFO_VERSION_MINOR(socinfo_get_version())); + mmi_annotate_persist("raw_id=%u, ", socinfo_get_raw_id()); + mmi_annotate_persist("raw_ver=%u, ", socinfo_get_raw_version()); + mmi_annotate_persist("hw_plat=%u, ", socinfo_get_platform_type()); + mmi_annotate_persist("hw_plat_ver=%u, ", socinfo_get_platform_version()); + mmi_annotate_persist("hw_plat_subtype=%u\n", socinfo_get_platform_subtype()); +} + int mmi_soc_info_init(void) { int ret = 0; int status = 0; + annotate_soc_info(); + soc_info_properties_kobj = kobject_create_and_add("soc", NULL); if (soc_info_properties_kobj) status = sysfs_create_group(soc_info_properties_kobj, diff --git a/drivers/mmi_info/mmi_storage_info.c b/drivers/mmi_info/mmi_storage_info.c index b397fc4fd6c0..8081c1279e61 100644 --- a/drivers/mmi_info/mmi_storage_info.c +++ b/drivers/mmi_info/mmi_storage_info.c @@ -16,6 +16,7 @@ #include #include #include +#include #include "mmi_info.h" struct mmi_storage_info *info; @@ -95,6 +96,14 @@ int mmi_storage_info_init(void) info->product_name, info->firmware_version); + mmi_annotate_persist( + "%s: %s %s %s FV=%s\n", + info->type, + info->size, + info->card_manufacturer, + info->product_name, + info->firmware_version); + /* Export to sysfs*/ st_info_properties_kobj = kobject_create_and_add("storage", NULL); if (st_info_properties_kobj)