diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c
index 9703d60e9bbf..1fe8fa12cc60 100644
--- a/drivers/hwmon/hwmon.c
+++ b/drivers/hwmon/hwmon.c
@@ -790,7 +790,7 @@ static int hwmon_num_channel_attrs(const struct hwmon_channel_info *info)
 	int i, n;
 
 	for (i = n = 0; info->config[i]; i++)
-		n += hweight32(info->config[i]);
+		n += hweight64(info->config[i]);
 
 	return n;
 }
@@ -811,7 +811,7 @@ static int hwmon_genattrs(const void *drvdata,
 	template_size = __templates_size[info->type];
 
 	for (i = 0; info->config[i]; i++) {
-		u32 attr_mask = info->config[i];
+		u64 attr_mask = info->config[i];
 		u32 attr;
 
 		while (attr_mask) {
diff --git a/include/linux/hwmon.h b/include/linux/hwmon.h
index 3a63dff62d03..544266a58d07 100644
--- a/include/linux/hwmon.h
+++ b/include/linux/hwmon.h
@@ -48,20 +48,20 @@ enum hwmon_chip_attributes {
 	hwmon_chip_pec,
 };
 
-#define HWMON_C_TEMP_RESET_HISTORY	BIT(hwmon_chip_temp_reset_history)
-#define HWMON_C_IN_RESET_HISTORY	BIT(hwmon_chip_in_reset_history)
-#define HWMON_C_CURR_RESET_HISTORY	BIT(hwmon_chip_curr_reset_history)
-#define HWMON_C_POWER_RESET_HISTORY	BIT(hwmon_chip_power_reset_history)
-#define HWMON_C_REGISTER_TZ		BIT(hwmon_chip_register_tz)
-#define HWMON_C_UPDATE_INTERVAL		BIT(hwmon_chip_update_interval)
-#define HWMON_C_ALARMS			BIT(hwmon_chip_alarms)
-#define HWMON_C_SAMPLES			BIT(hwmon_chip_samples)
-#define HWMON_C_CURR_SAMPLES		BIT(hwmon_chip_curr_samples)
-#define HWMON_C_IN_SAMPLES		BIT(hwmon_chip_in_samples)
-#define HWMON_C_POWER_SAMPLES		BIT(hwmon_chip_power_samples)
-#define HWMON_C_TEMP_SAMPLES		BIT(hwmon_chip_temp_samples)
-#define HWMON_C_BEEP_ENABLE		BIT(hwmon_chip_beep_enable)
-#define HWMON_C_PEC			BIT(hwmon_chip_pec)
+#define HWMON_C_TEMP_RESET_HISTORY	BIT_ULL(hwmon_chip_temp_reset_history)
+#define HWMON_C_IN_RESET_HISTORY	BIT_ULL(hwmon_chip_in_reset_history)
+#define HWMON_C_CURR_RESET_HISTORY	BIT_ULL(hwmon_chip_curr_reset_history)
+#define HWMON_C_POWER_RESET_HISTORY	BIT_ULL(hwmon_chip_power_reset_history)
+#define HWMON_C_REGISTER_TZ		BIT_ULL(hwmon_chip_register_tz)
+#define HWMON_C_UPDATE_INTERVAL		BIT_ULL(hwmon_chip_update_interval)
+#define HWMON_C_ALARMS			BIT_ULL(hwmon_chip_alarms)
+#define HWMON_C_SAMPLES			BIT_ULL(hwmon_chip_samples)
+#define HWMON_C_CURR_SAMPLES		BIT_ULL(hwmon_chip_curr_samples)
+#define HWMON_C_IN_SAMPLES		BIT_ULL(hwmon_chip_in_samples)
+#define HWMON_C_POWER_SAMPLES		BIT_ULL(hwmon_chip_power_samples)
+#define HWMON_C_TEMP_SAMPLES		BIT_ULL(hwmon_chip_temp_samples)
+#define HWMON_C_BEEP_ENABLE		BIT_ULL(hwmon_chip_beep_enable)
+#define HWMON_C_PEC			BIT_ULL(hwmon_chip_pec)
 
 enum hwmon_temp_attributes {
 	hwmon_temp_enable,
@@ -94,34 +94,34 @@ enum hwmon_temp_attributes {
 	hwmon_temp_beep,
 };
 
-#define HWMON_T_ENABLE		BIT(hwmon_temp_enable)
-#define HWMON_T_INPUT		BIT(hwmon_temp_input)
-#define HWMON_T_TYPE		BIT(hwmon_temp_type)
-#define HWMON_T_LCRIT		BIT(hwmon_temp_lcrit)
-#define HWMON_T_LCRIT_HYST	BIT(hwmon_temp_lcrit_hyst)
-#define HWMON_T_MIN		BIT(hwmon_temp_min)
-#define HWMON_T_MIN_HYST	BIT(hwmon_temp_min_hyst)
-#define HWMON_T_MAX		BIT(hwmon_temp_max)
-#define HWMON_T_MAX_HYST	BIT(hwmon_temp_max_hyst)
-#define HWMON_T_CRIT		BIT(hwmon_temp_crit)
-#define HWMON_T_CRIT_HYST	BIT(hwmon_temp_crit_hyst)
-#define HWMON_T_EMERGENCY	BIT(hwmon_temp_emergency)
-#define HWMON_T_EMERGENCY_HYST	BIT(hwmon_temp_emergency_hyst)
-#define HWMON_T_ALARM		BIT(hwmon_temp_alarm)
-#define HWMON_T_MIN_ALARM	BIT(hwmon_temp_min_alarm)
-#define HWMON_T_MAX_ALARM	BIT(hwmon_temp_max_alarm)
-#define HWMON_T_CRIT_ALARM	BIT(hwmon_temp_crit_alarm)
-#define HWMON_T_LCRIT_ALARM	BIT(hwmon_temp_lcrit_alarm)
-#define HWMON_T_EMERGENCY_ALARM	BIT(hwmon_temp_emergency_alarm)
-#define HWMON_T_FAULT		BIT(hwmon_temp_fault)
-#define HWMON_T_OFFSET		BIT(hwmon_temp_offset)
-#define HWMON_T_LABEL		BIT(hwmon_temp_label)
-#define HWMON_T_LOWEST		BIT(hwmon_temp_lowest)
-#define HWMON_T_HIGHEST		BIT(hwmon_temp_highest)
-#define HWMON_T_RESET_HISTORY	BIT(hwmon_temp_reset_history)
-#define HWMON_T_RATED_MIN	BIT(hwmon_temp_rated_min)
-#define HWMON_T_RATED_MAX	BIT(hwmon_temp_rated_max)
-#define HWMON_T_BEEP		BIT(hwmon_temp_beep)
+#define HWMON_T_ENABLE		BIT_ULL(hwmon_temp_enable)
+#define HWMON_T_INPUT		BIT_ULL(hwmon_temp_input)
+#define HWMON_T_TYPE		BIT_ULL(hwmon_temp_type)
+#define HWMON_T_LCRIT		BIT_ULL(hwmon_temp_lcrit)
+#define HWMON_T_LCRIT_HYST	BIT_ULL(hwmon_temp_lcrit_hyst)
+#define HWMON_T_MIN		BIT_ULL(hwmon_temp_min)
+#define HWMON_T_MIN_HYST	BIT_ULL(hwmon_temp_min_hyst)
+#define HWMON_T_MAX		BIT_ULL(hwmon_temp_max)
+#define HWMON_T_MAX_HYST	BIT_ULL(hwmon_temp_max_hyst)
+#define HWMON_T_CRIT		BIT_ULL(hwmon_temp_crit)
+#define HWMON_T_CRIT_HYST	BIT_ULL(hwmon_temp_crit_hyst)
+#define HWMON_T_EMERGENCY	BIT_ULL(hwmon_temp_emergency)
+#define HWMON_T_EMERGENCY_HYST	BIT_ULL(hwmon_temp_emergency_hyst)
+#define HWMON_T_ALARM		BIT_ULL(hwmon_temp_alarm)
+#define HWMON_T_MIN_ALARM	BIT_ULL(hwmon_temp_min_alarm)
+#define HWMON_T_MAX_ALARM	BIT_ULL(hwmon_temp_max_alarm)
+#define HWMON_T_CRIT_ALARM	BIT_ULL(hwmon_temp_crit_alarm)
+#define HWMON_T_LCRIT_ALARM	BIT_ULL(hwmon_temp_lcrit_alarm)
+#define HWMON_T_EMERGENCY_ALARM	BIT_ULL(hwmon_temp_emergency_alarm)
+#define HWMON_T_FAULT		BIT_ULL(hwmon_temp_fault)
+#define HWMON_T_OFFSET		BIT_ULL(hwmon_temp_offset)
+#define HWMON_T_LABEL		BIT_ULL(hwmon_temp_label)
+#define HWMON_T_LOWEST		BIT_ULL(hwmon_temp_lowest)
+#define HWMON_T_HIGHEST		BIT_ULL(hwmon_temp_highest)
+#define HWMON_T_RESET_HISTORY	BIT_ULL(hwmon_temp_reset_history)
+#define HWMON_T_RATED_MIN	BIT_ULL(hwmon_temp_rated_min)
+#define HWMON_T_RATED_MAX	BIT_ULL(hwmon_temp_rated_max)
+#define HWMON_T_BEEP		BIT_ULL(hwmon_temp_beep)
 
 enum hwmon_in_attributes {
 	hwmon_in_enable,
@@ -146,26 +146,26 @@ enum hwmon_in_attributes {
 	hwmon_in_fault,
 };
 
-#define HWMON_I_ENABLE		BIT(hwmon_in_enable)
-#define HWMON_I_INPUT		BIT(hwmon_in_input)
-#define HWMON_I_MIN		BIT(hwmon_in_min)
-#define HWMON_I_MAX		BIT(hwmon_in_max)
-#define HWMON_I_LCRIT		BIT(hwmon_in_lcrit)
-#define HWMON_I_CRIT		BIT(hwmon_in_crit)
-#define HWMON_I_AVERAGE		BIT(hwmon_in_average)
-#define HWMON_I_LOWEST		BIT(hwmon_in_lowest)
-#define HWMON_I_HIGHEST		BIT(hwmon_in_highest)
-#define HWMON_I_RESET_HISTORY	BIT(hwmon_in_reset_history)
-#define HWMON_I_LABEL		BIT(hwmon_in_label)
-#define HWMON_I_ALARM		BIT(hwmon_in_alarm)
-#define HWMON_I_MIN_ALARM	BIT(hwmon_in_min_alarm)
-#define HWMON_I_MAX_ALARM	BIT(hwmon_in_max_alarm)
-#define HWMON_I_LCRIT_ALARM	BIT(hwmon_in_lcrit_alarm)
-#define HWMON_I_CRIT_ALARM	BIT(hwmon_in_crit_alarm)
-#define HWMON_I_RATED_MIN	BIT(hwmon_in_rated_min)
-#define HWMON_I_RATED_MAX	BIT(hwmon_in_rated_max)
-#define HWMON_I_BEEP		BIT(hwmon_in_beep)
-#define HWMON_I_FAULT		BIT(hwmon_in_fault)
+#define HWMON_I_ENABLE		BIT_ULL(hwmon_in_enable)
+#define HWMON_I_INPUT		BIT_ULL(hwmon_in_input)
+#define HWMON_I_MIN		BIT_ULL(hwmon_in_min)
+#define HWMON_I_MAX		BIT_ULL(hwmon_in_max)
+#define HWMON_I_LCRIT		BIT_ULL(hwmon_in_lcrit)
+#define HWMON_I_CRIT		BIT_ULL(hwmon_in_crit)
+#define HWMON_I_AVERAGE		BIT_ULL(hwmon_in_average)
+#define HWMON_I_LOWEST		BIT_ULL(hwmon_in_lowest)
+#define HWMON_I_HIGHEST		BIT_ULL(hwmon_in_highest)
+#define HWMON_I_RESET_HISTORY	BIT_ULL(hwmon_in_reset_history)
+#define HWMON_I_LABEL		BIT_ULL(hwmon_in_label)
+#define HWMON_I_ALARM		BIT_ULL(hwmon_in_alarm)
+#define HWMON_I_MIN_ALARM	BIT_ULL(hwmon_in_min_alarm)
+#define HWMON_I_MAX_ALARM	BIT_ULL(hwmon_in_max_alarm)
+#define HWMON_I_LCRIT_ALARM	BIT_ULL(hwmon_in_lcrit_alarm)
+#define HWMON_I_CRIT_ALARM	BIT_ULL(hwmon_in_crit_alarm)
+#define HWMON_I_RATED_MIN	BIT_ULL(hwmon_in_rated_min)
+#define HWMON_I_RATED_MAX	BIT_ULL(hwmon_in_rated_max)
+#define HWMON_I_BEEP		BIT_ULL(hwmon_in_beep)
+#define HWMON_I_FAULT		BIT_ULL(hwmon_in_fault)
 
 enum hwmon_curr_attributes {
 	hwmon_curr_enable,
@@ -189,25 +189,25 @@ enum hwmon_curr_attributes {
 	hwmon_curr_beep,
 };
 
-#define HWMON_C_ENABLE		BIT(hwmon_curr_enable)
-#define HWMON_C_INPUT		BIT(hwmon_curr_input)
-#define HWMON_C_MIN		BIT(hwmon_curr_min)
-#define HWMON_C_MAX		BIT(hwmon_curr_max)
-#define HWMON_C_LCRIT		BIT(hwmon_curr_lcrit)
-#define HWMON_C_CRIT		BIT(hwmon_curr_crit)
-#define HWMON_C_AVERAGE		BIT(hwmon_curr_average)
-#define HWMON_C_LOWEST		BIT(hwmon_curr_lowest)
-#define HWMON_C_HIGHEST		BIT(hwmon_curr_highest)
-#define HWMON_C_RESET_HISTORY	BIT(hwmon_curr_reset_history)
-#define HWMON_C_LABEL		BIT(hwmon_curr_label)
-#define HWMON_C_ALARM		BIT(hwmon_curr_alarm)
-#define HWMON_C_MIN_ALARM	BIT(hwmon_curr_min_alarm)
-#define HWMON_C_MAX_ALARM	BIT(hwmon_curr_max_alarm)
-#define HWMON_C_LCRIT_ALARM	BIT(hwmon_curr_lcrit_alarm)
-#define HWMON_C_CRIT_ALARM	BIT(hwmon_curr_crit_alarm)
-#define HWMON_C_RATED_MIN	BIT(hwmon_curr_rated_min)
-#define HWMON_C_RATED_MAX	BIT(hwmon_curr_rated_max)
-#define HWMON_C_BEEP		BIT(hwmon_curr_beep)
+#define HWMON_C_ENABLE		BIT_ULL(hwmon_curr_enable)
+#define HWMON_C_INPUT		BIT_ULL(hwmon_curr_input)
+#define HWMON_C_MIN		BIT_ULL(hwmon_curr_min)
+#define HWMON_C_MAX		BIT_ULL(hwmon_curr_max)
+#define HWMON_C_LCRIT		BIT_ULL(hwmon_curr_lcrit)
+#define HWMON_C_CRIT		BIT_ULL(hwmon_curr_crit)
+#define HWMON_C_AVERAGE		BIT_ULL(hwmon_curr_average)
+#define HWMON_C_LOWEST		BIT_ULL(hwmon_curr_lowest)
+#define HWMON_C_HIGHEST		BIT_ULL(hwmon_curr_highest)
+#define HWMON_C_RESET_HISTORY	BIT_ULL(hwmon_curr_reset_history)
+#define HWMON_C_LABEL		BIT_ULL(hwmon_curr_label)
+#define HWMON_C_ALARM		BIT_ULL(hwmon_curr_alarm)
+#define HWMON_C_MIN_ALARM	BIT_ULL(hwmon_curr_min_alarm)
+#define HWMON_C_MAX_ALARM	BIT_ULL(hwmon_curr_max_alarm)
+#define HWMON_C_LCRIT_ALARM	BIT_ULL(hwmon_curr_lcrit_alarm)
+#define HWMON_C_CRIT_ALARM	BIT_ULL(hwmon_curr_crit_alarm)
+#define HWMON_C_RATED_MIN	BIT_ULL(hwmon_curr_rated_min)
+#define HWMON_C_RATED_MAX	BIT_ULL(hwmon_curr_rated_max)
+#define HWMON_C_BEEP		BIT_ULL(hwmon_curr_beep)
 
 enum hwmon_power_attributes {
 	hwmon_power_enable,
@@ -243,37 +243,37 @@ enum hwmon_power_attributes {
 	hwmon_power_rated_max,
 };
 
-#define HWMON_P_ENABLE			BIT(hwmon_power_enable)
-#define HWMON_P_AVERAGE			BIT(hwmon_power_average)
-#define HWMON_P_AVERAGE_INTERVAL	BIT(hwmon_power_average_interval)
-#define HWMON_P_AVERAGE_INTERVAL_MAX	BIT(hwmon_power_average_interval_max)
-#define HWMON_P_AVERAGE_INTERVAL_MIN	BIT(hwmon_power_average_interval_min)
-#define HWMON_P_AVERAGE_HIGHEST		BIT(hwmon_power_average_highest)
-#define HWMON_P_AVERAGE_LOWEST		BIT(hwmon_power_average_lowest)
-#define HWMON_P_AVERAGE_MAX		BIT(hwmon_power_average_max)
-#define HWMON_P_AVERAGE_MIN		BIT(hwmon_power_average_min)
-#define HWMON_P_INPUT			BIT(hwmon_power_input)
-#define HWMON_P_INPUT_HIGHEST		BIT(hwmon_power_input_highest)
-#define HWMON_P_INPUT_LOWEST		BIT(hwmon_power_input_lowest)
-#define HWMON_P_RESET_HISTORY		BIT(hwmon_power_reset_history)
-#define HWMON_P_ACCURACY		BIT(hwmon_power_accuracy)
-#define HWMON_P_CAP			BIT(hwmon_power_cap)
-#define HWMON_P_CAP_HYST		BIT(hwmon_power_cap_hyst)
-#define HWMON_P_CAP_MAX			BIT(hwmon_power_cap_max)
-#define HWMON_P_CAP_MIN			BIT(hwmon_power_cap_min)
-#define HWMON_P_MIN			BIT(hwmon_power_min)
-#define HWMON_P_MAX			BIT(hwmon_power_max)
-#define HWMON_P_LCRIT			BIT(hwmon_power_lcrit)
-#define HWMON_P_CRIT			BIT(hwmon_power_crit)
-#define HWMON_P_LABEL			BIT(hwmon_power_label)
-#define HWMON_P_ALARM			BIT(hwmon_power_alarm)
-#define HWMON_P_CAP_ALARM		BIT(hwmon_power_cap_alarm)
-#define HWMON_P_MIN_ALARM		BIT(hwmon_power_min_alarm)
-#define HWMON_P_MAX_ALARM		BIT(hwmon_power_max_alarm)
-#define HWMON_P_LCRIT_ALARM		BIT(hwmon_power_lcrit_alarm)
-#define HWMON_P_CRIT_ALARM		BIT(hwmon_power_crit_alarm)
-#define HWMON_P_RATED_MIN		BIT(hwmon_power_rated_min)
-#define HWMON_P_RATED_MAX		BIT(hwmon_power_rated_max)
+#define HWMON_P_ENABLE			BIT_ULL(hwmon_power_enable)
+#define HWMON_P_AVERAGE			BIT_ULL(hwmon_power_average)
+#define HWMON_P_AVERAGE_INTERVAL	BIT_ULL(hwmon_power_average_interval)
+#define HWMON_P_AVERAGE_INTERVAL_MAX	BIT_ULL(hwmon_power_average_interval_max)
+#define HWMON_P_AVERAGE_INTERVAL_MIN	BIT_ULL(hwmon_power_average_interval_min)
+#define HWMON_P_AVERAGE_HIGHEST		BIT_ULL(hwmon_power_average_highest)
+#define HWMON_P_AVERAGE_LOWEST		BIT_ULL(hwmon_power_average_lowest)
+#define HWMON_P_AVERAGE_MAX		BIT_ULL(hwmon_power_average_max)
+#define HWMON_P_AVERAGE_MIN		BIT_ULL(hwmon_power_average_min)
+#define HWMON_P_INPUT			BIT_ULL(hwmon_power_input)
+#define HWMON_P_INPUT_HIGHEST		BIT_ULL(hwmon_power_input_highest)
+#define HWMON_P_INPUT_LOWEST		BIT_ULL(hwmon_power_input_lowest)
+#define HWMON_P_RESET_HISTORY		BIT_ULL(hwmon_power_reset_history)
+#define HWMON_P_ACCURACY		BIT_ULL(hwmon_power_accuracy)
+#define HWMON_P_CAP			BIT_ULL(hwmon_power_cap)
+#define HWMON_P_CAP_HYST		BIT_ULL(hwmon_power_cap_hyst)
+#define HWMON_P_CAP_MAX			BIT_ULL(hwmon_power_cap_max)
+#define HWMON_P_CAP_MIN			BIT_ULL(hwmon_power_cap_min)
+#define HWMON_P_MIN			BIT_ULL(hwmon_power_min)
+#define HWMON_P_MAX			BIT_ULL(hwmon_power_max)
+#define HWMON_P_LCRIT			BIT_ULL(hwmon_power_lcrit)
+#define HWMON_P_CRIT			BIT_ULL(hwmon_power_crit)
+#define HWMON_P_LABEL			BIT_ULL(hwmon_power_label)
+#define HWMON_P_ALARM			BIT_ULL(hwmon_power_alarm)
+#define HWMON_P_CAP_ALARM		BIT_ULL(hwmon_power_cap_alarm)
+#define HWMON_P_MIN_ALARM		BIT_ULL(hwmon_power_min_alarm)
+#define HWMON_P_MAX_ALARM		BIT_ULL(hwmon_power_max_alarm)
+#define HWMON_P_LCRIT_ALARM		BIT_ULL(hwmon_power_lcrit_alarm)
+#define HWMON_P_CRIT_ALARM		BIT_ULL(hwmon_power_crit_alarm)
+#define HWMON_P_RATED_MIN		BIT_ULL(hwmon_power_rated_min)
+#define HWMON_P_RATED_MAX		BIT_ULL(hwmon_power_rated_max)
 
 enum hwmon_energy_attributes {
 	hwmon_energy_enable,
@@ -281,9 +281,9 @@ enum hwmon_energy_attributes {
 	hwmon_energy_label,
 };
 
-#define HWMON_E_ENABLE			BIT(hwmon_energy_enable)
-#define HWMON_E_INPUT			BIT(hwmon_energy_input)
-#define HWMON_E_LABEL			BIT(hwmon_energy_label)
+#define HWMON_E_ENABLE			BIT_ULL(hwmon_energy_enable)
+#define HWMON_E_INPUT			BIT_ULL(hwmon_energy_input)
+#define HWMON_E_LABEL			BIT_ULL(hwmon_energy_label)
 
 enum hwmon_humidity_attributes {
 	hwmon_humidity_enable,
@@ -301,19 +301,19 @@ enum hwmon_humidity_attributes {
 	hwmon_humidity_max_alarm,
 };
 
-#define HWMON_H_ENABLE			BIT(hwmon_humidity_enable)
-#define HWMON_H_INPUT			BIT(hwmon_humidity_input)
-#define HWMON_H_LABEL			BIT(hwmon_humidity_label)
-#define HWMON_H_MIN			BIT(hwmon_humidity_min)
-#define HWMON_H_MIN_HYST		BIT(hwmon_humidity_min_hyst)
-#define HWMON_H_MAX			BIT(hwmon_humidity_max)
-#define HWMON_H_MAX_HYST		BIT(hwmon_humidity_max_hyst)
-#define HWMON_H_ALARM			BIT(hwmon_humidity_alarm)
-#define HWMON_H_FAULT			BIT(hwmon_humidity_fault)
-#define HWMON_H_RATED_MIN		BIT(hwmon_humidity_rated_min)
-#define HWMON_H_RATED_MAX		BIT(hwmon_humidity_rated_max)
-#define HWMON_H_MIN_ALARM		BIT(hwmon_humidity_min_alarm)
-#define HWMON_H_MAX_ALARM		BIT(hwmon_humidity_max_alarm)
+#define HWMON_H_ENABLE			BIT_ULL(hwmon_humidity_enable)
+#define HWMON_H_INPUT			BIT_ULL(hwmon_humidity_input)
+#define HWMON_H_LABEL			BIT_ULL(hwmon_humidity_label)
+#define HWMON_H_MIN			BIT_ULL(hwmon_humidity_min)
+#define HWMON_H_MIN_HYST		BIT_ULL(hwmon_humidity_min_hyst)
+#define HWMON_H_MAX			BIT_ULL(hwmon_humidity_max)
+#define HWMON_H_MAX_HYST		BIT_ULL(hwmon_humidity_max_hyst)
+#define HWMON_H_ALARM			BIT_ULL(hwmon_humidity_alarm)
+#define HWMON_H_FAULT			BIT_ULL(hwmon_humidity_fault)
+#define HWMON_H_RATED_MIN		BIT_ULL(hwmon_humidity_rated_min)
+#define HWMON_H_RATED_MAX		BIT_ULL(hwmon_humidity_rated_max)
+#define HWMON_H_MIN_ALARM		BIT_ULL(hwmon_humidity_min_alarm)
+#define HWMON_H_MAX_ALARM		BIT_ULL(hwmon_humidity_max_alarm)
 
 enum hwmon_fan_attributes {
 	hwmon_fan_enable,
@@ -331,19 +331,19 @@ enum hwmon_fan_attributes {
 	hwmon_fan_beep,
 };
 
-#define HWMON_F_ENABLE			BIT(hwmon_fan_enable)
-#define HWMON_F_INPUT			BIT(hwmon_fan_input)
-#define HWMON_F_LABEL			BIT(hwmon_fan_label)
-#define HWMON_F_MIN			BIT(hwmon_fan_min)
-#define HWMON_F_MAX			BIT(hwmon_fan_max)
-#define HWMON_F_DIV			BIT(hwmon_fan_div)
-#define HWMON_F_PULSES			BIT(hwmon_fan_pulses)
-#define HWMON_F_TARGET			BIT(hwmon_fan_target)
-#define HWMON_F_ALARM			BIT(hwmon_fan_alarm)
-#define HWMON_F_MIN_ALARM		BIT(hwmon_fan_min_alarm)
-#define HWMON_F_MAX_ALARM		BIT(hwmon_fan_max_alarm)
-#define HWMON_F_FAULT			BIT(hwmon_fan_fault)
-#define HWMON_F_BEEP			BIT(hwmon_fan_beep)
+#define HWMON_F_ENABLE			BIT_ULL(hwmon_fan_enable)
+#define HWMON_F_INPUT			BIT_ULL(hwmon_fan_input)
+#define HWMON_F_LABEL			BIT_ULL(hwmon_fan_label)
+#define HWMON_F_MIN			BIT_ULL(hwmon_fan_min)
+#define HWMON_F_MAX			BIT_ULL(hwmon_fan_max)
+#define HWMON_F_DIV			BIT_ULL(hwmon_fan_div)
+#define HWMON_F_PULSES			BIT_ULL(hwmon_fan_pulses)
+#define HWMON_F_TARGET			BIT_ULL(hwmon_fan_target)
+#define HWMON_F_ALARM			BIT_ULL(hwmon_fan_alarm)
+#define HWMON_F_MIN_ALARM		BIT_ULL(hwmon_fan_min_alarm)
+#define HWMON_F_MAX_ALARM		BIT_ULL(hwmon_fan_max_alarm)
+#define HWMON_F_FAULT			BIT_ULL(hwmon_fan_fault)
+#define HWMON_F_BEEP			BIT_ULL(hwmon_fan_beep)
 
 enum hwmon_pwm_attributes {
 	hwmon_pwm_input,
@@ -353,18 +353,18 @@ enum hwmon_pwm_attributes {
 	hwmon_pwm_auto_channels_temp,
 };
 
-#define HWMON_PWM_INPUT			BIT(hwmon_pwm_input)
-#define HWMON_PWM_ENABLE		BIT(hwmon_pwm_enable)
-#define HWMON_PWM_MODE			BIT(hwmon_pwm_mode)
-#define HWMON_PWM_FREQ			BIT(hwmon_pwm_freq)
-#define HWMON_PWM_AUTO_CHANNELS_TEMP	BIT(hwmon_pwm_auto_channels_temp)
+#define HWMON_PWM_INPUT			BIT_ULL(hwmon_pwm_input)
+#define HWMON_PWM_ENABLE		BIT_ULL(hwmon_pwm_enable)
+#define HWMON_PWM_MODE			BIT_ULL(hwmon_pwm_mode)
+#define HWMON_PWM_FREQ			BIT_ULL(hwmon_pwm_freq)
+#define HWMON_PWM_AUTO_CHANNELS_TEMP	BIT_ULL(hwmon_pwm_auto_channels_temp)
 
 enum hwmon_intrusion_attributes {
 	hwmon_intrusion_alarm,
 	hwmon_intrusion_beep,
 };
-#define HWMON_INTRUSION_ALARM		BIT(hwmon_intrusion_alarm)
-#define HWMON_INTRUSION_BEEP		BIT(hwmon_intrusion_beep)
+#define HWMON_INTRUSION_ALARM		BIT_ULL(hwmon_intrusion_alarm)
+#define HWMON_INTRUSION_BEEP		BIT_ULL(hwmon_intrusion_beep)
 
 /**
  * struct hwmon_ops - hwmon device operations
@@ -433,13 +433,13 @@ struct hwmon_ops {
  */
 struct hwmon_channel_info {
 	enum hwmon_sensor_types type;
-	const u32 *config;
+	const u64 *config;
 };
 
 #define HWMON_CHANNEL_INFO(stype, ...)		\
 	(&(const struct hwmon_channel_info) {	\
 		.type = hwmon_##stype,		\
-		.config = (const u32 []) {	\
+		.config = (const u64 []) {	\
 			__VA_ARGS__, 0		\
 		}				\
 	})
