hwmon: (sch5627) Use bit macros when accessing the control register
Use bit macros then accessing SCH5627_REG_CTRL, so that people do not need to look at the datasheet to find out what each bit does. Tested on a Fujitsu Esprimo P720. Signed-off-by: Armin Wolf <W_Armin@gmx.de> Link: https://lore.kernel.org/r/20230907052639.16491-2-W_Armin@gmx.de Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
27887b0659
commit
7f0b28e065
@ -6,6 +6,7 @@
|
||||
|
||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||
|
||||
#include <linux/bits.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/mod_devicetable.h>
|
||||
#include <linux/init.h>
|
||||
@ -32,6 +33,9 @@
|
||||
#define SCH5627_REG_PRIMARY_ID 0x3f
|
||||
#define SCH5627_REG_CTRL 0x40
|
||||
|
||||
#define SCH5627_CTRL_START BIT(0)
|
||||
#define SCH5627_CTRL_VBAT BIT(4)
|
||||
|
||||
#define SCH5627_NO_TEMPS 8
|
||||
#define SCH5627_NO_FANS 4
|
||||
#define SCH5627_NO_IN 5
|
||||
@ -147,7 +151,8 @@ static int sch5627_update_in(struct sch5627_data *data)
|
||||
|
||||
/* Trigger a Vbat voltage measurement every 5 minutes */
|
||||
if (time_after(jiffies, data->last_battery + 300 * HZ)) {
|
||||
sch56xx_write_virtual_reg(data->addr, SCH5627_REG_CTRL, data->control | 0x10);
|
||||
sch56xx_write_virtual_reg(data->addr, SCH5627_REG_CTRL,
|
||||
data->control | SCH5627_CTRL_VBAT);
|
||||
data->last_battery = jiffies;
|
||||
}
|
||||
|
||||
@ -483,14 +488,13 @@ static int sch5627_probe(struct platform_device *pdev)
|
||||
return val;
|
||||
|
||||
data->control = val;
|
||||
if (!(data->control & 0x01)) {
|
||||
if (!(data->control & SCH5627_CTRL_START)) {
|
||||
pr_err("hardware monitoring not enabled\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
/* Trigger a Vbat voltage measurement, so that we get a valid reading
|
||||
the first time we read Vbat */
|
||||
sch56xx_write_virtual_reg(data->addr, SCH5627_REG_CTRL,
|
||||
data->control | 0x10);
|
||||
sch56xx_write_virtual_reg(data->addr, SCH5627_REG_CTRL, data->control | SCH5627_CTRL_VBAT);
|
||||
data->last_battery = jiffies;
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user