···505505506506The addresses are normal I2C addresses. The adapter is the string507507name of the adapter, as shown in /sys/class/i2c-adapter/i2c-<n>/name.508508-It is *NOT* i2c-<n> itself.508508+It is *NOT* i2c-<n> itself. Also, the comparison is done ignoring509509+spaces, so if the name is "This is an I2C chip" you can say510510+adapter_name=ThisisanI2cchip. This is because it's hard to pass in511511+spaces in kernel parameters.509512510513The debug flags are bit flags for each BMC found, they are:511514IPMI messages: 1, driver state: 2, timing: 4, I2C probe: 8
+22-3
drivers/char/ipmi/ipmi_ssif.c
···12581258 .release = single_release,12591259};1260126012611261+static int strcmp_nospace(char *s1, char *s2)12621262+{12631263+ while (*s1 && *s2) {12641264+ while (isspace(*s1))12651265+ s1++;12661266+ while (isspace(*s2))12671267+ s2++;12681268+ if (*s1 > *s2)12691269+ return 1;12701270+ if (*s1 < *s2)12711271+ return -1;12721272+ s1++;12731273+ s2++;12741274+ }12751275+ return 0;12761276+}12771277+12611278static struct ssif_addr_info *ssif_info_find(unsigned short addr,12621279 char *adapter_name,12631280 bool match_null_name)···12891272 /* One is NULL and one is not */12901273 continue;12911274 }12921292- if (strcmp(info->adapter_name, adapter_name))12931293- /* Names to not match */12751275+ if (adapter_name &&12761276+ strcmp_nospace(info->adapter_name,12771277+ adapter_name))12781278+ /* Names do not match */12941279 continue;12951280 }12961281 found = info;···14261407 } else {14271408 no_support:14281409 /* Assume no multi-part or PEC support */14291429- pr_info(PFX "Error fetching SSIF: %d %d %2.2x, your system probably doesn't support this command so using defaults\n",14101410+ pr_info(PFX "Error fetching SSIF: %d %d %2.2x, your system probably doesn't support this command so using defaults\n",14301411 rv, len, resp[2]);1431141214321413 ssif_info->max_xmit_msg_size = 32;