Lines Matching refs:sattr
331 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
337 switch (sattr->nr) {
340 (data->alarms >> sattr->index) & 1);
342 val = data->voltage[sattr->nr][sattr->index];
344 reg2volt(sattr->index, val, data->bypass_attn));
353 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
364 data->voltage[sattr->nr][sattr->index] =
365 volt2reg(sattr->index, val, data->bypass_attn);
367 if (sattr->index < ADT7475_VOLTAGE_COUNT) {
368 if (sattr->nr == MIN)
369 reg = VOLTAGE_MIN_REG(sattr->index);
371 reg = VOLTAGE_MAX_REG(sattr->index);
373 if (sattr->nr == MIN)
380 data->voltage[sattr->nr][sattr->index] >> 2);
390 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
396 switch (sattr->nr) {
399 out = data->temp[sattr->nr][sattr->index];
400 if (sattr->index != 1)
408 out = reg2temp(data, data->temp[THERM][sattr->index]) -
419 out = (s8)data->temp[sattr->nr][sattr->index];
428 out = (data->alarms >> (sattr->index + 4)) & 1;
433 out = !!(data->alarms & (sattr->index ? 0x8000 : 0x4000));
438 out = reg2temp(data, data->temp[sattr->nr][sattr->index]);
447 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
463 switch (sattr->nr) {
467 out = data->temp[OFFSET][sattr->index] = val / 1000;
470 out = data->temp[OFFSET][sattr->index] = val / 500;
481 data->temp[THERM][sattr->index] =
482 adt7475_read(TEMP_THERM_REG(sattr->index)) << 2;
485 temp = reg2temp(data, data->temp[THERM][sattr->index]);
489 if (sattr->index != 1) {
490 data->temp[HYSTERSIS][sattr->index] &= 0x0F;
491 data->temp[HYSTERSIS][sattr->index] |= (val & 0xF) << 4;
493 data->temp[HYSTERSIS][sattr->index] &= 0xF0;
494 data->temp[HYSTERSIS][sattr->index] |= (val & 0xF);
497 out = data->temp[HYSTERSIS][sattr->index];
501 data->temp[sattr->nr][sattr->index] = temp2reg(data, val);
507 out = (u8) (data->temp[sattr->nr][sattr->index] >> 2);
510 switch (sattr->nr) {
512 reg = TEMP_MIN_REG(sattr->index);
515 reg = TEMP_MAX_REG(sattr->index);
518 reg = TEMP_OFFSET_REG(sattr->index);
521 reg = TEMP_TMIN_REG(sattr->index);
524 reg = TEMP_THERM_REG(sattr->index);
527 if (sattr->index != 2)
549 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
553 switch (sattr->index) {
576 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
586 switch (sattr->index) {
637 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
644 out = (data->range[sattr->index] >> 4) & 0x0F;
645 val = reg2temp(data, data->temp[AUTOMIN][sattr->index]);
656 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
667 data->temp[AUTOMIN][sattr->index] =
668 adt7475_read(TEMP_TMIN_REG(sattr->index)) << 2;
669 data->range[sattr->index] =
670 adt7475_read(TEMP_TRANGE_REG(sattr->index));
676 temp = reg2temp(data, data->temp[AUTOMIN][sattr->index]);
684 data->range[sattr->index] &= ~0xF0;
685 data->range[sattr->index] |= val << 4;
687 i2c_smbus_write_byte_data(client, TEMP_TRANGE_REG(sattr->index),
688 data->range[sattr->index]);
698 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
704 if (sattr->nr == ALARM)
705 out = (data->alarms >> (sattr->index + 10)) & 1;
707 out = tach2rpm(data->tach[sattr->nr][sattr->index]);
716 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
726 data->tach[MIN][sattr->index] = rpm2tach(val);
728 adt7475_write_word(client, TACH_MIN_REG(sattr->index),
729 data->tach[MIN][sattr->index]);
739 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
744 return sprintf(buf, "%d\n", data->pwm[sattr->nr][sattr->index]);
751 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
756 return sprintf(buf, "%d\n", data->pwmchan[sattr->index]);
763 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
768 return sprintf(buf, "%d\n", data->pwmctl[sattr->index]);
775 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
786 switch (sattr->nr) {
789 data->pwm[CONTROL][sattr->index] =
790 adt7475_read(PWM_CONFIG_REG(sattr->index));
796 if (((data->pwm[CONTROL][sattr->index] >> 5) & 7) != 7) {
801 reg = PWM_REG(sattr->index);
805 reg = PWM_MIN_REG(sattr->index);
809 reg = PWM_MAX_REG(sattr->index);
813 data->pwm[sattr->nr][sattr->index] = clamp_val(val, 0, 0xFF);
815 data->pwm[sattr->nr][sattr->index]);
824 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
827 u8 mask = BIT(5 + sattr->index);
836 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
840 u8 mask = BIT(5 + sattr->index);
920 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
931 adt7475_read_pwm(client, sattr->index);
932 r = hw_set_pwm(client, sattr->index, data->pwmctl[sattr->index], val);
944 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
955 adt7475_read_pwm(client, sattr->index);
956 r = hw_set_pwm(client, sattr->index, val, data->pwmchan[sattr->index]);
973 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
978 idx = clamp_val(data->range[sattr->index] & 0xf, 0,
988 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
1001 data->range[sattr->index] =
1002 adt7475_read(TEMP_TRANGE_REG(sattr->index));
1003 data->range[sattr->index] &= ~0xf;
1004 data->range[sattr->index] |= out;
1006 i2c_smbus_write_byte_data(client, TEMP_TRANGE_REG(sattr->index),
1007 data->range[sattr->index]);