@@ -8,6 +8,7 @@
* Copyright (C) 2007 Hans J. Koch <hjk@hansjkoch.de>
*/
+#include <linux/bits.h>
#include <linux/err.h>
#include <linux/hwmon.h>
#include <linux/hwmon-sysfs.h>
@@ -68,46 +69,46 @@ enum chips { amc6821 };
#define AMC6821_REG_TACH_SETTINGL 0x1e
#define AMC6821_REG_TACH_SETTINGH 0x1f
-#define AMC6821_CONF1_START 0x01
-#define AMC6821_CONF1_FAN_INT_EN 0x02
-#define AMC6821_CONF1_FANIE 0x04
-#define AMC6821_CONF1_PWMINV 0x08
-#define AMC6821_CONF1_FAN_FAULT_EN 0x10
-#define AMC6821_CONF1_FDRC0 0x20
-#define AMC6821_CONF1_FDRC1 0x40
-#define AMC6821_CONF1_THERMOVIE 0x80
+#define AMC6821_CONF1_START BIT(0)
+#define AMC6821_CONF1_FAN_INT_EN BIT(1)
+#define AMC6821_CONF1_FANIE BIT(2)
+#define AMC6821_CONF1_PWMINV BIT(3)
+#define AMC6821_CONF1_FAN_FAULT_EN BIT(4)
+#define AMC6821_CONF1_FDRC0 BIT(5)
+#define AMC6821_CONF1_FDRC1 BIT(6)
+#define AMC6821_CONF1_THERMOVIE BIT(7)
-#define AMC6821_CONF2_PWM_EN 0x01
-#define AMC6821_CONF2_TACH_MODE 0x02
-#define AMC6821_CONF2_TACH_EN 0x04
-#define AMC6821_CONF2_RTFIE 0x08
-#define AMC6821_CONF2_LTOIE 0x10
-#define AMC6821_CONF2_RTOIE 0x20
-#define AMC6821_CONF2_PSVIE 0x40
-#define AMC6821_CONF2_RST 0x80
+#define AMC6821_CONF2_PWM_EN BIT(0)
+#define AMC6821_CONF2_TACH_MODE BIT(1)
+#define AMC6821_CONF2_TACH_EN BIT(2)
+#define AMC6821_CONF2_RTFIE BIT(3)
+#define AMC6821_CONF2_LTOIE BIT(4)
+#define AMC6821_CONF2_RTOIE BIT(5)
+#define AMC6821_CONF2_PSVIE BIT(6)
+#define AMC6821_CONF2_RST BIT(7)
-#define AMC6821_CONF3_THERM_FAN_EN 0x80
-#define AMC6821_CONF3_REV_MASK 0x0F
+#define AMC6821_CONF3_THERM_FAN_EN BIT(7)
+#define AMC6821_CONF3_REV_MASK GENMASK(3, 0)
-#define AMC6821_CONF4_OVREN 0x10
-#define AMC6821_CONF4_TACH_FAST 0x20
-#define AMC6821_CONF4_PSPR 0x40
-#define AMC6821_CONF4_MODE 0x80
+#define AMC6821_CONF4_OVREN BIT(4)
+#define AMC6821_CONF4_TACH_FAST BIT(5)
+#define AMC6821_CONF4_PSPR BIT(6)
+#define AMC6821_CONF4_MODE BIT(7)
-#define AMC6821_STAT1_RPM_ALARM 0x01
-#define AMC6821_STAT1_FANS 0x02
-#define AMC6821_STAT1_RTH 0x04
-#define AMC6821_STAT1_RTL 0x08
-#define AMC6821_STAT1_R_THERM 0x10
-#define AMC6821_STAT1_RTF 0x20
-#define AMC6821_STAT1_LTH 0x40
-#define AMC6821_STAT1_LTL 0x80
+#define AMC6821_STAT1_RPM_ALARM BIT(0)
+#define AMC6821_STAT1_FANS BIT(1)
+#define AMC6821_STAT1_RTH BIT(2)
+#define AMC6821_STAT1_RTL BIT(3)
+#define AMC6821_STAT1_R_THERM BIT(4)
+#define AMC6821_STAT1_RTF BIT(5)
+#define AMC6821_STAT1_LTH BIT(6)
+#define AMC6821_STAT1_LTL BIT(7)
-#define AMC6821_STAT2_RTC 0x08
-#define AMC6821_STAT2_LTC 0x10
-#define AMC6821_STAT2_LPSV 0x20
-#define AMC6821_STAT2_L_THERM 0x40
-#define AMC6821_STAT2_THERM_IN 0x80
+#define AMC6821_STAT2_RTC BIT(3)
+#define AMC6821_STAT2_LTC BIT(4)
+#define AMC6821_STAT2_LPSV BIT(5)
+#define AMC6821_STAT2_L_THERM BIT(6)
+#define AMC6821_STAT2_THERM_IN BIT(7)
enum {IDX_TEMP1_INPUT = 0, IDX_TEMP1_MIN, IDX_TEMP1_MAX,
IDX_TEMP1_CRIT, IDX_TEMP2_INPUT, IDX_TEMP2_MIN,