Revert
This commit is contained in:
parent
7e0d320048
commit
11236821c6
@ -2,6 +2,7 @@
|
||||
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
|
||||
*
|
||||
* Copyright (c) 2010 Andreas Tobler
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -151,7 +152,7 @@ fcu_write(device_t dev, uint32_t addr, uint8_t reg, uint8_t *buff,
|
||||
|
||||
for (;;)
|
||||
{
|
||||
if (iicbus_transfer(dev, msg, nitems(msg)) == 0)
|
||||
if (iicbus_transfer(dev, msg, 1) == 0)
|
||||
return (0);
|
||||
|
||||
if (++try > 5) {
|
||||
@ -175,7 +176,7 @@ fcu_read_1(device_t dev, uint32_t addr, uint8_t reg, uint8_t *data)
|
||||
|
||||
for (;;)
|
||||
{
|
||||
err = iicbus_transfer(dev, msg, nitems(msg));
|
||||
err = iicbus_transfer(dev, msg, 2);
|
||||
if (err != 0)
|
||||
goto retry;
|
||||
|
||||
@ -249,8 +250,8 @@ fcu_start(void *xdev)
|
||||
sc = device_get_softc(dev);
|
||||
|
||||
/* Start the fcu device. */
|
||||
fcu_write(sc->sc_dev, sc->sc_addr, 0xe, buf, sizeof(buf));
|
||||
fcu_write(sc->sc_dev, sc->sc_addr, 0x2e, buf, sizeof(buf));
|
||||
fcu_write(sc->sc_dev, sc->sc_addr, 0xe, buf, 1);
|
||||
fcu_write(sc->sc_dev, sc->sc_addr, 0x2e, buf, 1);
|
||||
fcu_read_1(sc->sc_dev, sc->sc_addr, 0, buf);
|
||||
fcu_rpm_shift = (buf[0] == 1) ? 2 : 3;
|
||||
|
||||
@ -289,7 +290,7 @@ fcu_fan_set_rpm(struct fcu_fan *fan, int rpm)
|
||||
buf[0] = rpm >> (8 - fcu_rpm_shift);
|
||||
buf[1] = rpm << fcu_rpm_shift;
|
||||
|
||||
if (fcu_write(sc->sc_dev, sc->sc_addr, reg, buf, sizeof(buf)) < 0)
|
||||
if (fcu_write(sc->sc_dev, sc->sc_addr, reg, buf, 2) < 0)
|
||||
return (EIO);
|
||||
|
||||
return (0);
|
||||
@ -322,7 +323,7 @@ fcu_fan_get_rpm(struct fcu_fan *fan)
|
||||
return (-1);
|
||||
if ((fail & (1 << fan->id)) != 0) {
|
||||
device_printf(fan->dev,
|
||||
"RPM Fan failed ID: %d %#x\n", fan->id, fail);
|
||||
"RPM Fan failed ID: %d\n", fan->id);
|
||||
return (-1);
|
||||
}
|
||||
/* Check if fan is active. */
|
||||
@ -355,7 +356,7 @@ fcu_fan_set_pwm(struct fcu_fan *fan, int pwm)
|
||||
{
|
||||
uint8_t reg;
|
||||
struct fcu_softc *sc;
|
||||
uint8_t buf[1];
|
||||
uint8_t buf[2];
|
||||
|
||||
sc = device_get_softc(fan->dev);
|
||||
|
||||
@ -377,7 +378,7 @@ fcu_fan_set_pwm(struct fcu_fan *fan, int pwm)
|
||||
|
||||
buf[0] = (pwm * 2550) / 1000;
|
||||
|
||||
if (fcu_write(sc->sc_dev, sc->sc_addr, reg, buf, sizeof(buf)) < 0)
|
||||
if (fcu_write(sc->sc_dev, sc->sc_addr, reg, buf, 1) < 0)
|
||||
return (EIO);
|
||||
return (0);
|
||||
}
|
||||
@ -631,9 +632,8 @@ fcu_attach_fans(device_t dev)
|
||||
"Maximum allowed RPM");
|
||||
/* I use i to pass the fan id. */
|
||||
SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(oid), OID_AUTO,
|
||||
"rpm", CTLTYPE_INT | CTLFLAG_RW |
|
||||
CTLFLAG_MPSAFE, dev, i,
|
||||
fcu_fanrpm_sysctl, "I", "Fan RPM");
|
||||
"rpm", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
|
||||
dev, i, fcu_fanrpm_sysctl, "I", "Fan RPM");
|
||||
} else {
|
||||
fcu_fan_get_pwm(dev, &sc->sc_fans[i],
|
||||
&sc->sc_fans[i].setpoint,
|
||||
@ -654,14 +654,13 @@ fcu_attach_fans(device_t dev)
|
||||
* of info I want to display/modify.
|
||||
*/
|
||||
SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(oid), OID_AUTO,
|
||||
"pwm", CTLTYPE_INT | CTLFLAG_RW |
|
||||
CTLFLAG_MPSAFE, dev,
|
||||
FCU_PWM_SYSCTL_PWM | i,
|
||||
fcu_fanrpm_sysctl, "I", "Fan PWM in %");
|
||||
"rpm", CTLTYPE_INT | CTLFLAG_RD |
|
||||
CTLFLAG_MPSAFE, dev,
|
||||
FCU_PWM_SYSCTL_RPM | i,
|
||||
fcu_fanrpm_sysctl, "I", "Fan RPM");
|
||||
"pwm", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
|
||||
dev, FCU_PWM_SYSCTL_PWM | i, fcu_fanrpm_sysctl, "I",
|
||||
"Fan PWM in %");
|
||||
SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(oid), OID_AUTO,
|
||||
"rpm", CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT,
|
||||
dev, FCU_PWM_SYSCTL_RPM | i, fcu_fanrpm_sysctl, "I",
|
||||
"Fan RPM");
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user