hwmon: (it87) Use BIT macro

Using the BIT macro makes the code a little easier to read and has the
added benefit of making checkpatch happy.

Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
Guenter Roeck 2015-04-02 08:06:12 -07:00
parent f838aa2611
commit 48b2ae7fe9
1 changed files with 146 additions and 144 deletions

View File

@ -52,6 +52,7 @@
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
#include <linux/bitops.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/slab.h> #include <linux/slab.h>
@ -267,23 +268,23 @@ struct it87_devices {
u8 old_peci_mask; u8 old_peci_mask;
}; };
#define FEAT_12MV_ADC (1 << 0) #define FEAT_12MV_ADC BIT(0)
#define FEAT_NEWER_AUTOPWM (1 << 1) #define FEAT_NEWER_AUTOPWM BIT(1)
#define FEAT_OLD_AUTOPWM (1 << 2) #define FEAT_OLD_AUTOPWM BIT(2)
#define FEAT_16BIT_FANS (1 << 3) #define FEAT_16BIT_FANS BIT(3)
#define FEAT_TEMP_OFFSET (1 << 4) #define FEAT_TEMP_OFFSET BIT(4)
#define FEAT_TEMP_PECI (1 << 5) #define FEAT_TEMP_PECI BIT(5)
#define FEAT_TEMP_OLD_PECI (1 << 6) #define FEAT_TEMP_OLD_PECI BIT(6)
#define FEAT_FAN16_CONFIG (1 << 7) /* Need to enable 16-bit fans */ #define FEAT_FAN16_CONFIG BIT(7) /* Need to enable 16-bit fans */
#define FEAT_FIVE_FANS (1 << 8) /* Supports five fans */ #define FEAT_FIVE_FANS BIT(8) /* Supports five fans */
#define FEAT_VID (1 << 9) /* Set if chip supports VID */ #define FEAT_VID BIT(9) /* Set if chip supports VID */
#define FEAT_IN7_INTERNAL (1 << 10) /* Set if in7 is internal */ #define FEAT_IN7_INTERNAL BIT(10) /* Set if in7 is internal */
#define FEAT_SIX_FANS (1 << 11) /* Supports six fans */ #define FEAT_SIX_FANS BIT(11) /* Supports six fans */
#define FEAT_10_9MV_ADC (1 << 12) #define FEAT_10_9MV_ADC BIT(12)
#define FEAT_AVCC3 (1 << 13) /* Chip supports in9/AVCC3 */ #define FEAT_AVCC3 BIT(13) /* Chip supports in9/AVCC3 */
#define FEAT_SIX_PWM (1 << 14) /* Chip supports 6 pwm chn */ #define FEAT_SIX_PWM BIT(14) /* Chip supports 6 pwm chn */
#define FEAT_PWM_FREQ2 (1 << 15) /* Separate pwm freq 2 */ #define FEAT_PWM_FREQ2 BIT(15) /* Separate pwm freq 2 */
#define FEAT_SIX_TEMP (1 << 16) /* Up to 6 temp sensors */ #define FEAT_SIX_TEMP BIT(16) /* Up to 6 temp sensors */
static const struct it87_devices it87_devices[] = { static const struct it87_devices it87_devices[] = {
[it87] = { [it87] = {
@ -433,10 +434,10 @@ static const struct it87_devices it87_devices[] = {
#define has_old_autopwm(data) ((data)->features & FEAT_OLD_AUTOPWM) #define has_old_autopwm(data) ((data)->features & FEAT_OLD_AUTOPWM)
#define has_temp_offset(data) ((data)->features & FEAT_TEMP_OFFSET) #define has_temp_offset(data) ((data)->features & FEAT_TEMP_OFFSET)
#define has_temp_peci(data, nr) (((data)->features & FEAT_TEMP_PECI) && \ #define has_temp_peci(data, nr) (((data)->features & FEAT_TEMP_PECI) && \
((data)->peci_mask & (1 << nr))) ((data)->peci_mask & BIT(nr)))
#define has_temp_old_peci(data, nr) \ #define has_temp_old_peci(data, nr) \
(((data)->features & FEAT_TEMP_OLD_PECI) && \ (((data)->features & FEAT_TEMP_OLD_PECI) && \
((data)->old_peci_mask & (1 << nr))) ((data)->old_peci_mask & BIT(nr)))
#define has_fan16_config(data) ((data)->features & FEAT_FAN16_CONFIG) #define has_fan16_config(data) ((data)->features & FEAT_FAN16_CONFIG)
#define has_five_fans(data) ((data)->features & (FEAT_FIVE_FANS | \ #define has_five_fans(data) ((data)->features & (FEAT_FIVE_FANS | \
FEAT_SIX_FANS)) FEAT_SIX_FANS))
@ -530,7 +531,7 @@ static int adc_lsb(const struct it87_data *data, int nr)
lsb = 109; lsb = 109;
else else
lsb = 160; lsb = 160;
if (data->in_scaled & (1 << nr)) if (data->in_scaled & BIT(nr))
lsb <<= 1; lsb <<= 1;
return lsb; return lsb;
} }
@ -595,7 +596,8 @@ static int DIV_TO_REG(int val)
answer++; answer++;
return answer; return answer;
} }
#define DIV_FROM_REG(val) (1 << (val))
#define DIV_FROM_REG(val) BIT(val)
/* /*
* PWM base frequencies. The frequency has to be divided by either 128 or 256, * PWM base frequencies. The frequency has to be divided by either 128 or 256,
@ -685,7 +687,7 @@ static struct it87_data *it87_update_device(struct device *dev)
it87_read_value(data, IT87_REG_CONFIG) | 0x40); it87_read_value(data, IT87_REG_CONFIG) | 0x40);
} }
for (i = 0; i < ARRAY_SIZE(IT87_REG_VIN); i++) { for (i = 0; i < ARRAY_SIZE(IT87_REG_VIN); i++) {
if (!(data->has_in & (1 << i))) if (!(data->has_in & BIT(i)))
continue; continue;
data->in[i][0] = data->in[i][0] =
@ -703,7 +705,7 @@ static struct it87_data *it87_update_device(struct device *dev)
for (i = 0; i < 6; i++) { for (i = 0; i < 6; i++) {
/* Skip disabled fans */ /* Skip disabled fans */
if (!(data->has_fan & (1 << i))) if (!(data->has_fan & BIT(i)))
continue; continue;
data->fan[i][1] = data->fan[i][1] =
@ -719,7 +721,7 @@ static struct it87_data *it87_update_device(struct device *dev)
} }
} }
for (i = 0; i < 6; i++) { for (i = 0; i < 6; i++) {
if (!(data->has_temp & (1 << i))) if (!(data->has_temp & BIT(i)))
continue; continue;
data->temp[i][0] = data->temp[i][0] =
it87_read_value(data, IT87_REG_TEMP(i)); it87_read_value(data, IT87_REG_TEMP(i));
@ -1026,7 +1028,7 @@ static SENSOR_DEVICE_ATTR(temp3_type, S_IRUGO | S_IWUSR, show_temp_type,
static int pwm_mode(const struct it87_data *data, int nr) static int pwm_mode(const struct it87_data *data, int nr)
{ {
int ctrl = data->fan_main_ctrl & (1 << nr); int ctrl = data->fan_main_ctrl & BIT(nr);
if (ctrl == 0 && data->type != it8603) /* Full speed */ if (ctrl == 0 && data->type != it8603) /* Full speed */
return 0; return 0;
@ -1059,7 +1061,7 @@ static ssize_t show_fan_div(struct device *dev, struct device_attribute *attr,
int nr = sensor_attr->index; int nr = sensor_attr->index;
struct it87_data *data = it87_update_device(dev); struct it87_data *data = it87_update_device(dev);
return sprintf(buf, "%d\n", DIV_FROM_REG(data->fan_div[nr])); return sprintf(buf, "%lu\n", DIV_FROM_REG(data->fan_div[nr]));
} }
static ssize_t show_pwm_enable(struct device *dev, static ssize_t show_pwm_enable(struct device *dev,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
@ -1243,9 +1245,9 @@ static ssize_t set_pwm_enable(struct device *dev,
int tmp; int tmp;
/* make sure the fan is on when in on/off mode */ /* make sure the fan is on when in on/off mode */
tmp = it87_read_value(data, IT87_REG_FAN_CTL); tmp = it87_read_value(data, IT87_REG_FAN_CTL);
it87_write_value(data, IT87_REG_FAN_CTL, tmp | (1 << nr)); it87_write_value(data, IT87_REG_FAN_CTL, tmp | BIT(nr));
/* set on/off mode */ /* set on/off mode */
data->fan_main_ctrl &= ~(1 << nr); data->fan_main_ctrl &= ~BIT(nr);
it87_write_value(data, IT87_REG_FAN_MAIN_CTRL, it87_write_value(data, IT87_REG_FAN_MAIN_CTRL,
data->fan_main_ctrl); data->fan_main_ctrl);
} else { } else {
@ -1259,7 +1261,7 @@ static ssize_t set_pwm_enable(struct device *dev,
if (data->type != it8603) { if (data->type != it8603) {
/* set SmartGuardian mode */ /* set SmartGuardian mode */
data->fan_main_ctrl |= (1 << nr); data->fan_main_ctrl |= BIT(nr);
it87_write_value(data, IT87_REG_FAN_MAIN_CTRL, it87_write_value(data, IT87_REG_FAN_MAIN_CTRL,
data->fan_main_ctrl); data->fan_main_ctrl);
} }
@ -1353,7 +1355,7 @@ static ssize_t show_pwm_temp_map(struct device *dev,
int map; int map;
if (data->pwm_temp_map[nr] < 3) if (data->pwm_temp_map[nr] < 3)
map = 1 << data->pwm_temp_map[nr]; map = BIT(data->pwm_temp_map[nr]);
else else
map = 0; /* Should never happen */ map = 0; /* Should never happen */
return sprintf(buf, "%d\n", map); return sprintf(buf, "%d\n", map);
@ -1372,13 +1374,13 @@ static ssize_t set_pwm_temp_map(struct device *dev,
return -EINVAL; return -EINVAL;
switch (val) { switch (val) {
case (1 << 0): case BIT(0):
reg = 0x00; reg = 0x00;
break; break;
case (1 << 1): case BIT(1):
reg = 0x01; reg = 0x01;
break; break;
case (1 << 2): case BIT(2):
reg = 0x02; reg = 0x02;
break; break;
default: default:
@ -1625,7 +1627,7 @@ static ssize_t clear_intrusion(struct device *dev, struct device_attribute
if (config < 0) { if (config < 0) {
count = config; count = config;
} else { } else {
config |= 1 << 5; config |= BIT(5);
it87_write_value(data, IT87_REG_CONFIG, config); it87_write_value(data, IT87_REG_CONFIG, config);
/* Invalidate cache to force re-read */ /* Invalidate cache to force re-read */
data->valid = 0; data->valid = 0;
@ -1676,9 +1678,9 @@ static ssize_t set_beep(struct device *dev, struct device_attribute *attr,
mutex_lock(&data->update_lock); mutex_lock(&data->update_lock);
data->beeps = it87_read_value(data, IT87_REG_BEEP_ENABLE); data->beeps = it87_read_value(data, IT87_REG_BEEP_ENABLE);
if (val) if (val)
data->beeps |= (1 << bitnr); data->beeps |= BIT(bitnr);
else else
data->beeps &= ~(1 << bitnr); data->beeps &= ~BIT(bitnr);
it87_write_value(data, IT87_REG_BEEP_ENABLE, data->beeps); it87_write_value(data, IT87_REG_BEEP_ENABLE, data->beeps);
mutex_unlock(&data->update_lock); mutex_unlock(&data->update_lock);
return count; return count;
@ -1777,7 +1779,7 @@ static umode_t it87_in_is_visible(struct kobject *kobj,
a = 0; a = 0;
} }
if (!(data->has_in & (1 << i))) if (!(data->has_in & BIT(i)))
return 0; return 0;
if (a == 4 && !data->has_beep) if (a == 4 && !data->has_beep)
@ -1860,7 +1862,7 @@ static umode_t it87_temp_is_visible(struct kobject *kobj,
a = 0; a = 0;
} }
if (!(data->has_temp & (1 << i))) if (!(data->has_temp & BIT(i)))
return 0; return 0;
if (a == 5 && !has_temp_offset(data)) if (a == 5 && !has_temp_offset(data))
@ -1917,7 +1919,7 @@ static umode_t it87_is_visible(struct kobject *kobj,
if ((index == 2 || index == 3) && !data->has_vid) if ((index == 2 || index == 3) && !data->has_vid)
return 0; return 0;
if (index > 3 && !(data->in_internal & (1 << (index - 4)))) if (index > 3 && !(data->in_internal & BIT(index - 4)))
return 0; return 0;
return attr->mode; return attr->mode;
@ -1953,7 +1955,7 @@ static umode_t it87_fan_is_visible(struct kobject *kobj,
a = (index - 15) % 4; a = (index - 15) % 4;
} }
if (!(data->has_fan & (1 << i))) if (!(data->has_fan & BIT(i)))
return 0; return 0;
if (a == 3) { /* beep */ if (a == 3) { /* beep */
@ -2019,7 +2021,7 @@ static umode_t it87_pwm_is_visible(struct kobject *kobj,
int i = index / 4; /* pwm index */ int i = index / 4; /* pwm index */
int a = index % 4; /* attribute index */ int a = index % 4; /* attribute index */
if (!(data->has_pwm & (1 << i))) if (!(data->has_pwm & BIT(i)))
return 0; return 0;
/* pwmX_auto_channels_temp is only writable for old auto pwm */ /* pwmX_auto_channels_temp is only writable for old auto pwm */
@ -2079,7 +2081,7 @@ static umode_t it87_auto_pwm_is_visible(struct kobject *kobj,
struct it87_data *data = dev_get_drvdata(dev); struct it87_data *data = dev_get_drvdata(dev);
int i = index / 9; /* pwm index */ int i = index / 9; /* pwm index */
if (!(data->has_pwm & (1 << i))) if (!(data->has_pwm & BIT(i)))
return 0; return 0;
return attr->mode; return attr->mode;
@ -2223,19 +2225,19 @@ static int __init it87_find(int sioaddr, unsigned short *address,
/* in7 (VSB or VCCH5V) is always internal on some chips */ /* in7 (VSB or VCCH5V) is always internal on some chips */
if (has_in7_internal(config)) if (has_in7_internal(config))
sio_data->internal |= (1 << 1); sio_data->internal |= BIT(1);
/* in8 (Vbat) is always internal */ /* in8 (Vbat) is always internal */
sio_data->internal |= (1 << 2); sio_data->internal |= BIT(2);
/* in9 (AVCC3), always internal if supported */ /* in9 (AVCC3), always internal if supported */
if (has_avcc3(config)) if (has_avcc3(config))
sio_data->internal |= (1 << 3); /* in9 is AVCC */ sio_data->internal |= BIT(3); /* in9 is AVCC */
else else
sio_data->skip_in |= (1 << 9); sio_data->skip_in |= BIT(9);
if (!has_six_pwm(config)) if (!has_six_pwm(config))
sio_data->skip_pwm |= (1 << 3) | (1 << 4) | (1 << 5); sio_data->skip_pwm |= BIT(3) | BIT(4) | BIT(5);
if (!has_vid(config)) if (!has_vid(config))
sio_data->skip_vid = 1; sio_data->skip_vid = 1;
@ -2258,31 +2260,31 @@ static int __init it87_find(int sioaddr, unsigned short *address,
regef = superio_inb(sioaddr, IT87_SIO_SPI_REG); regef = superio_inb(sioaddr, IT87_SIO_SPI_REG);
/* Check if fan3 is there or not */ /* Check if fan3 is there or not */
if ((reg27 & (1 << 0)) || !(reg2c & (1 << 2))) if ((reg27 & BIT(0)) || !(reg2c & BIT(2)))
sio_data->skip_fan |= (1 << 2); sio_data->skip_fan |= BIT(2);
if ((reg25 & (1 << 4)) if ((reg25 & BIT(4))
|| (!(reg2a & (1 << 1)) && (regef & (1 << 0)))) || (!(reg2a & BIT(1)) && (regef & BIT(0))))
sio_data->skip_pwm |= (1 << 2); sio_data->skip_pwm |= BIT(2);
/* Check if fan2 is there or not */ /* Check if fan2 is there or not */
if (reg27 & (1 << 7)) if (reg27 & BIT(7))
sio_data->skip_fan |= (1 << 1); sio_data->skip_fan |= BIT(1);
if (reg27 & (1 << 3)) if (reg27 & BIT(3))
sio_data->skip_pwm |= (1 << 1); sio_data->skip_pwm |= BIT(1);
/* VIN5 */ /* VIN5 */
if ((reg27 & (1 << 0)) || (reg2c & (1 << 2))) if ((reg27 & BIT(0)) || (reg2c & BIT(2)))
sio_data->skip_in |= (1 << 5); /* No VIN5 */ sio_data->skip_in |= BIT(5); /* No VIN5 */
/* VIN6 */ /* VIN6 */
if (reg27 & (1 << 1)) if (reg27 & BIT(1))
sio_data->skip_in |= (1 << 6); /* No VIN6 */ sio_data->skip_in |= BIT(6); /* No VIN6 */
/* /*
* VIN7 * VIN7
* Does not depend on bit 2 of Reg2C, contrary to datasheet. * Does not depend on bit 2 of Reg2C, contrary to datasheet.
*/ */
if (reg27 & (1 << 2)) { if (reg27 & BIT(2)) {
/* /*
* The data sheet is a bit unclear regarding the * The data sheet is a bit unclear regarding the
* internal voltage divider for VCCH5V. It says * internal voltage divider for VCCH5V. It says
@ -2296,8 +2298,8 @@ static int __init it87_find(int sioaddr, unsigned short *address,
* not the case, and ask the user to report if the * not the case, and ask the user to report if the
* resulting voltage is sane. * resulting voltage is sane.
*/ */
if (!(reg2c & (1 << 1))) { if (!(reg2c & BIT(1))) {
reg2c |= (1 << 1); reg2c |= BIT(1);
superio_outb(sioaddr, IT87_SIO_PINX2_REG, superio_outb(sioaddr, IT87_SIO_PINX2_REG,
reg2c); reg2c);
pr_notice("Routing internal VCCH5V to in7.\n"); pr_notice("Routing internal VCCH5V to in7.\n");
@ -2306,10 +2308,10 @@ static int __init it87_find(int sioaddr, unsigned short *address,
pr_notice("Please report if it displays a reasonable voltage.\n"); pr_notice("Please report if it displays a reasonable voltage.\n");
} }
if (reg2c & (1 << 0)) if (reg2c & BIT(0))
sio_data->internal |= (1 << 0); sio_data->internal |= BIT(0);
if (reg2c & (1 << 1)) if (reg2c & BIT(1))
sio_data->internal |= (1 << 1); sio_data->internal |= BIT(1);
sio_data->beep_pin = superio_inb(sioaddr, sio_data->beep_pin = superio_inb(sioaddr,
IT87_SIO_BEEP_PIN_REG) & 0x3f; IT87_SIO_BEEP_PIN_REG) & 0x3f;
@ -2321,20 +2323,20 @@ static int __init it87_find(int sioaddr, unsigned short *address,
reg27 = superio_inb(sioaddr, IT87_SIO_GPIO3_REG); reg27 = superio_inb(sioaddr, IT87_SIO_GPIO3_REG);
/* Check if fan3 is there or not */ /* Check if fan3 is there or not */
if (reg27 & (1 << 6)) if (reg27 & BIT(6))
sio_data->skip_pwm |= (1 << 2); sio_data->skip_pwm |= BIT(2);
if (reg27 & (1 << 7)) if (reg27 & BIT(7))
sio_data->skip_fan |= (1 << 2); sio_data->skip_fan |= BIT(2);
/* Check if fan2 is there or not */ /* Check if fan2 is there or not */
reg29 = superio_inb(sioaddr, IT87_SIO_GPIO5_REG); reg29 = superio_inb(sioaddr, IT87_SIO_GPIO5_REG);
if (reg29 & (1 << 1)) if (reg29 & BIT(1))
sio_data->skip_pwm |= (1 << 1); sio_data->skip_pwm |= BIT(1);
if (reg29 & (1 << 2)) if (reg29 & BIT(2))
sio_data->skip_fan |= (1 << 1); sio_data->skip_fan |= BIT(1);
sio_data->skip_in |= (1 << 5); /* No VIN5 */ sio_data->skip_in |= BIT(5); /* No VIN5 */
sio_data->skip_in |= (1 << 6); /* No VIN6 */ sio_data->skip_in |= BIT(6); /* No VIN6 */
sio_data->beep_pin = superio_inb(sioaddr, sio_data->beep_pin = superio_inb(sioaddr,
IT87_SIO_BEEP_PIN_REG) & 0x3f; IT87_SIO_BEEP_PIN_REG) & 0x3f;
@ -2345,38 +2347,38 @@ static int __init it87_find(int sioaddr, unsigned short *address,
/* Check for pwm5 */ /* Check for pwm5 */
reg = superio_inb(sioaddr, IT87_SIO_GPIO1_REG); reg = superio_inb(sioaddr, IT87_SIO_GPIO1_REG);
if (reg & (1 << 6)) if (reg & BIT(6))
sio_data->skip_pwm |= (1 << 4); sio_data->skip_pwm |= BIT(4);
/* Check for fan4, fan5 */ /* Check for fan4, fan5 */
reg = superio_inb(sioaddr, IT87_SIO_GPIO2_REG); reg = superio_inb(sioaddr, IT87_SIO_GPIO2_REG);
if (!(reg & (1 << 5))) if (!(reg & BIT(5)))
sio_data->skip_fan |= (1 << 3); sio_data->skip_fan |= BIT(3);
if (!(reg & (1 << 4))) if (!(reg & BIT(4)))
sio_data->skip_fan |= (1 << 4); sio_data->skip_fan |= BIT(4);
/* Check for pwm3, fan3 */ /* Check for pwm3, fan3 */
reg = superio_inb(sioaddr, IT87_SIO_GPIO3_REG); reg = superio_inb(sioaddr, IT87_SIO_GPIO3_REG);
if (reg & (1 << 6)) if (reg & BIT(6))
sio_data->skip_pwm |= (1 << 2); sio_data->skip_pwm |= BIT(2);
if (reg & (1 << 7)) if (reg & BIT(7))
sio_data->skip_fan |= (1 << 2); sio_data->skip_fan |= BIT(2);
/* Check for pwm4 */ /* Check for pwm4 */
reg = superio_inb(sioaddr, IT87_SIO_GPIO4_REG); reg = superio_inb(sioaddr, IT87_SIO_GPIO4_REG);
if (!(reg & (1 << 2))) if (!(reg & BIT(2)))
sio_data->skip_pwm |= (1 << 3); sio_data->skip_pwm |= BIT(3);
/* Check for pwm2, fan2 */ /* Check for pwm2, fan2 */
reg = superio_inb(sioaddr, IT87_SIO_GPIO5_REG); reg = superio_inb(sioaddr, IT87_SIO_GPIO5_REG);
if (reg & (1 << 1)) if (reg & BIT(1))
sio_data->skip_pwm |= (1 << 1); sio_data->skip_pwm |= BIT(1);
if (reg & (1 << 2)) if (reg & BIT(2))
sio_data->skip_fan |= (1 << 1); sio_data->skip_fan |= BIT(1);
/* Check for pwm6, fan6 */ /* Check for pwm6, fan6 */
if (!(reg & (1 << 7))) { if (!(reg & BIT(7))) {
sio_data->skip_pwm |= (1 << 5); sio_data->skip_pwm |= BIT(5);
sio_data->skip_fan |= (1 << 5); sio_data->skip_fan |= BIT(5);
} }
sio_data->beep_pin = superio_inb(sioaddr, sio_data->beep_pin = superio_inb(sioaddr,
@ -2397,17 +2399,17 @@ static int __init it87_find(int sioaddr, unsigned short *address,
} }
/* Check if fan3 is there or not */ /* Check if fan3 is there or not */
if (reg & (1 << 6)) if (reg & BIT(6))
sio_data->skip_pwm |= (1 << 2); sio_data->skip_pwm |= BIT(2);
if (reg & (1 << 7)) if (reg & BIT(7))
sio_data->skip_fan |= (1 << 2); sio_data->skip_fan |= BIT(2);
/* Check if fan2 is there or not */ /* Check if fan2 is there or not */
reg = superio_inb(sioaddr, IT87_SIO_GPIO5_REG); reg = superio_inb(sioaddr, IT87_SIO_GPIO5_REG);
if (reg & (1 << 1)) if (reg & BIT(1))
sio_data->skip_pwm |= (1 << 1); sio_data->skip_pwm |= BIT(1);
if (reg & (1 << 2)) if (reg & BIT(2))
sio_data->skip_fan |= (1 << 1); sio_data->skip_fan |= BIT(1);
if ((sio_data->type == it8718 || sio_data->type == it8720) if ((sio_data->type == it8718 || sio_data->type == it8720)
&& !(sio_data->skip_vid)) && !(sio_data->skip_vid))
@ -2416,7 +2418,7 @@ static int __init it87_find(int sioaddr, unsigned short *address,
reg = superio_inb(sioaddr, IT87_SIO_PINX2_REG); reg = superio_inb(sioaddr, IT87_SIO_PINX2_REG);
uart6 = sio_data->type == it8782 && (reg & (1 << 2)); uart6 = sio_data->type == it8782 && (reg & BIT(2));
/* /*
* The IT8720F has no VIN7 pin, so VCCH should always be * The IT8720F has no VIN7 pin, so VCCH should always be
@ -2432,15 +2434,15 @@ static int __init it87_find(int sioaddr, unsigned short *address,
* If UART6 is enabled, re-route VIN7 to the internal divider * If UART6 is enabled, re-route VIN7 to the internal divider
* if that is not already the case. * if that is not already the case.
*/ */
if ((sio_data->type == it8720 || uart6) && !(reg & (1 << 1))) { if ((sio_data->type == it8720 || uart6) && !(reg & BIT(1))) {
reg |= (1 << 1); reg |= BIT(1);
superio_outb(sioaddr, IT87_SIO_PINX2_REG, reg); superio_outb(sioaddr, IT87_SIO_PINX2_REG, reg);
pr_notice("Routing internal VCCH to in7\n"); pr_notice("Routing internal VCCH to in7\n");
} }
if (reg & (1 << 0)) if (reg & BIT(0))
sio_data->internal |= (1 << 0); sio_data->internal |= BIT(0);
if (reg & (1 << 1)) if (reg & BIT(1))
sio_data->internal |= (1 << 1); sio_data->internal |= BIT(1);
/* /*
* On IT8782F, UART6 pins overlap with VIN5, VIN6, and VIN7. * On IT8782F, UART6 pins overlap with VIN5, VIN6, and VIN7.
@ -2452,8 +2454,8 @@ static int __init it87_find(int sioaddr, unsigned short *address,
* temperature source here, skip_temp is preliminary. * temperature source here, skip_temp is preliminary.
*/ */
if (uart6) { if (uart6) {
sio_data->skip_in |= (1 << 5) | (1 << 6); sio_data->skip_in |= BIT(5) | BIT(6);
sio_data->skip_temp |= (1 << 2); sio_data->skip_temp |= BIT(2);
} }
sio_data->beep_pin = superio_inb(sioaddr, sio_data->beep_pin = superio_inb(sioaddr,
@ -2477,7 +2479,7 @@ static int __init it87_find(int sioaddr, unsigned short *address,
* the same board is ever used in other systems. * the same board is ever used in other systems.
*/ */
pr_info("Disabling pwm2 due to hardware constraints\n"); pr_info("Disabling pwm2 due to hardware constraints\n");
sio_data->skip_pwm = (1 << 1); sio_data->skip_pwm = BIT(1);
} }
} }
@ -2570,12 +2572,12 @@ static void it87_init_device(struct platform_device *pdev)
/* Check for additional fans */ /* Check for additional fans */
if (has_five_fans(data)) { if (has_five_fans(data)) {
if (tmp & (1 << 4)) if (tmp & BIT(4))
data->has_fan |= (1 << 3); /* fan4 enabled */ data->has_fan |= BIT(3); /* fan4 enabled */
if (tmp & (1 << 5)) if (tmp & BIT(5))
data->has_fan |= (1 << 4); /* fan5 enabled */ data->has_fan |= BIT(4); /* fan5 enabled */
if (has_six_fans(data) && (tmp & (1 << 2))) if (has_six_fans(data) && (tmp & BIT(2)))
data->has_fan |= (1 << 5); /* fan6 enabled */ data->has_fan |= BIT(5); /* fan6 enabled */
} }
/* Fan input pins may be used for alternative functions */ /* Fan input pins may be used for alternative functions */
@ -2586,9 +2588,9 @@ static void it87_init_device(struct platform_device *pdev)
/* The following code may be IT8620E specific */ /* The following code may be IT8620E specific */
tmp = it87_read_value(data, IT87_REG_FAN_DIV); tmp = it87_read_value(data, IT87_REG_FAN_DIV);
if ((tmp & 0xc0) == 0xc0) if ((tmp & 0xc0) == 0xc0)
sio_data->skip_pwm |= (1 << 4); sio_data->skip_pwm |= BIT(4);
if (!(tmp & (1 << 3))) if (!(tmp & BIT(3)))
sio_data->skip_pwm |= (1 << 5); sio_data->skip_pwm |= BIT(5);
} }
/* Start monitoring */ /* Start monitoring */
@ -2719,27 +2721,27 @@ static int it87_probe(struct platform_device *pdev)
/* Starting with IT8721F, we handle scaling of internal voltages */ /* Starting with IT8721F, we handle scaling of internal voltages */
if (has_12mv_adc(data)) { if (has_12mv_adc(data)) {
if (sio_data->internal & (1 << 0)) if (sio_data->internal & BIT(0))
data->in_scaled |= (1 << 3); /* in3 is AVCC */ data->in_scaled |= BIT(3); /* in3 is AVCC */
if (sio_data->internal & (1 << 1)) if (sio_data->internal & BIT(1))
data->in_scaled |= (1 << 7); /* in7 is VSB */ data->in_scaled |= BIT(7); /* in7 is VSB */
if (sio_data->internal & (1 << 2)) if (sio_data->internal & BIT(2))
data->in_scaled |= (1 << 8); /* in8 is Vbat */ data->in_scaled |= BIT(8); /* in8 is Vbat */
if (sio_data->internal & (1 << 3)) if (sio_data->internal & BIT(3))
data->in_scaled |= (1 << 9); /* in9 is AVCC */ data->in_scaled |= BIT(9); /* in9 is AVCC */
} else if (sio_data->type == it8781 || sio_data->type == it8782 || } else if (sio_data->type == it8781 || sio_data->type == it8782 ||
sio_data->type == it8783) { sio_data->type == it8783) {
if (sio_data->internal & (1 << 0)) if (sio_data->internal & BIT(0))
data->in_scaled |= (1 << 3); /* in3 is VCC5V */ data->in_scaled |= BIT(3); /* in3 is VCC5V */
if (sio_data->internal & (1 << 1)) if (sio_data->internal & BIT(1))
data->in_scaled |= (1 << 7); /* in7 is VCCH5V */ data->in_scaled |= BIT(7); /* in7 is VCCH5V */
} }
data->has_temp = 0x07; data->has_temp = 0x07;
if (sio_data->skip_temp & (1 << 2)) { if (sio_data->skip_temp & BIT(2)) {
if (sio_data->type == it8782 if (sio_data->type == it8782
&& !(it87_read_value(data, IT87_REG_TEMP_EXTRA) & 0x80)) && !(it87_read_value(data, IT87_REG_TEMP_EXTRA) & 0x80))
data->has_temp &= ~(1 << 2); data->has_temp &= ~BIT(2);
} }
data->in_internal = sio_data->internal; data->in_internal = sio_data->internal;
@ -2750,19 +2752,19 @@ static int it87_probe(struct platform_device *pdev)
/* Check for additional temperature sensors */ /* Check for additional temperature sensors */
if ((reg & 0x03) >= 0x02) if ((reg & 0x03) >= 0x02)
data->has_temp |= (1 << 3); data->has_temp |= BIT(3);
if (((reg >> 2) & 0x03) >= 0x02) if (((reg >> 2) & 0x03) >= 0x02)
data->has_temp |= (1 << 4); data->has_temp |= BIT(4);
if (((reg >> 4) & 0x03) >= 0x02) if (((reg >> 4) & 0x03) >= 0x02)
data->has_temp |= (1 << 5); data->has_temp |= BIT(5);
/* Check for additional voltage sensors */ /* Check for additional voltage sensors */
if ((reg & 0x03) == 0x01) if ((reg & 0x03) == 0x01)
data->has_in |= (1 << 10); data->has_in |= BIT(10);
if (((reg >> 2) & 0x03) == 0x01) if (((reg >> 2) & 0x03) == 0x01)
data->has_in |= (1 << 11); data->has_in |= BIT(11);
if (((reg >> 4) & 0x03) == 0x01) if (((reg >> 4) & 0x03) == 0x01)
data->has_in |= (1 << 12); data->has_in |= BIT(12);
} }
data->has_beep = !!sio_data->beep_pin; data->has_beep = !!sio_data->beep_pin;
@ -2784,7 +2786,7 @@ static int it87_probe(struct platform_device *pdev)
data->groups[3] = &it87_group_fan; data->groups[3] = &it87_group_fan;
if (enable_pwm_interface) { if (enable_pwm_interface) {
data->has_pwm = (1 << ARRAY_SIZE(IT87_REG_PWM)) - 1; data->has_pwm = BIT(ARRAY_SIZE(IT87_REG_PWM)) - 1;
data->has_pwm &= ~sio_data->skip_pwm; data->has_pwm &= ~sio_data->skip_pwm;
data->groups[4] = &it87_group_pwm; data->groups[4] = &it87_group_pwm;