diff options
author | Armin Wolf <W_Armin@gmx.de> | 2023-09-07 08:26:38 +0300 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2023-10-27 17:27:24 +0300 |
commit | 10655bb6df25514e0ae8406637c3b4acbc812fe5 (patch) | |
tree | 2118a9d4f105587300f747d731ee7999da7681b1 /drivers/hwmon/sch56xx-common.h | |
parent | a54fe61639d9f3b6765fee32edda7cfceb6d705a (diff) | |
download | linux-10655bb6df25514e0ae8406637c3b4acbc812fe5.tar.xz |
hwmon: (sch5627) Add support for writing limit registers
After some testing on a Fujitsu Esprimo P720, it turned out that
the limit registers are indeed writable and affect the fan control
algorithm. This is supported by the datasheet, which says that the
fan control functions are based on the limit and parameter registers.
Since accessing those registers is very inefficient, the existing
regmap cache is used to cache those registers values.
Tested on a Fujitsu Esprimo P720.
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://lore.kernel.org/r/20230907052639.16491-5-W_Armin@gmx.de
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon/sch56xx-common.h')
-rw-r--r-- | drivers/hwmon/sch56xx-common.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/hwmon/sch56xx-common.h b/drivers/hwmon/sch56xx-common.h index 3fb1cddbf977..7479a549a026 100644 --- a/drivers/hwmon/sch56xx-common.h +++ b/drivers/hwmon/sch56xx-common.h @@ -11,6 +11,9 @@ struct sch56xx_watchdog_data; struct regmap *devm_regmap_init_sch56xx(struct device *dev, struct mutex *lock, u16 addr, const struct regmap_config *config); +int sch56xx_regmap_read16(struct regmap *map, unsigned int reg, unsigned int *val); +int sch56xx_regmap_write16(struct regmap *map, unsigned int reg, unsigned int val); + int sch56xx_read_virtual_reg(u16 addr, u16 reg); int sch56xx_write_virtual_reg(u16 addr, u16 reg, u8 val); int sch56xx_read_virtual_reg16(u16 addr, u16 reg); |