From 4411264f1c0b7f88624d93154aa6ca09649c00d9 Mon Sep 17 00:00:00 2001 From: Ondrej Čerman Date: Wed, 20 Oct 2021 00:02:18 +0200 Subject: devices/spd-decode: added support for at24 module --- modules/devices/dmi_memory.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'modules/devices/dmi_memory.c') diff --git a/modules/devices/dmi_memory.c b/modules/devices/dmi_memory.c index f75c58ce..dfb9944f 100644 --- a/modules/devices/dmi_memory.c +++ b/modules/devices/dmi_memory.c @@ -640,8 +640,8 @@ gchar *make_spd_section(spd_data *spd) { "%s=%s\n" /* mfg date */ "%s", _("Serial Presence Detect (SPD)"), - _("Source"), spd->dev, spd->spd_driver ? "ee1004" : "eeprom", - (spd->type == DDR4_SDRAM && !spd->spd_driver) ? problem_marker() : "", + _("Source"), spd->dev, spd->spd_driver, + (spd->type == DDR4_SDRAM && strcmp(spd->spd_driver, "ee1004") != 0) ? problem_marker() : "", _("SPD Revision"), spd->spd_rev_major, spd->spd_rev_minor, _("Form Factor"), UNKIFNULL2(spd->form_factor), _("Type"), UNKIFEMPTY2(spd->type_detail), @@ -995,12 +995,13 @@ static gchar note_state[note_max_len] = ""; gboolean memory_devices_hinote(const char **msg) { gchar *want_dmi = _(" dmidecode utility available"); gchar *want_root = _(" ... and HardInfo running with superuser privileges"); - gchar *want_eeprom = _(" eeprom module loaded (for SDR, DDR, DDR2, DDR3)"); + gchar *want_at24 = _(" at24 (or eeprom) module loaded (for SDR, DDR, DDR2, DDR3)"); gchar *want_ee1004 = _(" ... or ee1004 module loaded and configured! (for DDR4)"); gboolean has_root = (getuid() == 0); gboolean has_dmi = !no_handles; - gboolean has_eeprom = g_file_test("/sys/bus/i2c/drivers/eeprom", G_FILE_TEST_IS_DIR); + gboolean has_at24eep = g_file_test("/sys/bus/i2c/drivers/at24", G_FILE_TEST_IS_DIR) || + g_file_test("/sys/bus/i2c/drivers/eeprom", G_FILE_TEST_IS_DIR); gboolean has_ee1004 = g_file_test("/sys/bus/i2c/drivers/ee1004", G_FILE_TEST_IS_DIR); *note_state = 0; /* clear */ @@ -1010,7 +1011,7 @@ gboolean memory_devices_hinote(const char **msg) { note_print(note_state, " "); note_cond_bullet(has_root, note_state, want_root); note_print(note_state, "2. "); - note_cond_bullet(has_eeprom, note_state, want_eeprom); + note_cond_bullet(has_at24eep, note_state, want_at24); note_print(note_state, " "); note_cond_bullet(has_ee1004, note_state, want_ee1004); g_strstrip(note_state); /* remove last \n */ @@ -1019,7 +1020,7 @@ gboolean memory_devices_hinote(const char **msg) { gboolean best_state = FALSE; if (has_dmi && has_root && - ((has_eeprom && !spd_ddr4_partial_data) + ((has_at24eep && !spd_ddr4_partial_data) || (has_ee1004 && !ddr3_ee1004) ) ) best_state = TRUE; -- cgit v1.2.3