Module Name: src
Committed By: christos
Date: Wed Jun 21 21:55:07 UTC 2017
Modified Files:
src/sys/arch/x86/x86: ipmi.c
Log Message:
knf, fix more error and debugging messages.
To generate a diff of this commit:
cvs rdiff -u -r1.64 -r1.65 src/sys/arch/x86/x86/ipmi.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/x86/x86/ipmi.c
diff -u src/sys/arch/x86/x86/ipmi.c:1.64 src/sys/arch/x86/x86/ipmi.c:1.65
--- src/sys/arch/x86/x86/ipmi.c:1.64 Thu Jul 7 02:55:40 2016
+++ src/sys/arch/x86/x86/ipmi.c Wed Jun 21 17:55:07 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: ipmi.c,v 1.64 2016/07/07 06:55:40 msaitoh Exp $ */
+/* $NetBSD: ipmi.c,v 1.65 2017/06/21 21:55:07 christos Exp $ */
/*
* Copyright (c) 2006 Manuel Bouyer.
@@ -52,7 +52,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ipmi.c,v 1.64 2016/07/07 06:55:40 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ipmi.c,v 1.65 2017/06/21 21:55:07 christos Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -268,14 +268,14 @@ ipmi_get_if(int iftype)
{
switch (iftype) {
case IPMI_IF_KCS:
- return (&kcs_if);
+ return &kcs_if;
case IPMI_IF_SMIC:
- return (&smic_if);
+ return &smic_if;
case IPMI_IF_BT:
- return (&bt_if);
+ return &bt_if;
+ default:
+ return NULL;
}
-
- return (NULL);
}
/*
@@ -284,8 +284,8 @@ ipmi_get_if(int iftype)
uint8_t
bmc_read(struct ipmi_softc *sc, int offset)
{
- return (bus_space_read_1(sc->sc_iot, sc->sc_ioh,
- offset * sc->sc_if_iospacing));
+ return bus_space_read_1(sc->sc_iot, sc->sc_ioh,
+ offset * sc->sc_if_iospacing);
}
void
@@ -344,7 +344,7 @@ bmc_io_wait_spin(struct ipmi_softc *sc,
delay(1);
}
- return (-1);
+ return -1;
}
@@ -385,11 +385,11 @@ bt_read(struct ipmi_softc *sc, int reg)
int
bt_write(struct ipmi_softc *sc, int reg, uint8_t data)
{
- if (bmc_io_wait(sc, _BT_CTRL_REG, BT_BMC_BUSY, 0, "bt_write") < 0)
- return (-1);
+ if (bmc_io_wait(sc, _BT_CTRL_REG, BT_BMC_BUSY, 0, __func__) < 0)
+ return -1;
bmc_write(sc, reg, data);
- return (0);
+ return 0;
}
int
@@ -403,10 +403,10 @@ bt_sendmsg(struct ipmi_softc *sc, int le
bt_write(sc, _BT_CTRL_REG, BT_HOST2BMC_ATN);
if (bmc_io_wait(sc, _BT_CTRL_REG, BT_HOST2BMC_ATN | BT_BMC_BUSY, 0,
- "bt_sendwait") < 0)
- return (-1);
+ __func__) < 0)
+ return -1;
- return (0);
+ return 0;
}
int
@@ -415,8 +415,8 @@ bt_recvmsg(struct ipmi_softc *sc, int ma
uint8_t len, v, i;
if (bmc_io_wait(sc, _BT_CTRL_REG, BT_BMC2HOST_ATN, BT_BMC2HOST_ATN,
- "bt_recvwait") < 0)
- return (-1);
+ __func__) < 0)
+ return -1;
bt_write(sc, _BT_CTRL_REG, BT_HOST_BUSY);
bt_write(sc, _BT_CTRL_REG, BT_BMC2HOST_ATN);
@@ -430,13 +430,13 @@ bt_recvmsg(struct ipmi_softc *sc, int ma
bt_write(sc, _BT_CTRL_REG, BT_HOST_BUSY);
*rxlen = len - 1;
- return (0);
+ return 0;
}
int
bt_reset(struct ipmi_softc *sc)
{
- return (-1);
+ return -1;
}
int
@@ -455,7 +455,7 @@ bt_probe(struct ipmi_softc *sc)
bmc_write(sc, _BT_INTMASK_REG, rv);
#if 0
- printf("bt_probe: %2x\n", v);
+ printf("%s: %2x\n", __func__, v);
printf(" WR : %2x\n", v & BT_CLR_WR_PTR);
printf(" RD : %2x\n", v & BT_CLR_RD_PTR);
printf(" H2B : %2x\n", v & BT_HOST2BMC_ATN);
@@ -464,7 +464,7 @@ bt_probe(struct ipmi_softc *sc)
printf(" HBSY : %2x\n", v & BT_HOST_BUSY);
printf(" BBSY : %2x\n", v & BT_BMC_BUSY);
#endif
- return (0);
+ return 0;
}
/*
@@ -509,14 +509,14 @@ smic_wait(struct ipmi_softc *sc, uint8_t
int v;
/* Wait for expected flag bits */
- v = bmc_io_wait(sc, _SMIC_FLAG_REG, mask, val, "smicwait");
+ v = bmc_io_wait(sc, _SMIC_FLAG_REG, mask, val, __func__);
if (v < 0)
- return (-1);
+ return -1;
/* Return current status */
v = bmc_read(sc, _SMIC_CTRL_REG);
- dbg_printf(99, "smic_wait(%s) = %.2x\n", lbl, v);
- return (v);
+ dbg_printf(99, "%s(%s) = %#.2x\n", __func__, lbl, v);
+ return v;
}
int
@@ -524,11 +524,11 @@ smic_write_cmd_data(struct ipmi_softc *s
{
int sts, v;
- dbg_printf(50, "smic_wcd: %.2x %.2x\n", cmd, data ? *data : -1);
+ dbg_printf(50, "%s: %#.2x %#.2x\n", __func__, cmd, data ? *data : -1);
sts = smic_wait(sc, SMIC_TX_DATA_RDY | SMIC_BUSY, SMIC_TX_DATA_RDY,
"smic_write_cmd_data ready");
if (sts < 0)
- return (sts);
+ return sts;
bmc_write(sc, _SMIC_CTRL_REG, cmd);
if (data)
@@ -538,7 +538,7 @@ smic_write_cmd_data(struct ipmi_softc *s
v = bmc_read(sc, _SMIC_FLAG_REG);
bmc_write(sc, _SMIC_FLAG_REG, v | SMIC_BUSY);
- return (smic_wait(sc, SMIC_BUSY, 0, "smic_write_cmd_data busy"));
+ return smic_wait(sc, SMIC_BUSY, 0, __func__);
}
int
@@ -547,15 +547,15 @@ smic_read_data(struct ipmi_softc *sc, ui
int sts;
sts = smic_wait(sc, SMIC_RX_DATA_RDY | SMIC_BUSY, SMIC_RX_DATA_RDY,
- "smic_read_data");
+ __func__);
if (sts >= 0) {
*data = bmc_read(sc, _SMIC_DATAIN_REG);
- dbg_printf(50, "smic_readdata: %.2x\n", *data);
+ dbg_printf(50, "%s: %#.2x\n", __func__, *data);
}
- return (sts);
+ return sts;
}
-#define ErrStat(a,b) if (a) printf(b);
+#define ErrStat(a, ...) if (a) printf(__VA_ARGS__);
int
smic_sendmsg(struct ipmi_softc *sc, int len, const uint8_t *data)
@@ -563,19 +563,19 @@ smic_sendmsg(struct ipmi_softc *sc, int
int sts, idx;
sts = smic_write_cmd_data(sc, SMS_CC_START_TRANSFER, &data[0]);
- ErrStat(sts != SMS_SC_WRITE_START, "smic_sendmsg: wstart");
+ ErrStat(sts != SMS_SC_WRITE_START, "%s: wstart", __func__);
for (idx = 1; idx < len - 1; idx++) {
sts = smic_write_cmd_data(sc, SMS_CC_NEXT_TRANSFER,
&data[idx]);
- ErrStat(sts != SMS_SC_WRITE_NEXT, "smic_sendmsg: write");
+ ErrStat(sts != SMS_SC_WRITE_NEXT, "%s: write", __func__);
}
sts = smic_write_cmd_data(sc, SMS_CC_END_TRANSFER, &data[idx]);
if (sts != SMS_SC_WRITE_END) {
- dbg_printf(50, "smic_sendmsg %d/%d = %.2x\n", idx, len, sts);
- return (-1);
+ dbg_printf(50, "%s: %d/%d = %#.2x\n", __func__, idx, len, sts);
+ return -1;
}
- return (0);
+ return 0;
}
int
@@ -584,35 +584,36 @@ smic_recvmsg(struct ipmi_softc *sc, int
int sts, idx;
*len = 0;
- sts = smic_wait(sc, SMIC_RX_DATA_RDY, SMIC_RX_DATA_RDY, "smic_recvmsg");
+ sts = smic_wait(sc, SMIC_RX_DATA_RDY, SMIC_RX_DATA_RDY, __func__);
if (sts < 0)
- return (-1);
+ return -1;
sts = smic_write_cmd_data(sc, SMS_CC_START_RECEIVE, NULL);
- ErrStat(sts != SMS_SC_READ_START, "smic_recvmsg: rstart");
+ ErrStat(sts != SMS_SC_READ_START, "%s: rstart", __func__);
for (idx = 0;; ) {
sts = smic_read_data(sc, &data[idx++]);
if (sts != SMS_SC_READ_START && sts != SMS_SC_READ_NEXT)
break;
smic_write_cmd_data(sc, SMS_CC_NEXT_RECEIVE, NULL);
}
- ErrStat(sts != SMS_SC_READ_END, "smic_recvmsg: rend");
+ ErrStat(sts != SMS_SC_READ_END, "%s: rend", __func__);
*len = idx;
sts = smic_write_cmd_data(sc, SMS_CC_END_RECEIVE, NULL);
if (sts != SMS_SC_READY) {
- dbg_printf(50, "smic_recvmsg %d/%d = %.2x\n", idx, maxlen, sts);
- return (-1);
+ dbg_printf(50, "%s: %d/%d = %#.2x\n",
+ __func__, idx, maxlen, sts);
+ return -1;
}
- return (0);
+ return 0;
}
int
smic_reset(struct ipmi_softc *sc)
{
- return (-1);
+ return -1;
}
int
@@ -620,9 +621,9 @@ smic_probe(struct ipmi_softc *sc)
{
/* Flag register should not be 0xFF on a good system */
if (bmc_read(sc, _SMIC_FLAG_REG) == 0xFF)
- return (-1);
+ return -1;
- return (0);
+ return 0;
}
/*
@@ -662,7 +663,7 @@ kcs_wait(struct ipmi_softc *sc, uint8_t
v = bmc_io_wait(sc, _KCS_STATUS_REGISTER, mask, value, lbl);
if (v < 0)
- return (v);
+ return v;
/* Check if output buffer full, read dummy byte */
if ((v & (KCS_OBF | KCS_STATE_MASK)) == (KCS_OBF | KCS_WRITE_STATE))
@@ -673,31 +674,31 @@ kcs_wait(struct ipmi_softc *sc, uint8_t
bmc_write(sc, _KCS_COMMAND_REGISTER, KCS_GET_STATUS);
while (bmc_read(sc, _KCS_STATUS_REGISTER) & KCS_IBF)
;
- aprint_error("ipmi: error code: %x\n",
+ aprint_error_dev(sc->sc_dev, "error code: %#x\n",
bmc_read(sc, _KCS_DATAIN_REGISTER));
}
- return (v & KCS_STATE_MASK);
+ return v & KCS_STATE_MASK;
}
int
kcs_write_cmd(struct ipmi_softc *sc, uint8_t cmd)
{
/* ASSERT: IBF and OBF are clear */
- dbg_printf(50, "kcswritecmd: %.2x\n", cmd);
+ dbg_printf(50, "%s: %#.2x\n", __func__, cmd);
bmc_write(sc, _KCS_COMMAND_REGISTER, cmd);
- return (kcs_wait(sc, KCS_IBF, 0, "write_cmd"));
+ return kcs_wait(sc, KCS_IBF, 0, "write_cmd");
}
int
kcs_write_data(struct ipmi_softc *sc, uint8_t data)
{
/* ASSERT: IBF and OBF are clear */
- dbg_printf(50, "kcswritedata: %.2x\n", data);
+ dbg_printf(50, "%s: %#.2x\n", __func__, data);
bmc_write(sc, _KCS_DATAOUT_REGISTER, data);
- return (kcs_wait(sc, KCS_IBF, 0, "write_data"));
+ return kcs_wait(sc, KCS_IBF, 0, "write_data");
}
int
@@ -705,17 +706,17 @@ kcs_read_data(struct ipmi_softc *sc, uin
{
int sts;
- sts = kcs_wait(sc, KCS_IBF | KCS_OBF, KCS_OBF, "read_data");
+ sts = kcs_wait(sc, KCS_IBF | KCS_OBF, KCS_OBF, __func__);
if (sts != KCS_READ_STATE)
- return (sts);
+ return sts;
/* ASSERT: OBF is set read data, request next byte */
*data = bmc_read(sc, _KCS_DATAIN_REGISTER);
bmc_write(sc, _KCS_DATAOUT_REGISTER, KCS_READ_NEXT);
- dbg_printf(50, "kcsreaddata: %.2x\n", *data);
+ dbg_printf(50, "%s: %#.2x\n", __func__, *data);
- return (sts);
+ return sts;
}
/* Exported KCS functions */
@@ -725,7 +726,7 @@ kcs_sendmsg(struct ipmi_softc *sc, int l
int idx, sts;
/* ASSERT: IBF is clear */
- dbg_dump(50, "kcs sendmsg", len, data);
+ dbg_dump(50, __func__, len, data);
sts = kcs_write_cmd(sc, KCS_WRITE_START);
for (idx = 0; idx < len; idx++) {
if (idx == len - 1)
@@ -737,12 +738,12 @@ kcs_sendmsg(struct ipmi_softc *sc, int l
sts = kcs_write_data(sc, data[idx]);
}
if (sts != KCS_READ_STATE) {
- dbg_printf(1, "kcs sendmsg = %d/%d <%.2x>\n", idx, len, sts);
- dbg_dump(1, "kcs_sendmsg", len, data);
- return (-1);
+ dbg_printf(1, "%s: %d/%d <%#.2x>\n", __func__, idx, len, sts);
+ dbg_dump(1, __func__, len, data);
+ return -1;
}
- return (0);
+ return 0;
}
int
@@ -755,22 +756,23 @@ kcs_recvmsg(struct ipmi_softc *sc, int m
if (sts != KCS_READ_STATE)
break;
}
- sts = kcs_wait(sc, KCS_IBF, 0, "recv");
+ sts = kcs_wait(sc, KCS_IBF, 0, __func__);
*rxlen = idx;
if (sts != KCS_IDLE_STATE) {
- dbg_printf(1, "kcs read = %d/%d <%.2x>\n", idx, maxlen, sts);
- return (-1);
+ dbg_printf(1, "%s: %d/%d <%#.2x>\n",
+ __func__, idx, maxlen, sts);
+ return -1;
}
- dbg_dump(50, "kcs recvmsg", idx, data);
+ dbg_dump(50, __func__, idx, data);
- return (0);
+ return 0;
}
int
kcs_reset(struct ipmi_softc *sc)
{
- return (-1);
+ return -1;
}
int
@@ -780,7 +782,7 @@ kcs_probe(struct ipmi_softc *sc)
v = bmc_read(sc, _KCS_STATUS_REGISTER);
#if 0
- printf("kcs_probe: %2x\n", v);
+ printf("%s: %2x\n", __func__, v);
printf(" STS: %2x\n", v & KCS_STATE_MASK);
printf(" ATN: %2x\n", v & KCS_SMS_ATN);
printf(" C/D: %2x\n", v & KCS_CD);
@@ -789,7 +791,7 @@ kcs_probe(struct ipmi_softc *sc)
#else
__USE(v);
#endif
- return (0);
+ return 0;
}
/*
@@ -866,12 +868,12 @@ scan_sig(long start, long end, int skip,
while (start < end) {
va = ISA_HOLE_VADDR(start);
if (memcmp(va, data, len) == 0)
- return (va);
+ return va;
start += skip;
}
- return (NULL);
+ return NULL;
}
void
@@ -891,8 +893,8 @@ ipmi_smbios_probe(struct smbios_ipmi *pi
{
const char *platform;
- dbg_printf(1, "ipmi_smbios_probe: %02x %02x %02x %02x "
- "%08" PRIx64 " %02x %02x\n",
+ dbg_printf(1, "%s: %#.2x %#.2x %#.2x %#.2x %#08" PRIx64
+ " %#.2x %#.2x\n", __func__,
pipmi->smipmi_if_type,
pipmi->smipmi_if_rev,
pipmi->smipmi_i2c_address,
@@ -923,7 +925,7 @@ ipmi_smbios_probe(struct smbios_ipmi *pi
default:
ia->iaa_if_iospacing = 1;
- aprint_error("ipmi: unknown register spacing\n");
+ aprint_error("%s: unknown register spacing\n", __func__);
}
/* Calculate base address (PCI BAR format) */
@@ -973,7 +975,7 @@ bt_buildmsg(struct ipmi_softc *sc, int n
*txlen = len + 4;
buf = ipmi_buf_acquire(sc, *txlen);
if (buf == NULL)
- return (NULL);
+ return NULL;
buf[IPMI_BTMSG_LEN] = len + 3;
buf[IPMI_BTMSG_NFLN] = nfLun;
@@ -982,7 +984,7 @@ bt_buildmsg(struct ipmi_softc *sc, int n
if (len && data)
memcpy(buf + IPMI_BTMSG_DATASND, data, len);
- return (buf);
+ return buf;
}
/*
@@ -1002,14 +1004,14 @@ cmn_buildmsg(struct ipmi_softc *sc, int
*txlen = len + 2;
buf = ipmi_buf_acquire(sc, *txlen);
if (buf == NULL)
- return (NULL);
+ return NULL;
buf[IPMI_MSG_NFLN] = nfLun;
buf[IPMI_MSG_CMD] = cmd;
if (len && data)
memcpy(buf + IPMI_MSG_DATASND, data, len);
- return (buf);
+ return buf;
}
/*
@@ -1024,9 +1026,9 @@ ipmi_sendcmd(struct ipmi_softc *sc, int
uint8_t *buf;
int rc = -1;
- dbg_printf(50, "ipmi_sendcmd: rssa=%.2x nfln=%.2x cmd=%.2x len=%.2x\n",
- rssa, NETFN_LUN(netfn, rslun), cmd, txlen);
- dbg_dump(10, " send", txlen, data);
+ dbg_printf(50, "%s: rssa=%#.2x nfln=%#.2x cmd=%#.2x len=%#.2x\n",
+ __func__, rssa, NETFN_LUN(netfn, rslun), cmd, txlen);
+ dbg_dump(10, __func__, txlen, data);
if (rssa != BMC_SA) {
#if 0
buf = sc->sc_if->buildmsg(sc, NETFN_LUN(APP_NETFN, BMC_LUN),
@@ -1052,7 +1054,7 @@ ipmi_sendcmd(struct ipmi_softc *sc, int
txlen, data, &txlen);
if (buf == NULL) {
- printf("ipmi: sendcmd buffer busy\n");
+ aprint_error_dev(sc->sc_dev, "sendcmd buffer busy\n");
goto done;
}
rc = sc->sc_if->sendmsg(sc, txlen, buf);
@@ -1061,7 +1063,7 @@ ipmi_sendcmd(struct ipmi_softc *sc, int
ipmi_delay(sc, 50); /* give bmc chance to digest command */
done:
- return (rc);
+ return rc;
}
void
@@ -1095,13 +1097,13 @@ ipmi_recvcmd(struct ipmi_softc *sc, int
/* Need three extra bytes: netfn/cmd/ccode + data */
buf = ipmi_buf_acquire(sc, maxlen + 3);
if (buf == NULL) {
- printf("ipmi: ipmi_recvcmd: malloc fails\n");
- return (-1);
+ aprint_error_dev(sc->sc_dev, "%s: malloc fails\n", __func__);
+ return -1;
}
/* Receive message from interface, copy out result data */
if (sc->sc_if->recvmsg(sc, maxlen + 3, &rawlen, buf)) {
ipmi_buf_release(sc, buf);
- return (-1);
+ return -1;
}
*rxlen = rawlen - IPMI_MSG_DATARCV;
@@ -1109,17 +1111,17 @@ ipmi_recvcmd(struct ipmi_softc *sc, int
memcpy(data, buf + IPMI_MSG_DATARCV, *rxlen);
if ((rc = buf[IPMI_MSG_CCODE]) != 0)
- dbg_printf(1, "ipmi_recvmsg: nfln=%.2x cmd=%.2x err=%.2x\n",
+ dbg_printf(1, "%s: nfln=%#.2x cmd=%#.2x err=%#.2x\n", __func__,
buf[IPMI_MSG_NFLN], buf[IPMI_MSG_CMD], buf[IPMI_MSG_CCODE]);
- dbg_printf(50, "ipmi_recvcmd: nfln=%.2x cmd=%.2x err=%.2x len=%.2x\n",
- buf[IPMI_MSG_NFLN], buf[IPMI_MSG_CMD], buf[IPMI_MSG_CCODE],
- *rxlen);
- dbg_dump(10, " recv", *rxlen, data);
+ dbg_printf(50, "%s: nfln=%#.2x cmd=%#.2x err=%#.2x len=%#.2x\n",
+ __func__, buf[IPMI_MSG_NFLN], buf[IPMI_MSG_CMD],
+ buf[IPMI_MSG_CCODE], *rxlen);
+ dbg_dump(10, __func__, *rxlen, data);
ipmi_buf_release(sc, buf);
- return (rc);
+ return rc;
}
/*
@@ -1128,13 +1130,13 @@ ipmi_recvcmd(struct ipmi_softc *sc, int
void
ipmi_delay(struct ipmi_softc *sc, int ms)
{
- if (cold)
+ if (cold) {
delay(ms * 1000);
- else {
- mutex_enter(&sc->sc_sleep_mtx);
- cv_timedwait(&sc->sc_cmd_sleep, &sc->sc_sleep_mtx, mstohz(ms));
- mutex_exit(&sc->sc_sleep_mtx);
+ return;
}
+ mutex_enter(&sc->sc_sleep_mtx);
+ cv_timedwait(&sc->sc_cmd_sleep, &sc->sc_sleep_mtx, mstohz(ms));
+ mutex_exit(&sc->sc_sleep_mtx);
}
/* Read a partial SDR entry */
@@ -1153,20 +1155,20 @@ get_sdr_partial(struct ipmi_softc *sc, u
if (ipmi_sendcmd(sc, BMC_SA, 0, STORAGE_NETFN, STORAGE_GET_SDR, 6,
cmd)) {
mutex_exit(&sc->sc_cmd_mtx);
- printf("ipmi: sendcmd fails\n");
- return (-1);
+ aprint_error_dev(sc->sc_dev, "%s: sendcmd fails\n", __func__);
+ return -1;
}
if (ipmi_recvcmd(sc, 8 + length, &len, cmd)) {
mutex_exit(&sc->sc_cmd_mtx);
- printf("ipmi: getSdrPartial: recvcmd fails\n");
- return (-1);
+ aprint_error_dev(sc->sc_dev, "%s: recvcmd fails\n", __func__);
+ return -1;
}
mutex_exit(&sc->sc_cmd_mtx);
if (nxtRecordId)
*nxtRecordId = *(uint16_t *) cmd;
memcpy(buffer, cmd + 2, len - 2);
- return (0);
+ return 0;
}
int maxsdrlen = 0x10;
@@ -1185,19 +1187,19 @@ get_sdr(struct ipmi_softc *sc, uint16_t
if (ipmi_sendcmd(sc, BMC_SA, 0, STORAGE_NETFN, STORAGE_RESERVE_SDR,
0, NULL)) {
mutex_exit(&sc->sc_cmd_mtx);
- printf("ipmi: reserve send fails\n");
- return (-1);
+ aprint_error_dev(sc->sc_dev, "reserve send fails\n");
+ return -1;
}
if (ipmi_recvcmd(sc, sizeof(resid), &len, &resid)) {
mutex_exit(&sc->sc_cmd_mtx);
- printf("ipmi: reserve recv fails\n");
- return (-1);
+ aprint_error_dev(sc->sc_dev, "reserve recv fails\n");
+ return -1;
}
mutex_exit(&sc->sc_cmd_mtx);
/* Get SDR Header */
if (get_sdr_partial(sc, recid, resid, 0, sizeof shdr, &shdr, nxtrec)) {
- printf("ipmi: get header fails\n");
- return (-1);
+ aprint_error_dev(sc->sc_dev, "get header fails\n");
+ return -1;
}
/* Allocate space for entire SDR Length of SDR in header does not
* include header length */
@@ -1216,10 +1218,10 @@ get_sdr(struct ipmi_softc *sc, uint16_t
if (get_sdr_partial(sc, recid, resid, offset, len,
psdr + offset, NULL)) {
- printf("ipmi: get chunk : %d,%d fails\n",
- offset, len);
+ aprint_error_dev(sc->sc_dev,
+ "get chunk : %d,%d fails\n", offset, len);
free(psdr, M_DEVBUF);
- return (-1);
+ return -1;
}
}
@@ -1227,7 +1229,7 @@ get_sdr(struct ipmi_softc *sc, uint16_t
if (add_sdr_sensor(sc, psdr) == 0)
free(psdr, M_DEVBUF);
- return (0);
+ return 0;
}
int
@@ -1245,7 +1247,7 @@ getbits(uint8_t *bytes, int bitpos, int
bitpos--;
}
- return (v);
+ return v;
}
/* Decode IPMI sensor name */
@@ -1298,7 +1300,7 @@ signextend(unsigned long val, int bits)
{
long msk = (1L << (bits-1))-1;
- return (-(val & ~msk) | val);
+ return -(val & ~msk) | val;
}
@@ -1591,8 +1593,9 @@ ipmi_get_sensor_limits(struct ipmi_softc
if (failure)
return;
- dbg_printf(25, "recvdata: %.2x %.2x %.2x %.2x %.2x %.2x %.2x\n",
- data[0], data[1], data[2], data[3], data[4], data[5], data[6]);
+ dbg_printf(25, "%s: %#.2x %#.2x %#.2x %#.2x %#.2x %#.2x %#.2x\n",
+ __func__, data[0], data[1], data[2], data[3], data[4], data[5],
+ data[6]);
switch (s1->linear & 0x7f) {
case 7: /* 1/x sensor, exchange upper and lower limits */
@@ -1724,9 +1727,10 @@ read_sensor(struct ipmi_softc *sc, struc
goto err;
mutex_exit(&sc->sc_cmd_mtx);
- dbg_printf(10, "m=%u, m_tolerance=%u, b=%u, b_accuracy=%u, rbexp=%u, linear=%d\n",
- s1->m, s1->m_tolerance, s1->b, s1->b_accuracy, s1->rbexp, s1->linear);
- dbg_printf(10, "values=%.2x %.2x %.2x %.2x %s\n",
+ dbg_printf(10, "m=%u, m_tolerance=%u, b=%u, b_accuracy=%u, "
+ "rbexp=%u, linear=%d\n", s1->m, s1->m_tolerance, s1->b,
+ s1->b_accuracy, s1->rbexp, s1->linear);
+ dbg_printf(10, "values=%#.2x %#.2x %#.2x %#.2x %s\n",
data[0],data[1],data[2],data[3], edata->desc);
if (IPMI_INVALID_SENSOR_P(data[1])) {
/* Check if sensor is valid */
@@ -1745,24 +1749,24 @@ ipmi_sensor_type(int type, int ext_type,
{
switch (ext_type << 8L | type) {
case IPMI_SENSOR_TYPE_TEMP:
- return (ENVSYS_STEMP);
+ return ENVSYS_STEMP;
case IPMI_SENSOR_TYPE_VOLT:
- return (ENVSYS_SVOLTS_DC);
+ return ENVSYS_SVOLTS_DC;
case IPMI_SENSOR_TYPE_FAN:
- return (ENVSYS_SFANRPM);
+ return ENVSYS_SFANRPM;
case IPMI_SENSOR_TYPE_PWRSUPPLY:
if (entity == IPMI_ENTITY_PWRSUPPLY)
- return (ENVSYS_INDICATOR);
+ return ENVSYS_INDICATOR;
break;
case IPMI_SENSOR_TYPE_INTRUSION:
- return (ENVSYS_INDICATOR);
+ return ENVSYS_INDICATOR;
}
- return (-1);
+ return -1;
}
/* Add Sensor to BSD Sysctl interface */
@@ -1789,7 +1793,7 @@ add_sdr_sensor(struct ipmi_softc *sc, ui
break;
default:
- return (0);
+ return 0;
}
return rc;
@@ -1820,7 +1824,7 @@ add_child_sensors(struct ipmi_softc *sc,
typ = ipmi_sensor_type(sensor_type, ext_type, entity);
if (typ == -1) {
- dbg_printf(5, "Unknown sensor type:%.2x et:%.2x sn:%.2x "
+ dbg_printf(5, "Unknown sensor type:%#.2x et:%#.2x sn:%#.2x "
"name:%s\n", sensor_type, ext_type, sensor_num, name);
return 0;
}
@@ -1874,14 +1878,15 @@ add_child_sensors(struct ipmi_softc *sc,
ipmi_is_dupname(psensor->i_envdesc));
}
- dbg_printf(5, "add sensor:%.4x %.2x:%d ent:%.2x:%.2x %s\n",
+ dbg_printf(5, "%s: %#.4x %#.2x:%d ent:%#.2x:%#.2x %s\n",
+ __func__,
s1->sdrhdr.record_id, s1->sensor_type,
typ, s1->entity_id, s1->entity_instance,
psensor->i_envdesc);
SLIST_INSERT_HEAD(&ipmi_sensor_list, psensor, i_list);
}
- return (1);
+ return 1;
}
/* Interrupt handler */
@@ -1895,7 +1900,7 @@ ipmi_intr(void *arg)
if (v & KCS_OBF)
++ipmi_nintr;
- return (0);
+ return 0;
}
/* Handle IPMI Timer - reread sensor values */
@@ -1911,7 +1916,7 @@ ipmi_refresh_sensors(struct ipmi_softc *
sc->current_sensor = SLIST_FIRST(&ipmi_sensor_list);
if (read_sensor(sc, sc->current_sensor)) {
- dbg_printf(1, "ipmi: error reading\n");
+ dbg_printf(1, "%s: error reading\n", __func__);
}
}
@@ -1920,7 +1925,7 @@ ipmi_map_regs(struct ipmi_softc *sc, str
{
sc->sc_if = ipmi_get_if(ia->iaa_if_type);
if (sc->sc_if == NULL)
- return (-1);
+ return -1;
if (ia->iaa_if_iotype == 'i')
sc->sc_iot = ia->iaa_iot;
@@ -1932,10 +1937,11 @@ ipmi_map_regs(struct ipmi_softc *sc, str
if (bus_space_map(sc->sc_iot, ia->iaa_if_iobase,
sc->sc_if->nregs * sc->sc_if_iospacing,
0, &sc->sc_ioh)) {
- printf("ipmi: bus_space_map(..., %x, %x, 0, %p) failed\n",
- ia->iaa_if_iobase,
+ aprint_error_dev(sc->sc_dev,
+ "%s: bus_space_map(..., %x, %x, 0, %p) failed\n",
+ __func__, ia->iaa_if_iobase,
sc->sc_if->nregs * sc->sc_if_iospacing, &sc->sc_ioh);
- return (-1);
+ return -1;
}
#if 0
if (iaa->if_if_irq != -1)
@@ -1943,7 +1949,7 @@ ipmi_map_regs(struct ipmi_softc *sc, str
iaa->if_irqlvl, IPL_BIO, ipmi_intr, sc,
device_xname(sc->sc_dev);
#endif
- return (0);
+ return 0;
}
void
@@ -1964,12 +1970,11 @@ ipmi_probe(struct ipmi_attach_args *ia)
if (smbios_find_table(SMBIOS_TYPE_IPMIDEV, &tbl))
ipmi_smbios_probe(tbl.tblhdr, ia);
else {
- pipmi = (struct dmd_ipmi *)scan_sig(0xC0000L, 0xFFFFFL, 16, 4,
- "IPMI");
+ pipmi = scan_sig(0xC0000L, 0xFFFFFL, 16, 4, "IPMI");
/* XXX hack to find Dell PowerEdge 8450 */
if (pipmi == NULL) {
/* no IPMI found */
- return (0);
+ return 0;
}
/* we have an IPMI signature, fill in attach arg structure */
@@ -1977,7 +1982,7 @@ ipmi_probe(struct ipmi_attach_args *ia)
ia->iaa_if_rev = pipmi->dmd_if_rev;
}
- return (1);
+ return 1;
}
int
@@ -2015,7 +2020,7 @@ ipmi_match(device_t parent, cfdata_t cf,
}
mutex_exit(&sc.sc_cmd_mtx);
- dbg_dump(1, "bmc data", len, cmd);
+ dbg_dump(1, __func__, len, cmd);
rv = 1; /* GETID worked, we got IPMI */
unmap:
cv_destroy(&sc.sc_cmd_sleep);
@@ -2053,7 +2058,7 @@ ipmi_thread(void *cookie)
malloc(sizeof(envsys_data_t) * sc->sc_nsensors,
M_DEVBUF, M_WAITOK | M_ZERO);
if (sc->sc_sensor == NULL) {
- aprint_error("ipmi: can't allocate envsys_data_t\n");
+ aprint_error_dev(self, "can't allocate envsys_data_t\n");
kthread_exit(0);
}
@@ -2097,7 +2102,7 @@ ipmi_thread(void *cookie)
sc->sc_envsys->sme_flags = SME_DISABLE_REFRESH;
if (sysmon_envsys_register(sc->sc_envsys)) {
- aprint_error("ipmi: unable to register with sysmon\n");
+ aprint_error_dev(self, "unable to register with sysmon\n");
sysmon_envsys_destroy(sc->sc_envsys);
}
@@ -2106,7 +2111,7 @@ ipmi_thread(void *cookie)
sc->current_sensor = SLIST_FIRST(&ipmi_sensor_list);
aprint_verbose_dev(self, "version %d.%d interface %s %sbase "
- "0x%x/%x spacing %d\n",
+ "%#x/%#x spacing %d\n",
ia->iaa_if_rev >> 4, ia->iaa_if_rev & 0xF, sc->sc_if->name,
ia->iaa_if_iotype == 'i' ? "io" : "mem", ia->iaa_if_iobase,
ia->iaa_if_iospacing * sc->sc_if->nregs, ia->iaa_if_iospacing);
@@ -2160,8 +2165,8 @@ ipmi_attach(device_t parent, device_t se
cv_init(&sc->sc_poll_cv, "ipmipoll");
if (kthread_create(PRI_NONE, 0, NULL, ipmi_thread, self,
- &sc->sc_kthread, "ipmi") != 0) {
- aprint_error("ipmi: unable to create thread, disabled\n");
+ &sc->sc_kthread, device_xname(self)) != 0) {
+ aprint_error_dev(self, "unable to create thread, disabled\n");
}
}
@@ -2242,7 +2247,8 @@ ipmi_watchdog_setmode(struct sysmon_wdog
rc = ipmi_recvcmd(sc, sizeof(gwdog), &len, &gwdog);
mutex_exit(&sc->sc_cmd_mtx);
if (rc) {
- printf("ipmi: APP_GET_WATCHDOG_TIMER returned 0x%x\n", rc);
+ aprint_error_dev(sc->sc_dev,
+ "APP_GET_WATCHDOG_TIMER returned %#x\n", rc);
return EIO;
}
@@ -2261,11 +2267,12 @@ ipmi_watchdog_setmode(struct sysmon_wdog
rc = ipmi_recvcmd(sc, 0, &len, NULL);
mutex_exit(&sc->sc_cmd_mtx);
if (rc) {
- printf("ipmi: APP_SET_WATCHDOG_TIMER returned 0x%x\n", rc);
+ aprint_error_dev(sc->sc_dev,
+ "APP_SET_WATCHDOG_TIMER returned %#x\n", rc);
return EIO;
}
- return (0);
+ return 0;
}
int
@@ -2292,8 +2299,8 @@ ipmi_dotickle(struct ipmi_softc *sc)
rc = ipmi_recvcmd(sc, 0, &len, NULL);
mutex_exit(&sc->sc_cmd_mtx);
if (rc != 0) {
- printf("%s: watchdog tickle returned 0x%x\n",
- device_xname(sc->sc_dev), rc);
+ aprint_error_dev(sc->sc_dev, "watchdog tickle returned %#x\n",
+ rc);
}
}