mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-07-05 13:25:20 +02:00
hwmon: (amc6821) Use multi-byte regmap operations
Use multi-byte regmap operations where possible to reduce code size. No functional changes. Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
21a93a9e31
commit
c37d0f08f8
|
@ -136,29 +136,25 @@ struct amc6821_data {
|
||||||
*/
|
*/
|
||||||
static int amc6821_get_auto_point_temps(struct regmap *regmap, int channel, u8 *temps)
|
static int amc6821_get_auto_point_temps(struct regmap *regmap, int channel, u8 *temps)
|
||||||
{
|
{
|
||||||
u32 pwm, regval;
|
u32 regs[] = {
|
||||||
|
AMC6821_REG_DCY_LOW_TEMP,
|
||||||
|
AMC6821_REG_PSV_TEMP,
|
||||||
|
channel ? AMC6821_REG_RTEMP_FAN_CTRL : AMC6821_REG_LTEMP_FAN_CTRL
|
||||||
|
};
|
||||||
|
u8 regvals[3];
|
||||||
|
int slope;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
err = regmap_read(regmap, AMC6821_REG_DCY_LOW_TEMP, &pwm);
|
err = regmap_multi_reg_read(regmap, regs, regvals, 3);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
|
temps[0] = regvals[1];
|
||||||
err = regmap_read(regmap, AMC6821_REG_PSV_TEMP, ®val);
|
temps[1] = FIELD_GET(AMC6821_TEMP_LIMIT_MASK, regvals[2]) * 4;
|
||||||
if (err)
|
|
||||||
return err;
|
|
||||||
temps[0] = regval;
|
|
||||||
|
|
||||||
err = regmap_read(regmap,
|
|
||||||
channel ? AMC6821_REG_RTEMP_FAN_CTRL : AMC6821_REG_LTEMP_FAN_CTRL,
|
|
||||||
®val);
|
|
||||||
if (err)
|
|
||||||
return err;
|
|
||||||
temps[1] = FIELD_GET(AMC6821_TEMP_LIMIT_MASK, regval) * 4;
|
|
||||||
|
|
||||||
/* slope is 32 >> <slope bits> in °C */
|
/* slope is 32 >> <slope bits> in °C */
|
||||||
regval = 32 >> FIELD_GET(AMC6821_TEMP_SLOPE_MASK, regval);
|
slope = 32 >> FIELD_GET(AMC6821_TEMP_SLOPE_MASK, regvals[2]);
|
||||||
if (regval)
|
if (slope)
|
||||||
temps[2] = temps[1] + DIV_ROUND_CLOSEST(255 - pwm, regval);
|
temps[2] = temps[1] + DIV_ROUND_CLOSEST(255 - regvals[0], slope);
|
||||||
else
|
else
|
||||||
temps[2] = 255;
|
temps[2] = 255;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user