pwm_enable
u8 pwm_enable;
pwm_enable(ssd130x->pwm);
VAA(0x07, 0x01, 0x01), VAA(5, 3, 5), pwm_enable),
VAA(0x07, 0x01, 0x01), VAA(5, 3, 6), pwm_enable),
VAA(0x07, 0x01, 0x01), VAA(5, 3, 7), pwm_enable),
if (data->pwm_enable & (1 << (2 * nr)))
data->pwm_enable = f71882fg_read8(data, F71882FG_REG_PWM_ENABLE);
if ((data->type == f8000 && ((data->pwm_enable >> 2 * nr) & 3) != 2) ||
(data->type != f8000 && !((data->pwm_enable >> 2 * nr) & 2))) {
if (data->pwm_enable & (1 << (2 * nr))) {
switch ((data->pwm_enable >> 2 * nr) & 3) {
data->pwm_enable = f71882fg_read8(data, F71882FG_REG_PWM_ENABLE);
if (data->type == f8000 && ((data->pwm_enable >> 2 * nr) & 1)) {
data->pwm_enable &= ~(2 << (2 * nr));
data->pwm_enable |= 2 << (2 * nr);
((data->pwm_enable >> (2 * nr)) & 1)) {
data->pwm_enable |= 2 << (2 * nr);
data->pwm_enable &= ~(2 << (2 * nr));
f71882fg_write8(data, F71882FG_REG_PWM_ENABLE, data->pwm_enable);
if (data->pwm_enable & (1 << (2 * pwm))) {
data->pwm_enable = f71882fg_read8(data, F71882FG_REG_PWM_ENABLE);
if (data->pwm_enable & (1 << (2 * pwm))) {
if (((data->pwm_enable >> (idx * 2)) & 3) == 3)
if (((data->pwm_enable >> (idx * 2)) & 1) != 1)
err = data->pwm_enable & 0x20;
(data->pwm_enable >> (idx * 2)) & 3, idx + 1);
(data->pwm_enable & (1 << (2 * idx))) ? "duty-cycle" : "RPM");
data->pwm_enable =
u8 pwm_enable;
data->pwm_enable = f71882fg_read8(data,
u8 pwm_enable[2];
static bool duty_mode_enabled(u8 pwm_enable)
switch (pwm_enable) {
WARN(1, "Unexpected pwm_enable value %d\n", pwm_enable);
static bool auto_mode_enabled(u8 pwm_enable)
switch (pwm_enable) {
WARN(1, "Unexpected pwm_enable value %d\n", pwm_enable);
if (auto_mode_enabled(data->pwm_enable[nr]))
if (data->kind == f75387 && duty_mode_enabled(data->pwm_enable[nr]))
if (auto_mode_enabled(data->pwm_enable[nr]) ||
!duty_mode_enabled(data->pwm_enable[nr]))
return sprintf(buf, "%d\n", data->pwm_enable[nr]);
if (duty_mode_enabled(data->pwm_enable[nr]) !=
data->pwm_enable[nr] = val;
data->pwm_enable[nr] = 4;
data->pwm_enable[nr] = 3;
data->pwm_enable[nr] = 2;
data->pwm_enable[nr] = 1;
data->pwm_enable[nr] = 3;
data->pwm_enable[nr] = 2;
data->pwm_enable[nr] = 1;
set_pwm_enable_direct(client, 0, f75375s_pdata->pwm_enable[0]);
set_pwm_enable_direct(client, 1, f75375s_pdata->pwm_enable[1]);
if (auto_mode_enabled(f75375s_pdata->pwm_enable[nr]) ||
!duty_mode_enabled(f75375s_pdata->pwm_enable[nr]))
switch (data->pwm_enable) {
if (data->pwm_enable != MANUAL)
static void gpd_win_mini_set_pwm_enable(struct gpd_fan_data *data, enum FAN_PWM_ENABLE pwm_enable)
switch (pwm_enable) {
static void gpd_duo_set_pwm_enable(struct gpd_fan_data *data, enum FAN_PWM_ENABLE pwm_enable)
switch (pwm_enable) {
enum FAN_PWM_ENABLE pwm_enable;
*val = data->pwm_enable;
data->pwm_enable = val;
gpd_set_pwm_enable(data, data->pwm_enable);
data->pwm_enable = AUTOMATIC;
data->pwm_enable = AUTOMATIC;
if (!fan_data->pwm_enable) {
return sprintf(buf, "%d\n", fan_data->pwm_enable);
if (fan_data->pwm_enable == val)
fan_data->pwm_enable = val;
if (!fan_data->pwm_enable) {
fan_data->pwm_enable = true; /* Enable manual fan speed control. */
bool pwm_enable;
static SENSOR_DEVICE_ATTR_RW(pwm1_enable, pwm_enable, 0);
static SENSOR_DEVICE_ATTR_RW(pwm2_enable, pwm_enable, 1);
static SENSOR_DEVICE_ATTR_RW(pwm3_enable, pwm_enable, 2);
static SENSOR_DEVICE_ATTR_RW(pwm1_enable, pwm_enable, 0);
static SENSOR_DEVICE_ATTR_RW(pwm2_enable, pwm_enable, 1);
data->pwm_enable[i] = reg_to_pwm_enable(data->pwm[0][i],
data->pwm_enable[i] != speed_cruise)
data->pwm_enable[i] == speed_cruise) {
data->pwm_enable[i] == thermal_cruise)
data->pwm_enable[i] == speed_cruise) {
if (index == 0 && data->pwm_enable[nr] > manual) {
if (index == 0 && data->pwm_enable[nr] > manual)
switch (data->pwm_enable[nr]) {
return sysfs_emit(buf, "%d\n", data->pwm_enable[sattr->index]);
data->pwm_enable[nr] = val;
SENSOR_TEMPLATE(pwm_enable, "pwm%d_enable", 0644, show_pwm_enable, store_pwm_enable, 0);
static enum pwm_enable reg_to_pwm_enable(int pwm, int mode)
static int pwm_enable_to_reg(enum pwm_enable mode)
enum pwm_enable pwm_enable[NUM_FAN];
static SENSOR_DEVICE_ATTR_RW(pwm1_enable, pwm_enable, 0);
static SENSOR_DEVICE_ATTR_RW(pwm2_enable, pwm_enable, 1);
static SENSOR_DEVICE_ATTR_RW(pwm3_enable, pwm_enable, 2);
enum pwm_enable mode;
data->pwm_enable[nr] = inb(iobase + PC87427_REG_PWM_ENABLE);
data->pwm_enable[nr] &= ~PWM_ENABLE_MODE_MASK;
data->pwm_enable[nr] |= mode;
outb(data->pwm_enable[nr], iobase + PC87427_REG_PWM_ENABLE);
int pwm_enable;
pwm_enable = pwm_enable_from_reg(data->pwm_enable[nr]);
if (pwm_enable < 0)
return pwm_enable;
return sprintf(buf, "%d\n", pwm_enable);
u8 pwm_enable[4]; /* register values */
mode = data->pwm_enable[nr] & PWM_ENABLE_MODE_MASK;
static SENSOR_DEVICE_ATTR_RW(pwm1_enable, pwm_enable, 0);
static SENSOR_DEVICE_ATTR_RW(pwm2_enable, pwm_enable, 1);
static SENSOR_DEVICE_ATTR_RW(pwm3_enable, pwm_enable, 2);
static SENSOR_DEVICE_ATTR_RW(pwm4_enable, pwm_enable, 3);
*val = data->pwm_enable[channel];
*val = data->pwm_enable[channel];
data->pwm_enable_orig[i] = data->pwm_enable[i];
u8 pwm_enable[4]; /* 1->manual
data->pwm_enable[i] = ((pwmcfg >> W83627EHF_PWM_ENABLE_SHIFT[i])
data->pwm_enable[channel] = val;
return sprintf(buf, "%d\n", data->pwm_enable[nr]);
data->pwm_enable[nr] = val;
static SENSOR_DEVICE_ATTR_RW(pwm1_enable, pwm_enable, 0);
static SENSOR_DEVICE_ATTR_RW(pwm2_enable, pwm_enable, 1);
static SENSOR_DEVICE_ATTR_RW(pwm3_enable, pwm_enable, 2);
u8 pwm_enable[3]; /* 1 = manual
data->pwm_enable[i] =
data->pwm_enable[0] = (reg_array_tmp[0] >> 2) & 0x03;
data->pwm_enable[1] = (reg_array_tmp[0] >> 4) & 0x03;
data->pwm_enable[2] = (reg_array_tmp[1] >> 2) & 0x03;
u8 pwm_enable[3]; /* pwm enable status for fan 1-3
return sprintf(buf, "%u\n", data->pwm_enable[nr] + 1);
data->pwm_enable[nr] = val - 1;
data->pwm_enable[nr] << val_shift;
data->pwm_enable = w83793_read_value(client, W83793_REG_PWM_ENABLE);
u8 pwm_enable; /* Register value, each Temp has 1 bit */
val = ((data->pwm_enable >> index) & 0x01) + 2;
data->pwm_enable =
data->pwm_enable |= 1 << index;
data->pwm_enable &= ~(1 << index);
data->pwm_enable);
u8 pwm_enable[2]; /* 1->manual
data->pwm_enable[i] =
show_pwm_reg(pwm_enable)
data->pwm_enable[nr] = val;
int pwm_enable; /* 0:full on, 1:set by pwm1, 2:control by motherboard */
return sysfs_emit(buf, "%d\n", data->pwm_enable);
data->pwm_enable = val;
if (data->pwm_enable != 1)
data->pwm_enable = 2; /* Keep motherboard in control for now */
return pwm_enable(drvdata->pwm);
pwm_enable(par->pwm);
u8 pwm_enable[2];