Lines Matching refs:sattr

330 	struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
336 switch (sattr->nr) {
339 (data->alarms >> sattr->index) & 1);
341 val = data->voltage[sattr->nr][sattr->index];
343 reg2volt(sattr->index, val, data->bypass_attn));
352 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
363 data->voltage[sattr->nr][sattr->index] =
364 volt2reg(sattr->index, val, data->bypass_attn);
366 if (sattr->index < ADT7475_VOLTAGE_COUNT) {
367 if (sattr->nr == MIN)
368 reg = VOLTAGE_MIN_REG(sattr->index);
370 reg = VOLTAGE_MAX_REG(sattr->index);
372 if (sattr->nr == MIN)
379 data->voltage[sattr->nr][sattr->index] >> 2);
389 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
395 switch (sattr->nr) {
398 out = data->temp[sattr->nr][sattr->index];
399 if (sattr->index != 1)
407 out = reg2temp(data, data->temp[THERM][sattr->index]) -
418 out = (s8)data->temp[sattr->nr][sattr->index];
427 out = (data->alarms >> (sattr->index + 4)) & 1;
432 out = !!(data->alarms & (sattr->index ? 0x8000 : 0x4000));
437 out = reg2temp(data, data->temp[sattr->nr][sattr->index]);
446 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
462 switch (sattr->nr) {
466 out = data->temp[OFFSET][sattr->index] = val / 1000;
469 out = data->temp[OFFSET][sattr->index] = val / 500;
480 data->temp[THERM][sattr->index] =
481 adt7475_read(TEMP_THERM_REG(sattr->index)) << 2;
484 temp = reg2temp(data, data->temp[THERM][sattr->index]);
488 if (sattr->index != 1) {
489 data->temp[HYSTERSIS][sattr->index] &= 0x0F;
490 data->temp[HYSTERSIS][sattr->index] |= (val & 0xF) << 4;
492 data->temp[HYSTERSIS][sattr->index] &= 0xF0;
493 data->temp[HYSTERSIS][sattr->index] |= (val & 0xF);
496 out = data->temp[HYSTERSIS][sattr->index];
500 data->temp[sattr->nr][sattr->index] = temp2reg(data, val);
506 out = (u8) (data->temp[sattr->nr][sattr->index] >> 2);
509 switch (sattr->nr) {
511 reg = TEMP_MIN_REG(sattr->index);
514 reg = TEMP_MAX_REG(sattr->index);
517 reg = TEMP_OFFSET_REG(sattr->index);
520 reg = TEMP_TMIN_REG(sattr->index);
523 reg = TEMP_THERM_REG(sattr->index);
526 if (sattr->index != 2)
548 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
552 switch (sattr->index) {
575 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
585 switch (sattr->index) {
636 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
643 out = (data->range[sattr->index] >> 4) & 0x0F;
644 val = reg2temp(data, data->temp[AUTOMIN][sattr->index]);
655 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
666 data->temp[AUTOMIN][sattr->index] =
667 adt7475_read(TEMP_TMIN_REG(sattr->index)) << 2;
668 data->range[sattr->index] =
669 adt7475_read(TEMP_TRANGE_REG(sattr->index));
675 temp = reg2temp(data, data->temp[AUTOMIN][sattr->index]);
683 data->range[sattr->index] &= ~0xF0;
684 data->range[sattr->index] |= val << 4;
686 i2c_smbus_write_byte_data(client, TEMP_TRANGE_REG(sattr->index),
687 data->range[sattr->index]);
697 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
703 if (sattr->nr == ALARM)
704 out = (data->alarms >> (sattr->index + 10)) & 1;
706 out = tach2rpm(data->tach[sattr->nr][sattr->index]);
715 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
725 data->tach[MIN][sattr->index] = rpm2tach(val);
727 adt7475_write_word(client, TACH_MIN_REG(sattr->index),
728 data->tach[MIN][sattr->index]);
738 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
743 return sprintf(buf, "%d\n", data->pwm[sattr->nr][sattr->index]);
750 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
755 return sprintf(buf, "%d\n", data->pwmchan[sattr->index]);
762 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
767 return sprintf(buf, "%d\n", data->pwmctl[sattr->index]);
774 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
785 switch (sattr->nr) {
788 data->pwm[CONTROL][sattr->index] =
789 adt7475_read(PWM_CONFIG_REG(sattr->index));
795 if (((data->pwm[CONTROL][sattr->index] >> 5) & 7) != 7) {
800 reg = PWM_REG(sattr->index);
804 reg = PWM_MIN_REG(sattr->index);
808 reg = PWM_MAX_REG(sattr->index);
812 data->pwm[sattr->nr][sattr->index] = clamp_val(val, 0, 0xFF);
814 data->pwm[sattr->nr][sattr->index]);
823 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
826 u8 mask = BIT(5 + sattr->index);
835 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
839 u8 mask = BIT(5 + sattr->index);
919 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
930 adt7475_read_pwm(client, sattr->index);
931 r = hw_set_pwm(client, sattr->index, data->pwmctl[sattr->index], val);
943 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
954 adt7475_read_pwm(client, sattr->index);
955 r = hw_set_pwm(client, sattr->index, val, data->pwmchan[sattr->index]);
972 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
977 idx = clamp_val(data->range[sattr->index] & 0xf, 0,
987 struct sensor_device_attribute_2 *sattr = to_sensor_dev_attr_2(attr);
1000 data->range[sattr->index] =
1001 adt7475_read(TEMP_TRANGE_REG(sattr->index));
1002 data->range[sattr->index] &= ~0xf;
1003 data->range[sattr->index] |= out;
1005 i2c_smbus_write_byte_data(client, TEMP_TRANGE_REG(sattr->index),
1006 data->range[sattr->index]);