Conflict resolution.
This commit is contained in:
@@ -124,7 +124,7 @@ static const ics9xxx_model_t ics9xxx_models[] = {
|
||||
.hw_select = {0, 3},
|
||||
.frequencies_ref = ICS9250_08
|
||||
ICS9xxx_MODEL_END()
|
||||
#if 0
|
||||
#ifdef ENABLE_ICS9xxx_DETECT
|
||||
ICS9xxx_MODEL(ICS9248_81)
|
||||
.max_reg = 5,
|
||||
.regs = {0x82, 0xfe, 0x7f, 0xff, 0xff, 0xb7},
|
||||
@@ -522,7 +522,7 @@ static const ics9xxx_model_t ics9xxx_models[] = {
|
||||
ICS9xxx_MODEL(ICS9250_08)
|
||||
.max_reg = 5,
|
||||
.regs = {0x00, 0xff, 0xff, 0xff, 0x6d, 0xbf},
|
||||
.fs_regs = {{0, 4, 4, 7}, {0, 5, 4, 4}, {0, 6, 5, 6}, {0, 7, 4, 1}, {-1, -1, -1, -1}},
|
||||
.fs_regs = {{0, 4, 4, 7}, {0, 5, 4, 4}, {0, 6, 5, 6}, {0, 2, 4, 1}, {-1, -1, -1, -1}},
|
||||
.hw_select = {0, 3},
|
||||
.frequencies = (const ics9xxx_frequency_t[]) {
|
||||
{.bus = 12400, .pci_div = 3},
|
||||
@@ -544,7 +544,7 @@ static const ics9xxx_model_t ics9xxx_models[] = {
|
||||
{0}
|
||||
}
|
||||
ICS9xxx_MODEL_END()
|
||||
#if 0
|
||||
#ifdef ENABLE_ICS9xxx_DETECT
|
||||
ICS9xxx_MODEL(ICS9250_10)
|
||||
.max_reg = 5,
|
||||
.regs = {0x1f, 0xff, 0xfe, 0x00, 0x00, 0x06},
|
||||
@@ -703,7 +703,7 @@ static const ics9xxx_model_t ics9xxx_models[] = {
|
||||
{0}
|
||||
}
|
||||
ICS9xxx_MODEL_END()
|
||||
#if 0
|
||||
#ifdef ENABLE_ICS9xxx_DETECT
|
||||
ICS9xxx_MODEL(ICS9250_19)
|
||||
.max_reg = 5,
|
||||
.regs = {0x02, 0xff, 0xff, 0xff, 0x6d, 0xbf},
|
||||
@@ -1199,7 +1199,7 @@ ics9xxx_init(const device_t *info)
|
||||
|
||||
uint8_t i;
|
||||
#ifdef ENABLE_ICS9xxx_DETECT
|
||||
for (i = 0; i < ICS9xxx_MAX; i++) {
|
||||
for (i = ICS9xxx_xx + 1; i < ICS9xxx_MAX; i++) {
|
||||
if (ics9xxx_models[i].frequencies_ref || !ics9xxx_models[i].name)
|
||||
continue;
|
||||
for (uint8_t j = 0; j < i; j++) {
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
#define LM78_AS99127F_REV2 0x080000
|
||||
#define LM78_W83782D 0x100000
|
||||
#define LM78_P5A 0x200000
|
||||
#define LM78_AS99127F (LM78_AS99127F_REV1 | LM78_AS99127F_REV2) /* special mask covering both _REV1 and _REV2 */
|
||||
#define LM78_WINBOND (LM78_W83781D | LM78_AS99127F | LM78_W83782D) /* special mask covering all Winbond variants */
|
||||
#define LM78_AS99127F (LM78_AS99127F_REV1 | LM78_AS99127F_REV2) /* mask covering both _REV1 and _REV2 */
|
||||
#define LM78_WINBOND (LM78_W83781D | LM78_AS99127F | LM78_W83782D) /* mask covering all Winbond variants */
|
||||
#define LM78_WINBOND_VENDOR_ID ((dev->local & LM78_AS99127F_REV1) ? 0x12c3 : 0x5ca3)
|
||||
#define LM78_WINBOND_BANK (dev->regs[0x4e] & 0x07)
|
||||
|
||||
@@ -369,9 +369,12 @@ lm78_read(lm78_t *dev, uint8_t reg, uint8_t bank)
|
||||
ret = LM78_VOLTAGE_TO_REG(dev->values->voltages[7 + masked_reg]);
|
||||
else if (masked_reg == 0x27) /* temperature */
|
||||
ret = dev->values->temperatures[0];
|
||||
else if ((masked_reg >= 0x28) && (masked_reg <= 0x2a)) /* fan speeds */
|
||||
ret = LM78_RPM_TO_REG(dev->values->fans[reg & 3], 1 << ((dev->regs[((reg & 3) == 2) ? 0x4b : 0x47] >> ((reg & 3) ? 6 : 4)) & 0x3));
|
||||
else if ((reg == 0x4f) && (dev->local & LM78_WINBOND)) /* two-byte vendor ID register */
|
||||
else if ((masked_reg >= 0x28) && (masked_reg <= 0x2a)) { /* fan speeds */
|
||||
ret = (dev->regs[((reg & 3) == 2) ? 0x4b : 0x47] >> ((reg & 3) ? 6 : 4)) & 0x03; /* bits [1:0] */
|
||||
if (dev->local & LM78_W83782D)
|
||||
ret |= (dev->regs[0x5d] >> (3 + (reg & 3))) & 0x04; /* bit 2 */
|
||||
ret = LM78_RPM_TO_REG(dev->values->fans[reg & 3], 1 << ret);
|
||||
} else if ((reg == 0x4f) && (dev->local & LM78_WINBOND)) /* two-byte vendor ID register */
|
||||
ret = (dev->regs[0x4e] & 0x80) ? (uint8_t) (LM78_WINBOND_VENDOR_ID >> 8) : (uint8_t) LM78_WINBOND_VENDOR_ID;
|
||||
else
|
||||
ret = dev->regs[masked_reg];
|
||||
|
||||
Reference in New Issue
Block a user