diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/devices/dmi_memory.c | 27 | ||||
-rw-r--r-- | modules/devices/spd-decode.c | 13 |
2 files changed, 16 insertions, 24 deletions
diff --git a/modules/devices/dmi_memory.c b/modules/devices/dmi_memory.c index 8a95abf0..df6e33a9 100644 --- a/modules/devices/dmi_memory.c +++ b/modules/devices/dmi_memory.c @@ -75,12 +75,12 @@ dmi_mem_size dmi_read_memory_str_to_MiB(const char *memstr) { else if (SEQ(l, "MB")) ret = v; else if (SEQ(l, "kB")) { /* should never appear */ - if (v % 1024) dmi_spd_msg("OMG kB!"); + if (v % 1024) { dmi_spd_msg("OMG kB!"); } ret = v / 1024; } else if (SEQ(l, "bytes")) { /* should never appear */ - if (v % 1024) dmi_spd_msg("OMG bytes!"); + if (v % 1024) { dmi_spd_msg("OMG bytes!"); } ret = v / (1024 * 1024); } } @@ -250,7 +250,7 @@ dmi_mem_socket *dmi_mem_socket_new(dmi_handle h) { if (SEQ(s->type, "DRDRAM")) s->ram_type = DIRECT_RAMBUS; if (SEQ(s->type, "RDRAM")) s->ram_type = RAMBUS; if (s->ram_type) - dmi_ram_types |= (1 << s->ram_type-1); + dmi_ram_types |= (1 << (s->ram_type-1)); s->type_detail = dmidecode_match("Type Detail", &dtm, &h); STR_IGNORE(s->type_detail, "None"); @@ -393,7 +393,7 @@ dmi_mem *dmi_mem_new() { dmi_handle_list *hla = dmidecode_handles(&dta); if (hla) { - int i = 0; + unsigned int i = 0; for(i = 0; i < hla->count; i++) { dmi_handle h = hla->handles[i]; m->arrays = g_slist_append(m->arrays, dmi_mem_array_new(h)); @@ -403,7 +403,7 @@ dmi_mem *dmi_mem_new() { dmi_handle_list *hlm = dmidecode_handles(&dtm); if (hlm) { - int i = 0; + unsigned int i = 0; for(i = 0; i < hlm->count; i++) { dmi_handle h = hlm->handles[i]; m->sockets = g_slist_append(m->sockets, dmi_mem_socket_new(h)); @@ -425,7 +425,7 @@ dmi_mem *dmi_mem_new() { spd_data *e = (spd_data*)l2->data; m->spd_size_MiB += e->size_MiB; if (e->type) - m->spd_ram_types |= (1 << e->type-1); + m->spd_ram_types |= (1 << (e->type-1)); } m->unique_short_locators = TRUE; @@ -434,7 +434,6 @@ dmi_mem *dmi_mem_new() { /* check for duplicate short_locator */ if (m->unique_short_locators) { - gboolean has_duplicate = FALSE; for(l2 = l->next; l2; l2 = l2->next) { dmi_mem_socket *d = (dmi_mem_socket*)l2->data; if (SEQ(s->short_locator, d->short_locator)) { @@ -451,7 +450,7 @@ dmi_mem *dmi_mem_new() { if (s->populated) a->devs_populated++; if (s->ram_type) - a->ram_types |= (1 << s->ram_type-1); + a->ram_types |= (1 << (s->ram_type-1)); } } @@ -461,7 +460,6 @@ dmi_mem *dmi_mem_new() { int loops = g_slist_length(sock_queue) * 4; while(sock_queue) { if (loops-- <= 0) break; /* something is wrong, give up */ - dmi_spd_msg("match queue has %d\n", g_slist_length(sock_queue) ); spd_data *best = NULL; int best_score = 0; dmi_mem_socket *s = (dmi_mem_socket*)sock_queue->data; @@ -472,17 +470,14 @@ dmi_mem *dmi_mem_new() { for(l2 = m->spd; l2; l2 = l2->next) { spd_data *e = (spd_data*)l2->data; int score = dmi_spd_match_score(s, e); - dmi_spd_msg("... s:%s vs e:%s%s = %d (best_score = %d)\n", s->full_locator, e->dev, e->dmi_socket ? "*" : "", score, best_score); if (score > best_score) { if (score > e->match_score) { - dmi_spd_msg("----- new best!\n"); best = e; best_score = score; } } } if (best) { - dmi_spd_msg("*** best for s:%s was e:%s with %d\n", s->full_locator, best->dev, best_score); if (best->dmi_socket) { /* displace */ dmi_mem_socket *old_sock = best->dmi_socket; @@ -493,17 +488,13 @@ dmi_mem *dmi_mem_new() { best->match_score = best_score; s->spd = best; } else { - dmi_spd_msg("*** no conflict!\n"); best->dmi_socket = s; best->match_score = best_score; s->spd = best; } - } else - dmi_spd_msg("no match!\n"); + } } - dmi_spd_msg("------- done matching.\n"); - /* fill any missing data in DMI that is * provided by the matched SPD */ for(l = m->sockets; l; l = l->next) { @@ -975,7 +966,7 @@ gboolean memory_devices_hinote(const char **msg) { gboolean best_state = FALSE; if (has_dmi && has_root && ((has_eeprom && !spd_ddr4_partial_data) - || has_ee1004 && !ddr3_ee1004) ) + || (has_ee1004 && !ddr3_ee1004) ) ) best_state = TRUE; if (!best_state) { diff --git a/modules/devices/spd-decode.c b/modules/devices/spd-decode.c index b0834481..1bebaa14 100644 --- a/modules/devices/spd-decode.c +++ b/modules/devices/spd-decode.c @@ -65,7 +65,7 @@ static const char *ram_types[] = {"Unknown", "Direct Rambus", "Rambus", struct dmi_mem_socket; typedef struct { unsigned char bytes[512]; - unsigned char dev[32]; /* %1d-%04d\0 */ + char dev[32]; /* %1d-%04d\0 */ int spd_driver; /* 0 = eeprom, 1 = ee1004 */ int spd_size; @@ -256,6 +256,7 @@ static void decode_sdr_module_refresh_rate(unsigned char *bytes, char **refresh_ } static void decode_sdr_module_detail(unsigned char *bytes, char *type_detail) { + bytes = bytes; /* silence unused warning */ if (type_detail) { snprintf(type_detail, 255, "SDR"); } @@ -657,7 +658,6 @@ static void decode_module_manufacturer(unsigned char *bytes, char **manufacturer unsigned char first; int ai = 0; int len = 8; - unsigned char *initial = bytes; if (!spd_written(bytes, 8)) { out = "Undefined"; @@ -886,7 +886,6 @@ static void decode_ddr4_module_detail(unsigned char *bytes, char *type_detail) { static gchar *decode_ddr4_sdram_extra(unsigned char *bytes, int spd_size) { float ddr_clock; int pc4_speed, xmp_majv = -1, xmp_minv = -1; - const char *dram_manf; char *speed_timings = NULL, *xmp_profile = NULL, *xmp = NULL, *manf_date = NULL; static gchar *out; @@ -1021,7 +1020,7 @@ static GSList *decode_dimms2(GSList *eeprom_list, gboolean use_sysfs, int max_si RamType ram_type; - memset(bytes, 0, 512); + memset(bytes, 0, 512); /* clear */ spd_size = read_spd(spd_path, 0, max_size, use_sysfs, bytes); ram_type = decode_ram_type(bytes); @@ -1078,6 +1077,8 @@ static GSList *decode_dimms2(GSList *eeprom_list, gboolean use_sysfs, int max_si s->ddr4_no_ee1004 = s->ddr4_no_ee1004 || (spd_size < 512); spd_ddr4_partial_data = spd_ddr4_partial_data || s->ddr4_no_ee1004; break; + case UNKNOWN: + break; default: DEBUG("Unsupported EEPROM type: %s for %s\n", GET_RAM_TYPE_STR(ram_type), spd_path); continue; if (ram_type) { @@ -1093,7 +1094,7 @@ static GSList *decode_dimms2(GSList *eeprom_list, gboolean use_sysfs, int max_si s->spd_driver = 1; s->spd_size = spd_size; s->type = ram_type; - spd_ram_types |= (1 << ram_type-1); + spd_ram_types |= (1 << (ram_type-1)); switch (ram_type) { case SDR_SDRAM: case DDR_SDRAM: @@ -1132,7 +1133,7 @@ static const struct SpdDriver spd_drivers[] = { GSList *spd_scan() { GDir *dir = NULL; GSList *eeprom_list = NULL, *dimm_list = NULL; - gchar *dimm_list_entry, *dir_entry, *list = NULL; + gchar *dimm_list_entry, *dir_entry; const struct SpdDriver *driver; gboolean driver_found = FALSE; |