Lines Matching +full:sens +full:-

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * w83627hf.c - Part of lm_sensors, Linux kernel modules for hardware
5 * Copyright (c) 1998 - 2003 Frodo Looijaard <frodol@dds.nl>,
9 * Copyright (c) 2007 - 1012 Jean Delvare <jdelvare@suse.de>
37 #include <linux/hwmon-sysfs.h>
38 #include <linux/hwmon-vid.h>
102 outb(reg, sio->sioaddr); in superio_outb()
103 outb(val, sio->sioaddr + 1); in superio_outb()
109 outb(reg, sio->sioaddr); in superio_inb()
110 return inb(sio->sioaddr + 1); in superio_inb()
116 outb(DEV, sio->sioaddr); in superio_select()
117 outb(ld, sio->sioaddr + 1); in superio_select()
123 if (!request_muxed_region(sio->sioaddr, 2, DRVNAME)) in superio_enter()
124 return -EBUSY; in superio_enter()
126 outb(0x87, sio->sioaddr); in superio_enter()
127 outb(0x87, sio->sioaddr); in superio_enter()
135 outb(0xAA, sio->sioaddr); in superio_exit()
136 release_region(sio->sioaddr, 2); in superio_exit()
162 (0x554 + (((nr) - 7) * 2)))
164 (0x555 + (((nr) - 7) * 2)))
166 (0x550 + (nr) - 7))
168 /* nr:0-2 for fans:1-3 */
174 /* these are zero-based, unlike config constants above */
261 #define TEMP_MIN (-128000)
265 * TEMP: 0.001C/bit (-128C to +127C)
271 ntemp += (ntemp < 0 ? -500 : 500); in TEMP_TO_REG()
280 #define FAN_FROM_REG(val,div) ((val)==0?-1:(val)==255?0:1350000/((val)*(div)))
307 /* Clock bit 8 -> 180 kHz or 24 MHz */ in pwm_freq_from_reg()
379 u16 sens[3]; /* 1 = pentium diode; 2 = 3904 diode; member
392 /* Registers 0x50-0x5f are banked */
396 outb_p(W83781D_REG_BANK, data->addr + W83781D_ADDR_REG_OFFSET); in w83627hf_set_bank()
397 outb_p(reg >> 8, data->addr + W83781D_DATA_REG_OFFSET); in w83627hf_set_bank()
405 outb_p(W83781D_REG_BANK, data->addr + W83781D_ADDR_REG_OFFSET); in w83627hf_reset_bank()
406 outb_p(0, data->addr + W83781D_DATA_REG_OFFSET); in w83627hf_reset_bank()
414 mutex_lock(&data->lock); in w83627hf_read_value()
421 outb_p(reg & 0xff, data->addr + W83781D_ADDR_REG_OFFSET); in w83627hf_read_value()
422 res = inb_p(data->addr + W83781D_DATA_REG_OFFSET); in w83627hf_read_value()
425 data->addr + W83781D_ADDR_REG_OFFSET); in w83627hf_read_value()
427 (res << 8) + inb_p(data->addr + in w83627hf_read_value()
431 mutex_unlock(&data->lock); in w83627hf_read_value()
439 mutex_lock(&data->lock); in w83627hf_write_value()
445 outb_p(reg & 0xff, data->addr + W83781D_ADDR_REG_OFFSET); in w83627hf_write_value()
448 data->addr + W83781D_DATA_REG_OFFSET); in w83627hf_write_value()
450 data->addr + W83781D_ADDR_REG_OFFSET); in w83627hf_write_value()
453 data->addr + W83781D_DATA_REG_OFFSET); in w83627hf_write_value()
455 mutex_unlock(&data->lock); in w83627hf_write_value()
464 data->fan_div[0] = (reg >> 4) & 0x03; in w83627hf_update_fan_div()
465 data->fan_div[1] = (reg >> 6) & 0x03; in w83627hf_update_fan_div()
466 if (data->type != w83697hf) { in w83627hf_update_fan_div()
467 data->fan_div[2] = (w83627hf_read_value(data, in w83627hf_update_fan_div()
471 data->fan_div[0] |= (reg >> 3) & 0x04; in w83627hf_update_fan_div()
472 data->fan_div[1] |= (reg >> 4) & 0x04; in w83627hf_update_fan_div()
473 if (data->type != w83697hf) in w83627hf_update_fan_div()
474 data->fan_div[2] |= (reg >> 5) & 0x04; in w83627hf_update_fan_div()
480 int i, num_temps = (data->type == w83697hf) ? 2 : 3; in w83627hf_update_device()
481 int num_pwms = (data->type == w83697hf) ? 2 : 3; in w83627hf_update_device()
483 mutex_lock(&data->update_lock); in w83627hf_update_device()
485 if (time_after(jiffies, data->last_updated + HZ + HZ / 2) in w83627hf_update_device()
486 || !data->valid) { in w83627hf_update_device()
489 if (((data->type == w83697hf) && (i == 1)) || in w83627hf_update_device()
490 ((data->type != w83627hf && data->type != w83697hf) in w83627hf_update_device()
493 data->in[i] = in w83627hf_update_device()
495 data->in_min[i] = in w83627hf_update_device()
498 data->in_max[i] = in w83627hf_update_device()
503 data->fan[i] = in w83627hf_update_device()
505 data->fan_min[i] = in w83627hf_update_device()
511 W836X7HF_REG_PWM(data->type, i)); in w83627hf_update_device()
512 /* bits 0-3 are reserved in 627THF */ in w83627hf_update_device()
513 if (data->type == w83627thf) in w83627hf_update_device()
515 data->pwm[i] = tmp; in w83627hf_update_device()
517 (data->type == w83627hf || data->type == w83697hf)) in w83627hf_update_device()
520 if (data->type == w83627hf) { in w83627hf_update_device()
523 data->pwm_freq[0] = tmp & 0x07; in w83627hf_update_device()
524 data->pwm_freq[1] = (tmp >> 4) & 0x07; in w83627hf_update_device()
525 } else if (data->type != w83627thf) { in w83627hf_update_device()
527 data->pwm_freq[i - 1] = in w83627hf_update_device()
529 W83637HF_REG_PWM_FREQ[i - 1]); in w83627hf_update_device()
530 if (i == 2 && (data->type == w83697hf)) in w83627hf_update_device()
534 if (data->type != w83627hf) { in w83627hf_update_device()
538 data->pwm_enable[i] = in w83627hf_update_device()
544 data->temp[i] = w83627hf_read_value( in w83627hf_update_device()
546 data->temp_max[i] = w83627hf_read_value( in w83627hf_update_device()
548 data->temp_max_hyst[i] = w83627hf_read_value( in w83627hf_update_device()
554 data->alarms = in w83627hf_update_device()
559 data->beep_mask = (i << 8) | in w83627hf_update_device()
562 data->last_updated = jiffies; in w83627hf_update_device()
563 data->valid = true; in w83627hf_update_device()
566 mutex_unlock(&data->update_lock); in w83627hf_update_device()
576 mutex_lock(&data->update_lock); in w83627hf_suspend()
577 data->scfg1 = w83627hf_read_value(data, W83781D_REG_SCFG1); in w83627hf_suspend()
578 data->scfg2 = w83627hf_read_value(data, W83781D_REG_SCFG2); in w83627hf_suspend()
579 mutex_unlock(&data->update_lock); in w83627hf_suspend()
587 int i, num_temps = (data->type == w83697hf) ? 2 : 3; in w83627hf_resume()
590 mutex_lock(&data->update_lock); in w83627hf_resume()
593 if (((data->type == w83697hf) && (i == 1)) || in w83627hf_resume()
594 ((data->type != w83627hf && data->type != w83697hf) in w83627hf_resume()
598 data->in_max[i]); in w83627hf_resume()
600 data->in_min[i]); in w83627hf_resume()
604 data->fan_min[i]); in w83627hf_resume()
607 data->temp_max[i]); in w83627hf_resume()
609 data->temp_max_hyst[i]); in w83627hf_resume()
613 if (data->type == w83627thf || data->type == w83637hf || in w83627hf_resume()
614 data->type == w83687thf) in w83627hf_resume()
616 data->vrm_ovt); in w83627hf_resume()
617 w83627hf_write_value(data, W83781D_REG_SCFG1, data->scfg1); in w83627hf_resume()
618 w83627hf_write_value(data, W83781D_REG_SCFG2, data->scfg2); in w83627hf_resume()
620 /* Force re-reading all values */ in w83627hf_resume()
621 data->valid = false; in w83627hf_resume()
622 mutex_unlock(&data->update_lock); in w83627hf_resume()
639 struct w83627hf_sio_data *sio_data = dev_get_platdata(&pdev->dev); in w83627thf_read_gpio5()
648 dev_warn(&pdev->dev, in w83627thf_read_gpio5()
659 dev_dbg(&pdev->dev, "GPIO5 disabled, no VID function\n"); in w83627thf_read_gpio5()
669 dev_dbg(&pdev->dev, "GPIO5 not configured for VID " in w83627thf_read_gpio5()
674 dev_info(&pdev->dev, "Reading VID from GPIO5\n"); in w83627thf_read_gpio5()
684 struct w83627hf_sio_data *sio_data = dev_get_platdata(&pdev->dev); in w83687thf_read_vid()
693 dev_warn(&pdev->dev, in w83687thf_read_vid()
702 dev_dbg(&pdev->dev, "VID disabled, no VID function\n"); in w83687thf_read_vid()
708 dev_dbg(&pdev->dev, "VID configured as output, " in w83687thf_read_vid()
724 enum chips type = data->type; in w83627hf_init_device()
727 /* Minimize conflicts with other winbond i2c-only clients... */ in w83627hf_init_device()
739 data->vid = (lo & 0x0f) | ((hi & 0x01) << 4); in w83627hf_init_device()
741 data->vid = w83627thf_read_gpio5(pdev); in w83627hf_init_device()
743 data->vid = w83687thf_read_vid(pdev); in w83627hf_init_device()
748 data->vrm_ovt = in w83627hf_init_device()
754 if (!(tmp & BIT_SCFG1[i - 1])) { in w83627hf_init_device()
755 data->sens[i - 1] = 4; in w83627hf_init_device()
759 W83781D_REG_SCFG2) & BIT_SCFG2[i - 1]) in w83627hf_init_device()
760 data->sens[i - 1] = 1; in w83627hf_init_device()
762 data->sens[i - 1] = 2; in w83627hf_init_device()
772 dev_warn(&pdev->dev, "Enabling temp2, readings " in w83627hf_init_device()
783 dev_warn(&pdev->dev, "Enabling temp3, " in w83627hf_init_device()
808 if ((data->vrm_ovt & 0x01) && in show_in_0()
809 (w83627thf == data->type || w83637hf == data->type in show_in_0()
810 || w83687thf == data->type)) in show_in_0()
825 return show_in_0(data, buf, data->in[0]); in in0_input_show()
833 return show_in_0(data, buf, data->in_min[0]); in in0_min_show()
848 mutex_lock(&data->update_lock); in in0_min_store()
850 if ((data->vrm_ovt & 0x01) && in in0_min_store()
851 (w83627thf == data->type || w83637hf == data->type in in0_min_store()
852 || w83687thf == data->type)) in in0_min_store()
855 data->in_min[0] = in in0_min_store()
856 clamp_val(((val * 100) - 70000 + 244) / 488, 0, 255); in in0_min_store()
859 data->in_min[0] = IN_TO_REG(val); in in0_min_store()
861 w83627hf_write_value(data, W83781D_REG_IN_MIN(0), data->in_min[0]); in in0_min_store()
862 mutex_unlock(&data->update_lock); in in0_min_store()
872 return show_in_0(data, buf, data->in_max[0]); in in0_max_show()
887 mutex_lock(&data->update_lock); in in0_max_store()
889 if ((data->vrm_ovt & 0x01) && in in0_max_store()
890 (w83627thf == data->type || w83637hf == data->type in in0_max_store()
891 || w83687thf == data->type)) in in0_max_store()
894 data->in_max[0] = in in0_max_store()
895 clamp_val(((val * 100) - 70000 + 244) / 488, 0, 255); in in0_max_store()
898 data->in_max[0] = IN_TO_REG(val); in in0_max_store()
900 w83627hf_write_value(data, W83781D_REG_IN_MAX(0), data->in_max[0]); in in0_max_store()
901 mutex_unlock(&data->update_lock); in in0_max_store()
911 int bitnr = to_sensor_dev_attr(attr)->index; in alarm_show()
912 return sprintf(buf, "%u\n", (data->alarms >> bitnr) & 1); in alarm_show()
935 int bitnr = to_sensor_dev_attr(attr)->index; in beep_show()
936 return sprintf(buf, "%u\n", (data->beep_mask >> bitnr) & 1); in beep_show()
944 int bitnr = to_sensor_dev_attr(attr)->index; in beep_store()
954 return -EINVAL; in beep_store()
956 mutex_lock(&data->update_lock); in beep_store()
958 data->beep_mask |= (1 << bitnr); in beep_store()
960 data->beep_mask &= ~(1 << bitnr); in beep_store()
972 reg |= (1 << (bitnr - 8)); in beep_store()
974 reg &= ~(1 << (bitnr - 8)); in beep_store()
979 reg |= (1 << (bitnr - 16)); in beep_store()
981 reg &= ~(1 << (bitnr - 16)); in beep_store()
984 mutex_unlock(&data->update_lock); in beep_store()
1009 int nr = to_sensor_dev_attr(devattr)->index; in in_input_show()
1011 return sprintf(buf, "%ld\n", (long)IN_FROM_REG(data->in[nr])); in in_input_show()
1017 int nr = to_sensor_dev_attr(devattr)->index; in in_min_show()
1019 return sprintf(buf, "%ld\n", (long)IN_FROM_REG(data->in_min[nr])); in in_min_show()
1026 int nr = to_sensor_dev_attr(devattr)->index; in in_min_store()
1035 mutex_lock(&data->update_lock); in in_min_store()
1036 data->in_min[nr] = IN_TO_REG(val); in in_min_store()
1037 w83627hf_write_value(data, W83781D_REG_IN_MIN(nr), data->in_min[nr]); in in_min_store()
1038 mutex_unlock(&data->update_lock); in in_min_store()
1045 int nr = to_sensor_dev_attr(devattr)->index; in in_max_show()
1047 return sprintf(buf, "%ld\n", (long)IN_FROM_REG(data->in_max[nr])); in in_max_show()
1054 int nr = to_sensor_dev_attr(devattr)->index; in in_max_store()
1063 mutex_lock(&data->update_lock); in in_max_store()
1064 data->in_max[nr] = IN_TO_REG(val); in in_max_store()
1065 w83627hf_write_value(data, W83781D_REG_IN_MAX(nr), data->in_max[nr]); in in_max_store()
1066 mutex_unlock(&data->update_lock); in in_max_store()
1099 int nr = to_sensor_dev_attr(devattr)->index; in fan_input_show()
1101 return sprintf(buf, "%ld\n", FAN_FROM_REG(data->fan[nr], in fan_input_show()
1102 (long)DIV_FROM_REG(data->fan_div[nr]))); in fan_input_show()
1108 int nr = to_sensor_dev_attr(devattr)->index; in fan_min_show()
1110 return sprintf(buf, "%ld\n", FAN_FROM_REG(data->fan_min[nr], in fan_min_show()
1111 (long)DIV_FROM_REG(data->fan_div[nr]))); in fan_min_show()
1118 int nr = to_sensor_dev_attr(devattr)->index; in fan_min_store()
1127 mutex_lock(&data->update_lock); in fan_min_store()
1128 data->fan_min[nr] = FAN_TO_REG(val, DIV_FROM_REG(data->fan_div[nr])); in fan_min_store()
1130 data->fan_min[nr]); in fan_min_store()
1132 mutex_unlock(&data->update_lock); in fan_min_store()
1146 int nr = to_sensor_dev_attr(devattr)->index; in fan_div_show()
1149 (long) DIV_FROM_REG(data->fan_div[nr])); in fan_div_show()
1162 int nr = to_sensor_dev_attr(devattr)->index; in fan_div_store()
1173 mutex_lock(&data->update_lock); in fan_div_store()
1176 min = FAN_FROM_REG(data->fan_min[nr], in fan_div_store()
1177 DIV_FROM_REG(data->fan_div[nr])); in fan_div_store()
1179 data->fan_div[nr] = DIV_TO_REG(val); in fan_div_store()
1183 | ((data->fan_div[nr] & 0x03) << (nr==0 ? 4 : 6)); in fan_div_store()
1188 | ((data->fan_div[nr] & 0x04) << (3 + nr)); in fan_div_store()
1192 data->fan_min[nr] = FAN_TO_REG(min, DIV_FROM_REG(data->fan_div[nr])); in fan_div_store()
1193 w83627hf_write_value(data, W83627HF_REG_FAN_MIN(nr), data->fan_min[nr]); in fan_div_store()
1195 mutex_unlock(&data->update_lock); in fan_div_store()
1206 int nr = to_sensor_dev_attr(devattr)->index; in temp_show()
1209 u16 tmp = data->temp[nr]; in temp_show()
1217 int nr = to_sensor_dev_attr(devattr)->index; in temp_max_show()
1220 u16 tmp = data->temp_max[nr]; in temp_max_show()
1229 int nr = to_sensor_dev_attr(devattr)->index; in temp_max_store()
1240 mutex_lock(&data->update_lock); in temp_max_store()
1241 data->temp_max[nr] = tmp; in temp_max_store()
1243 mutex_unlock(&data->update_lock); in temp_max_store()
1251 int nr = to_sensor_dev_attr(devattr)->index; in temp_max_hyst_show()
1254 u16 tmp = data->temp_max_hyst[nr]; in temp_max_hyst_show()
1263 int nr = to_sensor_dev_attr(devattr)->index; in temp_max_hyst_store()
1274 mutex_lock(&data->update_lock); in temp_max_hyst_store()
1275 data->temp_max_hyst[nr] = tmp; in temp_max_hyst_store()
1277 mutex_unlock(&data->update_lock); in temp_max_hyst_store()
1295 int nr = to_sensor_dev_attr(devattr)->index; in temp_type_show()
1297 return sprintf(buf, "%ld\n", (long) data->sens[nr]); in temp_type_show()
1304 int nr = to_sensor_dev_attr(devattr)->index; in temp_type_store()
1314 mutex_lock(&data->update_lock); in temp_type_store()
1324 data->sens[nr] = val; in temp_type_store()
1333 data->sens[nr] = val; in temp_type_store()
1343 data->sens[nr] = val; in temp_type_store()
1352 mutex_unlock(&data->update_lock); in temp_type_store()
1364 return sprintf(buf, "%ld\n", (long) data->alarms); in alarms_show()
1395 (long)BEEP_MASK_FROM_REG(data->beep_mask)); in beep_mask_show()
1410 mutex_lock(&data->update_lock); in beep_mask_store()
1413 data->beep_mask = (data->beep_mask & 0x8000) in beep_mask_store()
1416 data->beep_mask & 0xff); in beep_mask_store()
1418 ((data->beep_mask) >> 16) & 0xff); in beep_mask_store()
1420 (data->beep_mask >> 8) & 0xff); in beep_mask_store()
1422 mutex_unlock(&data->update_lock); in beep_mask_store()
1431 int nr = to_sensor_dev_attr(devattr)->index; in pwm_show()
1433 return sprintf(buf, "%ld\n", (long) data->pwm[nr]); in pwm_show()
1440 int nr = to_sensor_dev_attr(devattr)->index; in pwm_store()
1449 mutex_lock(&data->update_lock); in pwm_store()
1451 if (data->type == w83627thf) { in pwm_store()
1452 /* bits 0-3 are reserved in 627THF */ in pwm_store()
1453 data->pwm[nr] = PWM_TO_REG(val) & 0xf0; in pwm_store()
1455 W836X7HF_REG_PWM(data->type, nr), in pwm_store()
1456 data->pwm[nr] | in pwm_store()
1458 W836X7HF_REG_PWM(data->type, nr)) & 0x0f)); in pwm_store()
1460 data->pwm[nr] = PWM_TO_REG(val); in pwm_store()
1462 W836X7HF_REG_PWM(data->type, nr), in pwm_store()
1463 data->pwm[nr]); in pwm_store()
1466 mutex_unlock(&data->update_lock); in pwm_store()
1479 return sprintf(buf, "%s\n", data->name); in name_show()
1519 int nr = to_sensor_dev_attr(devattr)->index; in pwm_freq_show()
1521 if (data->type == w83627hf) in pwm_freq_show()
1523 pwm_freq_from_reg_627hf(data->pwm_freq[nr])); in pwm_freq_show()
1526 pwm_freq_from_reg(data->pwm_freq[nr])); in pwm_freq_show()
1533 int nr = to_sensor_dev_attr(devattr)->index; in pwm_freq_store()
1543 mutex_lock(&data->update_lock); in pwm_freq_store()
1545 if (data->type == w83627hf) { in pwm_freq_store()
1546 data->pwm_freq[nr] = pwm_freq_to_reg_627hf(val); in pwm_freq_store()
1548 (data->pwm_freq[nr] << (nr*4)) | in pwm_freq_store()
1552 data->pwm_freq[nr] = pwm_freq_to_reg(val); in pwm_freq_store()
1554 data->pwm_freq[nr]); in pwm_freq_store()
1557 mutex_unlock(&data->update_lock); in pwm_freq_store()
1569 return sprintf(buf, "%ld\n", (long) vid_from_reg(data->vid, data->vrm)); in cpu0_vid_show()
1578 return sprintf(buf, "%ld\n", (long) data->vrm); in vrm_show()
1594 return -EINVAL; in vrm_store()
1595 data->vrm = val; in vrm_store()
1606 int nr = to_sensor_dev_attr(devattr)->index; in pwm_enable_show()
1608 return sprintf(buf, "%d\n", data->pwm_enable[nr]); in pwm_enable_show()
1615 int nr = to_sensor_dev_attr(devattr)->index; in pwm_enable_store()
1626 return -EINVAL; in pwm_enable_store()
1627 mutex_lock(&data->update_lock); in pwm_enable_store()
1628 data->pwm_enable[nr] = val; in pwm_enable_store()
1631 reg |= (val - 1) << W83627THF_PWM_ENABLE_SHIFT[nr]; in pwm_enable_store()
1633 mutex_unlock(&data->update_lock); in pwm_enable_store()
1667 struct device *dev = &pdev->dev; in w83627hf_probe()
1682 if (!devm_request_region(dev, res->start, WINB_REGION_SIZE, DRVNAME)) { in w83627hf_probe()
1683 dev_err(dev, "Failed to request region 0x%lx-0x%lx\n", in w83627hf_probe()
1684 (unsigned long)res->start, in w83627hf_probe()
1685 (unsigned long)(res->start + WINB_REGION_SIZE - 1)); in w83627hf_probe()
1686 return -EBUSY; in w83627hf_probe()
1691 return -ENOMEM; in w83627hf_probe()
1693 data->addr = res->start; in w83627hf_probe()
1694 data->type = sio_data->type; in w83627hf_probe()
1695 data->name = names[sio_data->type]; in w83627hf_probe()
1696 mutex_init(&data->lock); in w83627hf_probe()
1697 mutex_init(&data->update_lock); in w83627hf_probe()
1705 data->fan_min[i] = w83627hf_read_value( in w83627hf_probe()
1710 err = sysfs_create_group(&dev->kobj, &w83627hf_group); in w83627hf_probe()
1714 /* Register chip-specific device attributes */ in w83627hf_probe()
1715 if (data->type == w83627hf || data->type == w83697hf) in w83627hf_probe()
1742 if (data->type != w83697hf) in w83627hf_probe()
1777 if (data->type != w83697hf && data->vid != 0xff) { in w83627hf_probe()
1779 data->vrm = vid_which_vrm(); in w83627hf_probe()
1786 if (data->type == w83627thf || data->type == w83637hf in w83627hf_probe()
1787 || data->type == w83687thf) { in w83627hf_probe()
1793 if (data->type == w83637hf || data->type == w83687thf) in w83627hf_probe()
1802 if (data->type != w83627hf) in w83627hf_probe()
1809 if (data->type == w83627thf || data->type == w83637hf in w83627hf_probe()
1810 || data->type == w83687thf) { in w83627hf_probe()
1817 data->hwmon_dev = hwmon_device_register(dev); in w83627hf_probe()
1818 if (IS_ERR(data->hwmon_dev)) { in w83627hf_probe()
1819 err = PTR_ERR(data->hwmon_dev); in w83627hf_probe()
1826 sysfs_remove_group(&dev->kobj, &w83627hf_group); in w83627hf_probe()
1827 sysfs_remove_group(&dev->kobj, &w83627hf_group_opt); in w83627hf_probe()
1835 hwmon_device_unregister(data->hwmon_dev); in w83627hf_remove()
1837 sysfs_remove_group(&pdev->dev.kobj, &w83627hf_group); in w83627hf_remove()
1838 sysfs_remove_group(&pdev->dev.kobj, &w83627hf_group_opt); in w83627hf_remove()
1864 sio_data->sioaddr = sioaddr; in w83627hf_find()
1869 err = -ENODEV; in w83627hf_find()
1873 sio_data->type = w83627hf; in w83627hf_find()
1876 sio_data->type = w83627thf; in w83627hf_find()
1879 sio_data->type = w83697hf; in w83627hf_find()
1882 sio_data->type = w83637hf; in w83627hf_find()
1885 sio_data->type = w83687thf; in w83627hf_find()
1911 names[sio_data->type], *addr); in w83627hf_find()
1923 .end = address + WINB_REGION_OFFSET + WINB_REGION_SIZE - 1, in w83627hf_device_add()
1935 err = -ENOMEM; in w83627hf_device_add()
1975 return -ENODEV; in sensors_w83627hf_init()