drivers/i2c/nct7802y: Move the sensor initialization procedure

The current location for the sensor initialization procedure was chosen
by mistake. Move this into a separate function in nct7802y.c .

Change-Id: I093ae75db5f0051bff65375b0720c86642b9148a
Signed-off-by: Maxim Polyakov <max.senia.poliak@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/47861
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
This commit is contained in:
Maxim Polyakov 2020-11-23 15:47:51 +03:00 committed by Nico Huber
parent d17ce41e29
commit b7eca6f123
2 changed files with 15 additions and 7 deletions

View File

@ -2,10 +2,24 @@
#include <console/console.h>
#include <device/device.h>
#include <types.h>
#include "nct7802y.h"
#include "chip.h"
static void nct7802y_init_sensors(struct device *const dev)
{
const struct drivers_i2c_nct7802y_config *const config = dev->chip_info;
unsigned int i;
u8 value = 0;
for (i = 0; i < NCT7802Y_RTD_CNT; ++i)
value |= MODE_SELECTION_RTDx(i, config->sensors.rtd[i]);
if (config->sensors.local_enable)
value |= MODE_SELECTION_LTD_EN;
nct7802y_write(dev, MODE_SELECTION, value);
}
static void nct7802y_init(struct device *const dev)
{
if (!dev->chip_info) {
@ -15,6 +29,7 @@ static void nct7802y_init(struct device *const dev)
}
nct7802y_init_peci(dev);
nct7802y_init_sensors(dev);
nct7802y_init_fan(dev);
}

View File

@ -78,13 +78,6 @@ void nct7802y_init_fan(struct device *const dev)
init_fan(dev, &config->fan[i], i);
}
value = 0;
for (i = 0; i < NCT7802Y_RTD_CNT; ++i)
value |= MODE_SELECTION_RTDx(i, config->sensors.rtd[i]);
if (config->sensors.local_enable)
value |= MODE_SELECTION_LTD_EN;
nct7802y_write(dev, MODE_SELECTION, value);
switch (config->on_pecierror) {
case PECI_ERROR_KEEP:
value = CLOSE_LOOP_FAN_PECI_ERR_CURR;