Messages in this thread | | | Subject | Re: [PATCH v4 2/2] mfd: intel-m10-bmc: add Max10 BMC chip support for Intel FPGA PAC | From | Tom Rix <> | Date | Fri, 28 Aug 2020 06:50:54 -0700 |
| |
>> + >> +static int check_m10bmc_version(struct intel_m10bmc *m10bmc) >> +{ >> + unsigned int v; >> + >> + if (m10bmc_raw_read(m10bmc, M10BMC_LEGACY_SYS_BASE + M10BMC_BUILD_VER, >> + &v)) >> + return -ENODEV; > Please break functions out of if statements. > > Does m10bmc_raw_read() return 0 on success? > > Seems odd for a read function. > >> + if (v != 0xffffffff) { >> + dev_err(m10bmc->dev, "bad version M10BMC detected\n"); >> + return -ENODEV; >> + } > The only acceptable version is -1?
I ran into this in testing. This is a check if the board is using a very old legacy bmc version. The M10BMC_LEGACY_SYS_BASE is the offset to this old block of mmio regs. On the old boards, v would have not been f's, on the current boards it is f's. The check is necessary because future calls use the M10BMC_SYS_BASE offset which was not valid on the old boards.
Tom
| |