Lines Matching refs:data
233 static int pc87360_read_value(struct pc87360_data *data, u8 ldi, u8 bank,
235 static void pc87360_write_value(struct pc87360_data *data, u8 ldi, u8 bank,
261 struct pc87360_data *data = pc87360_update_device(dev); in show_fan_input() local
262 return sprintf(buf, "%u\n", FAN_FROM_REG(data->fan[attr->index], in show_fan_input()
263 FAN_DIV_FROM_REG(data->fan_status[attr->index]))); in show_fan_input()
269 struct pc87360_data *data = pc87360_update_device(dev); in show_fan_min() local
270 return sprintf(buf, "%u\n", FAN_FROM_REG(data->fan_min[attr->index], in show_fan_min()
271 FAN_DIV_FROM_REG(data->fan_status[attr->index]))); in show_fan_min()
277 struct pc87360_data *data = pc87360_update_device(dev); in show_fan_div() local
279 FAN_DIV_FROM_REG(data->fan_status[attr->index])); in show_fan_div()
285 struct pc87360_data *data = pc87360_update_device(dev); in show_fan_status() local
287 FAN_STATUS_FROM_REG(data->fan_status[attr->index])); in show_fan_status()
294 struct pc87360_data *data = dev_get_drvdata(dev); in set_fan_min() local
302 mutex_lock(&data->update_lock); in set_fan_min()
304 FAN_DIV_FROM_REG(data->fan_status[attr->index])); in set_fan_min()
308 && (data->fan_status[attr->index] & 0x60) != 0x60) { in set_fan_min()
310 data->fan[attr->index] >>= 1; in set_fan_min()
311 data->fan_status[attr->index] += 0x20; in set_fan_min()
313 data->fan_min[attr->index] = fan_min > 255 ? 255 : fan_min; in set_fan_min()
314 pc87360_write_value(data, LD_FAN, NO_BANK, in set_fan_min()
316 data->fan_min[attr->index]); in set_fan_min()
319 pc87360_write_value(data, LD_FAN, NO_BANK, in set_fan_min()
321 data->fan_status[attr->index] & 0xF9); in set_fan_min()
322 mutex_unlock(&data->update_lock); in set_fan_min()
360 struct pc87360_data *data = pc87360_update_device(dev); in show_pwm() local
362 PWM_FROM_REG(data->pwm[attr->index], in show_pwm()
363 FAN_CONFIG_INVERT(data->fan_conf, in show_pwm()
370 struct pc87360_data *data = dev_get_drvdata(dev); in set_pwm() local
378 mutex_lock(&data->update_lock); in set_pwm()
379 data->pwm[attr->index] = PWM_TO_REG(val, in set_pwm()
380 FAN_CONFIG_INVERT(data->fan_conf, attr->index)); in set_pwm()
381 pc87360_write_value(data, LD_FAN, NO_BANK, PC87360_REG_PWM(attr->index), in set_pwm()
382 data->pwm[attr->index]); in set_pwm()
383 mutex_unlock(&data->update_lock); in set_pwm()
409 struct pc87360_data *data = pc87360_update_device(dev); in show_in_input() local
410 return sprintf(buf, "%u\n", IN_FROM_REG(data->in[attr->index], in show_in_input()
411 data->in_vref)); in show_in_input()
417 struct pc87360_data *data = pc87360_update_device(dev); in show_in_min() local
418 return sprintf(buf, "%u\n", IN_FROM_REG(data->in_min[attr->index], in show_in_min()
419 data->in_vref)); in show_in_min()
425 struct pc87360_data *data = pc87360_update_device(dev); in show_in_max() local
426 return sprintf(buf, "%u\n", IN_FROM_REG(data->in_max[attr->index], in show_in_max()
427 data->in_vref)); in show_in_max()
433 struct pc87360_data *data = pc87360_update_device(dev); in show_in_status() local
434 return sprintf(buf, "%u\n", data->in_status[attr->index]); in show_in_status()
440 struct pc87360_data *data = dev_get_drvdata(dev); in set_in_min() local
448 mutex_lock(&data->update_lock); in set_in_min()
449 data->in_min[attr->index] = IN_TO_REG(val, data->in_vref); in set_in_min()
450 pc87360_write_value(data, LD_IN, attr->index, PC87365_REG_IN_MIN, in set_in_min()
451 data->in_min[attr->index]); in set_in_min()
452 mutex_unlock(&data->update_lock); in set_in_min()
459 struct pc87360_data *data = dev_get_drvdata(dev); in set_in_max() local
467 mutex_lock(&data->update_lock); in set_in_max()
468 data->in_max[attr->index] = IN_TO_REG(val, in set_in_max()
469 data->in_vref); in set_in_max()
470 pc87360_write_value(data, LD_IN, attr->index, PC87365_REG_IN_MAX, in set_in_max()
471 data->in_max[attr->index]); in set_in_max()
472 mutex_unlock(&data->update_lock); in set_in_max()
543 struct pc87360_data *data = pc87360_update_device(dev); in show_in_min_alarm() local
546 return sprintf(buf, "%u\n", !!(data->in_status[nr] & CHAN_ALM_MIN)); in show_in_min_alarm()
551 struct pc87360_data *data = pc87360_update_device(dev); in show_in_max_alarm() local
554 return sprintf(buf, "%u\n", !!(data->in_status[nr] & CHAN_ALM_MAX)); in show_in_max_alarm()
595 struct pc87360_data *data = pc87360_update_device(dev); in show_vid() local
596 return sprintf(buf, "%u\n", vid_from_reg(data->vid, data->vrm)); in show_vid()
603 struct pc87360_data *data = dev_get_drvdata(dev); in show_vrm() local
604 return sprintf(buf, "%u\n", data->vrm); in show_vrm()
609 struct pc87360_data *data = dev_get_drvdata(dev); in set_vrm() local
620 data->vrm = val; in set_vrm()
628 struct pc87360_data *data = pc87360_update_device(dev); in show_in_alarms() local
629 return sprintf(buf, "%u\n", data->in_alarms); in show_in_alarms()
658 struct pc87360_data *data = pc87360_update_device(dev); in show_therm_input() local
659 return sprintf(buf, "%u\n", IN_FROM_REG(data->in[attr->index], in show_therm_input()
660 data->in_vref)); in show_therm_input()
666 struct pc87360_data *data = pc87360_update_device(dev); in show_therm_min() local
667 return sprintf(buf, "%u\n", IN_FROM_REG(data->in_min[attr->index], in show_therm_min()
668 data->in_vref)); in show_therm_min()
674 struct pc87360_data *data = pc87360_update_device(dev); in show_therm_max() local
675 return sprintf(buf, "%u\n", IN_FROM_REG(data->in_max[attr->index], in show_therm_max()
676 data->in_vref)); in show_therm_max()
682 struct pc87360_data *data = pc87360_update_device(dev); in show_therm_crit() local
683 return sprintf(buf, "%u\n", IN_FROM_REG(data->in_crit[attr->index-11], in show_therm_crit()
684 data->in_vref)); in show_therm_crit()
690 struct pc87360_data *data = pc87360_update_device(dev); in show_therm_status() local
691 return sprintf(buf, "%u\n", data->in_status[attr->index]); in show_therm_status()
699 struct pc87360_data *data = dev_get_drvdata(dev); in set_therm_min() local
707 mutex_lock(&data->update_lock); in set_therm_min()
708 data->in_min[attr->index] = IN_TO_REG(val, data->in_vref); in set_therm_min()
709 pc87360_write_value(data, LD_IN, attr->index, PC87365_REG_TEMP_MIN, in set_therm_min()
710 data->in_min[attr->index]); in set_therm_min()
711 mutex_unlock(&data->update_lock); in set_therm_min()
720 struct pc87360_data *data = dev_get_drvdata(dev); in set_therm_max() local
728 mutex_lock(&data->update_lock); in set_therm_max()
729 data->in_max[attr->index] = IN_TO_REG(val, data->in_vref); in set_therm_max()
730 pc87360_write_value(data, LD_IN, attr->index, PC87365_REG_TEMP_MAX, in set_therm_max()
731 data->in_max[attr->index]); in set_therm_max()
732 mutex_unlock(&data->update_lock); in set_therm_max()
740 struct pc87360_data *data = dev_get_drvdata(dev); in set_therm_crit() local
748 mutex_lock(&data->update_lock); in set_therm_crit()
749 data->in_crit[attr->index-11] = IN_TO_REG(val, data->in_vref); in set_therm_crit()
750 pc87360_write_value(data, LD_IN, attr->index, PC87365_REG_TEMP_CRIT, in set_therm_crit()
751 data->in_crit[attr->index-11]); in set_therm_crit()
752 mutex_unlock(&data->update_lock); in set_therm_crit()
803 struct pc87360_data *data = pc87360_update_device(dev); in show_therm_min_alarm() local
806 return sprintf(buf, "%u\n", !!(data->in_status[nr] & CHAN_ALM_MIN)); in show_therm_min_alarm()
811 struct pc87360_data *data = pc87360_update_device(dev); in show_therm_max_alarm() local
814 return sprintf(buf, "%u\n", !!(data->in_status[nr] & CHAN_ALM_MAX)); in show_therm_max_alarm()
819 struct pc87360_data *data = pc87360_update_device(dev); in show_therm_crit_alarm() local
822 return sprintf(buf, "%u\n", !!(data->in_status[nr] & TEMP_ALM_CRIT)); in show_therm_crit_alarm()
874 struct pc87360_data *data = pc87360_update_device(dev); in show_temp_input() local
875 return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp[attr->index])); in show_temp_input()
882 struct pc87360_data *data = pc87360_update_device(dev); in show_temp_min() local
883 return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_min[attr->index])); in show_temp_min()
890 struct pc87360_data *data = pc87360_update_device(dev); in show_temp_max() local
891 return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp_max[attr->index])); in show_temp_max()
898 struct pc87360_data *data = pc87360_update_device(dev); in show_temp_crit() local
900 TEMP_FROM_REG(data->temp_crit[attr->index])); in show_temp_crit()
907 struct pc87360_data *data = pc87360_update_device(dev); in show_temp_status() local
908 return sprintf(buf, "%d\n", data->temp_status[attr->index]); in show_temp_status()
916 struct pc87360_data *data = dev_get_drvdata(dev); in set_temp_min() local
924 mutex_lock(&data->update_lock); in set_temp_min()
925 data->temp_min[attr->index] = TEMP_TO_REG(val); in set_temp_min()
926 pc87360_write_value(data, LD_TEMP, attr->index, PC87365_REG_TEMP_MIN, in set_temp_min()
927 data->temp_min[attr->index]); in set_temp_min()
928 mutex_unlock(&data->update_lock); in set_temp_min()
937 struct pc87360_data *data = dev_get_drvdata(dev); in set_temp_max() local
945 mutex_lock(&data->update_lock); in set_temp_max()
946 data->temp_max[attr->index] = TEMP_TO_REG(val); in set_temp_max()
947 pc87360_write_value(data, LD_TEMP, attr->index, PC87365_REG_TEMP_MAX, in set_temp_max()
948 data->temp_max[attr->index]); in set_temp_max()
949 mutex_unlock(&data->update_lock); in set_temp_max()
958 struct pc87360_data *data = dev_get_drvdata(dev); in set_temp_crit() local
966 mutex_lock(&data->update_lock); in set_temp_crit()
967 data->temp_crit[attr->index] = TEMP_TO_REG(val); in set_temp_crit()
968 pc87360_write_value(data, LD_TEMP, attr->index, PC87365_REG_TEMP_CRIT, in set_temp_crit()
969 data->temp_crit[attr->index]); in set_temp_crit()
970 mutex_unlock(&data->update_lock); in set_temp_crit()
1012 struct pc87360_data *data = pc87360_update_device(dev); in show_temp_alarms() local
1013 return sprintf(buf, "%u\n", data->temp_alarms); in show_temp_alarms()
1027 struct pc87360_data *data = pc87360_update_device(dev); in show_temp_min_alarm() local
1030 return sprintf(buf, "%u\n", !!(data->temp_status[nr] & CHAN_ALM_MIN)); in show_temp_min_alarm()
1036 struct pc87360_data *data = pc87360_update_device(dev); in show_temp_max_alarm() local
1039 return sprintf(buf, "%u\n", !!(data->temp_status[nr] & CHAN_ALM_MAX)); in show_temp_max_alarm()
1045 struct pc87360_data *data = pc87360_update_device(dev); in show_temp_crit_alarm() local
1048 return sprintf(buf, "%u\n", !!(data->temp_status[nr] & TEMP_ALM_CRIT)); in show_temp_crit_alarm()
1073 struct pc87360_data *data = pc87360_update_device(dev); in show_temp_fault() local
1076 return sprintf(buf, "%u\n", !!(data->temp_status[nr] & TEMP_FAULT)); in show_temp_fault()
1112 struct pc87360_data *data = dev_get_drvdata(dev); in show_name() local
1113 return sprintf(buf, "%s\n", data->name); in show_name()
1228 struct pc87360_data *data; in pc87360_probe() local
1234 data = devm_kzalloc(dev, sizeof(struct pc87360_data), GFP_KERNEL); in pc87360_probe()
1235 if (!data) in pc87360_probe()
1241 data->fannr = 2; in pc87360_probe()
1245 data->fannr = 2; in pc87360_probe()
1249 data->fannr = 3; in pc87360_probe()
1253 data->fannr = extra_isa[0] ? 3 : 0; in pc87360_probe()
1254 data->innr = extra_isa[1] ? 11 : 0; in pc87360_probe()
1255 data->tempnr = extra_isa[2] ? 2 : 0; in pc87360_probe()
1259 data->fannr = extra_isa[0] ? 3 : 0; in pc87360_probe()
1260 data->innr = extra_isa[1] ? 14 : 0; in pc87360_probe()
1261 data->tempnr = extra_isa[2] ? 3 : 0; in pc87360_probe()
1265 data->name = name; in pc87360_probe()
1266 mutex_init(&data->lock); in pc87360_probe()
1267 mutex_init(&data->update_lock); in pc87360_probe()
1268 platform_set_drvdata(pdev, data); in pc87360_probe()
1271 data->address[i] = extra_isa[i]; in pc87360_probe()
1272 if (data->address[i] in pc87360_probe()
1283 if (data->fannr) in pc87360_probe()
1284 data->fan_conf = confreg[0] | (confreg[1] << 8); in pc87360_probe()
1291 if (data->innr) { in pc87360_probe()
1292 i = pc87360_read_value(data, LD_IN, NO_BANK, in pc87360_probe()
1294 if (data->tempnr) { in pc87360_probe()
1295 i &= pc87360_read_value(data, LD_TEMP, NO_BANK, in pc87360_probe()
1298 data->in_vref = (i&0x02) ? 3025 : 2966; in pc87360_probe()
1302 data->vid_conf = confreg[3]; in pc87360_probe()
1303 data->vrm = vid_which_vrm(); in pc87360_probe()
1307 for (i = 0; i < data->fannr; i++) { in pc87360_probe()
1308 if (FAN_CONFIG_MONITOR(data->fan_conf, i)) in pc87360_probe()
1309 data->fan_status[i] = pc87360_read_value(data, in pc87360_probe()
1315 if (devid == 0xe9 && data->address[1]) /* PC87366 */ in pc87360_probe()
1323 if (data->innr) { in pc87360_probe()
1329 if (data->innr == 14) { in pc87360_probe()
1337 if (data->tempnr) { in pc87360_probe()
1338 for (i = 0; i < data->tempnr; i++) { in pc87360_probe()
1349 for (i = 0; i < data->fannr; i++) { in pc87360_probe()
1350 if (FAN_CONFIG_MONITOR(data->fan_conf, i)) { in pc87360_probe()
1356 if (FAN_CONFIG_CONTROL(data->fan_conf, i)) { in pc87360_probe()
1367 data->hwmon_dev = hwmon_device_register(dev); in pc87360_probe()
1368 if (IS_ERR(data->hwmon_dev)) { in pc87360_probe()
1369 err = PTR_ERR(data->hwmon_dev); in pc87360_probe()
1381 struct pc87360_data *data = platform_get_drvdata(pdev); in pc87360_remove() local
1383 hwmon_device_unregister(data->hwmon_dev); in pc87360_remove()
1393 static int pc87360_read_value(struct pc87360_data *data, u8 ldi, u8 bank, in pc87360_read_value() argument
1398 mutex_lock(&(data->lock)); in pc87360_read_value()
1400 outb_p(bank, data->address[ldi] + PC87365_REG_BANK); in pc87360_read_value()
1401 res = inb_p(data->address[ldi] + reg); in pc87360_read_value()
1402 mutex_unlock(&(data->lock)); in pc87360_read_value()
1407 static void pc87360_write_value(struct pc87360_data *data, u8 ldi, u8 bank, in pc87360_write_value() argument
1410 mutex_lock(&(data->lock)); in pc87360_write_value()
1412 outb_p(bank, data->address[ldi] + PC87365_REG_BANK); in pc87360_write_value()
1413 outb_p(value, data->address[ldi] + reg); in pc87360_write_value()
1414 mutex_unlock(&(data->lock)); in pc87360_write_value()
1430 struct pc87360_data *data = platform_get_drvdata(pdev); in pc87360_init_device() local
1436 if (init >= 2 && data->innr) { in pc87360_init_device()
1437 reg = pc87360_read_value(data, LD_IN, NO_BANK, in pc87360_init_device()
1441 pc87360_write_value(data, LD_IN, NO_BANK, in pc87360_init_device()
1446 nr = data->innr < 11 ? data->innr : 11; in pc87360_init_device()
1448 reg = pc87360_read_value(data, LD_IN, i, in pc87360_init_device()
1456 pc87360_write_value(data, LD_IN, i, in pc87360_init_device()
1468 for (i = 11; i < data->innr; i++) { in pc87360_init_device()
1469 reg = pc87360_read_value(data, LD_IN, i, in pc87360_init_device()
1478 for (; i < data->tempnr; i++) { in pc87360_init_device()
1479 reg = pc87360_read_value(data, LD_TEMP, i, in pc87360_init_device()
1487 pc87360_write_value(data, LD_TEMP, i, in pc87360_init_device()
1495 for (i = 11; i < data->innr; i++) { in pc87360_init_device()
1501 reg = pc87360_read_value(data, LD_TEMP, in pc87360_init_device()
1511 reg = pc87360_read_value(data, LD_IN, i, in pc87360_init_device()
1517 pc87360_write_value(data, LD_IN, i, in pc87360_init_device()
1525 if (data->innr) { in pc87360_init_device()
1526 reg = pc87360_read_value(data, LD_IN, NO_BANK, in pc87360_init_device()
1532 pc87360_write_value(data, LD_IN, NO_BANK, in pc87360_init_device()
1538 if (data->tempnr) { in pc87360_init_device()
1539 reg = pc87360_read_value(data, LD_TEMP, NO_BANK, in pc87360_init_device()
1545 pc87360_write_value(data, LD_TEMP, NO_BANK, in pc87360_init_device()
1552 pc87360_write_value(data, LD_TEMP, 0xF, 0xA, 0x08); in pc87360_init_device()
1559 pc87360_write_value(data, LD_TEMP, NO_BANK, 0xB, 0x04); in pc87360_init_device()
1560 pc87360_write_value(data, LD_TEMP, NO_BANK, 0xC, 0x35); in pc87360_init_device()
1561 pc87360_write_value(data, LD_TEMP, NO_BANK, 0xD, 0x05); in pc87360_init_device()
1562 pc87360_write_value(data, LD_TEMP, NO_BANK, 0xE, 0x05); in pc87360_init_device()
1569 struct pc87360_data *data = dev_get_drvdata(dev); in pc87360_autodiv() local
1570 u8 old_min = data->fan_min[nr]; in pc87360_autodiv()
1573 if ((data->fan_status[nr] & 0x04) /* overflow flag */ in pc87360_autodiv()
1574 || (data->fan[nr] >= 224)) { /* next to overflow */ in pc87360_autodiv()
1575 if ((data->fan_status[nr] & 0x60) != 0x60) { in pc87360_autodiv()
1576 data->fan_status[nr] += 0x20; in pc87360_autodiv()
1577 data->fan_min[nr] >>= 1; in pc87360_autodiv()
1578 data->fan[nr] >>= 1; in pc87360_autodiv()
1581 FAN_DIV_FROM_REG(data->fan_status[nr]), nr + 1); in pc87360_autodiv()
1585 while (!(data->fan_min[nr] & 0x80) /* min "nails" divider */ in pc87360_autodiv()
1586 && data->fan[nr] < 85 /* bad accuracy */ in pc87360_autodiv()
1587 && (data->fan_status[nr] & 0x60) != 0x00) { in pc87360_autodiv()
1588 data->fan_status[nr] -= 0x20; in pc87360_autodiv()
1589 data->fan_min[nr] <<= 1; in pc87360_autodiv()
1590 data->fan[nr] <<= 1; in pc87360_autodiv()
1593 FAN_DIV_FROM_REG(data->fan_status[nr]), in pc87360_autodiv()
1599 if (old_min != data->fan_min[nr]) { in pc87360_autodiv()
1600 pc87360_write_value(data, LD_FAN, NO_BANK, in pc87360_autodiv()
1602 data->fan_min[nr]); in pc87360_autodiv()
1608 struct pc87360_data *data = dev_get_drvdata(dev); in pc87360_update_device() local
1611 mutex_lock(&data->update_lock); in pc87360_update_device()
1613 if (time_after(jiffies, data->last_updated + HZ * 2) || !data->valid) { in pc87360_update_device()
1617 for (i = 0; i < data->fannr; i++) { in pc87360_update_device()
1618 if (FAN_CONFIG_MONITOR(data->fan_conf, i)) { in pc87360_update_device()
1619 data->fan_status[i] = in pc87360_update_device()
1620 pc87360_read_value(data, LD_FAN, in pc87360_update_device()
1622 data->fan[i] = pc87360_read_value(data, LD_FAN, in pc87360_update_device()
1624 data->fan_min[i] = pc87360_read_value(data, in pc87360_update_device()
1630 pc87360_write_value(data, LD_FAN, NO_BANK, in pc87360_update_device()
1632 data->fan_status[i]); in pc87360_update_device()
1634 if (FAN_CONFIG_CONTROL(data->fan_conf, i)) in pc87360_update_device()
1635 data->pwm[i] = pc87360_read_value(data, LD_FAN, in pc87360_update_device()
1640 for (i = 0; i < data->innr; i++) { in pc87360_update_device()
1641 data->in_status[i] = pc87360_read_value(data, LD_IN, i, in pc87360_update_device()
1644 pc87360_write_value(data, LD_IN, i, in pc87360_update_device()
1646 data->in_status[i]); in pc87360_update_device()
1647 if ((data->in_status[i] & CHAN_READY) == CHAN_READY) { in pc87360_update_device()
1648 data->in[i] = pc87360_read_value(data, LD_IN, in pc87360_update_device()
1651 if (data->in_status[i] & CHAN_ENA) { in pc87360_update_device()
1652 data->in_min[i] = pc87360_read_value(data, in pc87360_update_device()
1655 data->in_max[i] = pc87360_read_value(data, in pc87360_update_device()
1659 data->in_crit[i-11] = in pc87360_update_device()
1660 pc87360_read_value(data, LD_IN, in pc87360_update_device()
1664 if (data->innr) { in pc87360_update_device()
1665 data->in_alarms = pc87360_read_value(data, LD_IN, in pc87360_update_device()
1667 | ((pc87360_read_value(data, LD_IN, in pc87360_update_device()
1670 data->vid = (data->vid_conf & 0xE0) ? in pc87360_update_device()
1671 pc87360_read_value(data, LD_IN, in pc87360_update_device()
1676 for (i = 0; i < data->tempnr; i++) { in pc87360_update_device()
1677 data->temp_status[i] = pc87360_read_value(data, in pc87360_update_device()
1681 pc87360_write_value(data, LD_TEMP, i, in pc87360_update_device()
1683 data->temp_status[i]); in pc87360_update_device()
1684 if ((data->temp_status[i] & CHAN_READY) == CHAN_READY) { in pc87360_update_device()
1685 data->temp[i] = pc87360_read_value(data, in pc87360_update_device()
1689 if (data->temp_status[i] & CHAN_ENA) { in pc87360_update_device()
1690 data->temp_min[i] = pc87360_read_value(data, in pc87360_update_device()
1693 data->temp_max[i] = pc87360_read_value(data, in pc87360_update_device()
1696 data->temp_crit[i] = pc87360_read_value(data, in pc87360_update_device()
1701 if (data->tempnr) { in pc87360_update_device()
1702 data->temp_alarms = pc87360_read_value(data, LD_TEMP, in pc87360_update_device()
1707 data->last_updated = jiffies; in pc87360_update_device()
1708 data->valid = 1; in pc87360_update_device()
1711 mutex_unlock(&data->update_lock); in pc87360_update_device()
1713 return data; in pc87360_update_device()