Lines Matching refs:client

368 	struct i2c_client *client;  member
402 static inline s32 adm1032_write_byte(struct i2c_client *client, u8 value) in adm1032_write_byte() argument
404 return i2c_smbus_xfer(client->adapter, client->addr, in adm1032_write_byte()
405 client->flags & ~I2C_CLIENT_PEC, in adm1032_write_byte()
415 static int lm90_read_reg(struct i2c_client *client, u8 reg, u8 *value) in lm90_read_reg() argument
419 if (client->flags & I2C_CLIENT_PEC) { in lm90_read_reg()
420 err = adm1032_write_byte(client, reg); in lm90_read_reg()
422 err = i2c_smbus_read_byte(client); in lm90_read_reg()
424 err = i2c_smbus_read_byte_data(client, reg); in lm90_read_reg()
427 dev_warn(&client->dev, "Register %#02x read failed (%d)\n", in lm90_read_reg()
436 static int lm90_read16(struct i2c_client *client, u8 regh, u8 regl, u16 *value) in lm90_read16() argument
454 if ((err = lm90_read_reg(client, regh, &oldh)) in lm90_read16()
455 || (err = lm90_read_reg(client, regl, &l)) in lm90_read16()
456 || (err = lm90_read_reg(client, regh, &newh))) in lm90_read16()
459 err = lm90_read_reg(client, regl, &l); in lm90_read16()
476 static inline void lm90_select_remote_channel(struct i2c_client *client, in lm90_select_remote_channel() argument
483 lm90_read_reg(client, LM90_REG_R_CONFIG1, &config); in lm90_select_remote_channel()
487 i2c_smbus_write_byte_data(client, LM90_REG_W_CONFIG1, in lm90_select_remote_channel()
497 static void lm90_set_convrate(struct i2c_client *client, struct lm90_data *data, in lm90_set_convrate() argument
512 i2c_smbus_write_byte_data(client, LM90_REG_W_CONVRATE, i); in lm90_set_convrate()
519 struct i2c_client *client = data->client; in lm90_update_device() local
530 dev_dbg(&client->dev, "Updating lm90 data.\n"); in lm90_update_device()
531 lm90_read_reg(client, LM90_REG_R_LOCAL_LOW, in lm90_update_device()
533 lm90_read_reg(client, LM90_REG_R_LOCAL_HIGH, in lm90_update_device()
535 lm90_read_reg(client, LM90_REG_R_LOCAL_CRIT, in lm90_update_device()
537 lm90_read_reg(client, LM90_REG_R_REMOTE_CRIT, in lm90_update_device()
539 lm90_read_reg(client, LM90_REG_R_TCRIT_HYST, &data->temp_hyst); in lm90_update_device()
542 lm90_read16(client, LM90_REG_R_LOCAL_TEMP, in lm90_update_device()
546 if (lm90_read_reg(client, LM90_REG_R_LOCAL_TEMP, in lm90_update_device()
550 lm90_read16(client, LM90_REG_R_REMOTE_TEMPH, in lm90_update_device()
554 if (lm90_read_reg(client, LM90_REG_R_REMOTE_LOWH, &h) == 0) { in lm90_update_device()
557 && lm90_read_reg(client, LM90_REG_R_REMOTE_LOWL, in lm90_update_device()
561 if (lm90_read_reg(client, LM90_REG_R_REMOTE_HIGHH, &h) == 0) { in lm90_update_device()
564 && lm90_read_reg(client, LM90_REG_R_REMOTE_HIGHL, in lm90_update_device()
570 if (lm90_read_reg(client, LM90_REG_R_REMOTE_OFFSH, in lm90_update_device()
572 && lm90_read_reg(client, LM90_REG_R_REMOTE_OFFSL, in lm90_update_device()
577 lm90_read_reg(client, MAX6659_REG_R_LOCAL_EMERG, in lm90_update_device()
579 lm90_read_reg(client, MAX6659_REG_R_REMOTE_EMERG, in lm90_update_device()
582 lm90_read_reg(client, LM90_REG_R_STATUS, &alarms); in lm90_update_device()
586 lm90_select_remote_channel(client, data, 1); in lm90_update_device()
587 lm90_read_reg(client, LM90_REG_R_REMOTE_CRIT, in lm90_update_device()
589 lm90_read_reg(client, MAX6659_REG_R_REMOTE_EMERG, in lm90_update_device()
591 lm90_read16(client, LM90_REG_R_REMOTE_TEMPH, in lm90_update_device()
594 if (!lm90_read_reg(client, LM90_REG_R_REMOTE_LOWH, &h)) in lm90_update_device()
596 if (!lm90_read_reg(client, LM90_REG_R_REMOTE_HIGHH, &h)) in lm90_update_device()
598 lm90_select_remote_channel(client, data, 0); in lm90_update_device()
600 if (!lm90_read_reg(client, MAX6696_REG_R_STATUS2, in lm90_update_device()
613 lm90_read_reg(client, LM90_REG_R_CONFIG1, &config); in lm90_update_device()
615 dev_dbg(&client->dev, "Re-enabling ALERT#\n"); in lm90_update_device()
616 i2c_smbus_write_byte_data(client, in lm90_update_device()
799 struct i2c_client *client = data->client; in set_temp8() local
820 lm90_select_remote_channel(client, data, nr >= 6); in set_temp8()
821 i2c_smbus_write_byte_data(client, reg[nr], data->temp8[nr]); in set_temp8()
822 lm90_select_remote_channel(client, data, 0); in set_temp8()
866 struct i2c_client *client = data->client; in set_temp11() local
890 lm90_select_remote_channel(client, data, reg[nr].channel); in set_temp11()
891 i2c_smbus_write_byte_data(client, reg[nr].high, in set_temp11()
894 i2c_smbus_write_byte_data(client, reg[nr].low, in set_temp11()
896 lm90_select_remote_channel(client, data, 0); in set_temp11()
928 struct i2c_client *client = data->client; in set_temphyst() local
946 i2c_smbus_write_byte_data(client, LM90_REG_W_TCRIT_HYST, in set_temphyst()
982 struct i2c_client *client = data->client; in set_update_interval() local
991 lm90_set_convrate(client, data, clamp_val(val, 0, 100000)); in set_update_interval()
1157 struct i2c_client *client = to_i2c_client(dev); in show_pec() local
1158 return sprintf(buf, "%d\n", !!(client->flags & I2C_CLIENT_PEC)); in show_pec()
1164 struct i2c_client *client = to_i2c_client(dev); in set_pec() local
1174 client->flags &= ~I2C_CLIENT_PEC; in set_pec()
1177 client->flags |= I2C_CLIENT_PEC; in set_pec()
1193 static int lm90_detect(struct i2c_client *client, in lm90_detect() argument
1196 struct i2c_adapter *adapter = client->adapter; in lm90_detect()
1197 int address = client->addr; in lm90_detect()
1205 man_id = i2c_smbus_read_byte_data(client, LM90_REG_R_MAN_ID); in lm90_detect()
1206 chip_id = i2c_smbus_read_byte_data(client, LM90_REG_R_CHIP_ID); in lm90_detect()
1207 config1 = i2c_smbus_read_byte_data(client, LM90_REG_R_CONFIG1); in lm90_detect()
1208 convrate = i2c_smbus_read_byte_data(client, LM90_REG_R_CONVRATE); in lm90_detect()
1213 config2 = i2c_smbus_read_byte_data(client, LM90_REG_R_CONFIG2); in lm90_detect()
1278 emerg = i2c_smbus_read_byte_data(client, in lm90_detect()
1280 man_id = i2c_smbus_read_byte_data(client, in lm90_detect()
1282 emerg2 = i2c_smbus_read_byte_data(client, in lm90_detect()
1284 status2 = i2c_smbus_read_byte_data(client, in lm90_detect()
1385 local_ext = i2c_smbus_read_byte_data(client, in lm90_detect()
1407 static void lm90_restore_conf(struct i2c_client *client, struct lm90_data *data) in lm90_restore_conf() argument
1410 i2c_smbus_write_byte_data(client, LM90_REG_W_CONVRATE, in lm90_restore_conf()
1412 i2c_smbus_write_byte_data(client, LM90_REG_W_CONFIG1, in lm90_restore_conf()
1416 static void lm90_init_client(struct i2c_client *client, struct lm90_data *data) in lm90_init_client() argument
1420 if (lm90_read_reg(client, LM90_REG_R_CONVRATE, &convrate) < 0) { in lm90_init_client()
1421 dev_warn(&client->dev, "Failed to read convrate register!\n"); in lm90_init_client()
1429 lm90_set_convrate(client, data, 500); /* 500ms; 2Hz conversion rate */ in lm90_init_client()
1430 if (lm90_read_reg(client, LM90_REG_R_CONFIG1, &config) < 0) { in lm90_init_client()
1431 dev_warn(&client->dev, "Initialization failed!\n"); in lm90_init_client()
1458 i2c_smbus_write_byte_data(client, LM90_REG_W_CONFIG1, config); in lm90_init_client()
1461 static bool lm90_is_tripped(struct i2c_client *client, u16 *status) in lm90_is_tripped() argument
1463 struct lm90_data *data = i2c_get_clientdata(client); in lm90_is_tripped()
1466 lm90_read_reg(client, LM90_REG_R_STATUS, &st); in lm90_is_tripped()
1469 lm90_read_reg(client, MAX6696_REG_R_STATUS2, &st2); in lm90_is_tripped()
1478 dev_warn(&client->dev, in lm90_is_tripped()
1482 dev_warn(&client->dev, in lm90_is_tripped()
1485 dev_warn(&client->dev, in lm90_is_tripped()
1489 dev_warn(&client->dev, in lm90_is_tripped()
1492 dev_warn(&client->dev, in lm90_is_tripped()
1500 struct i2c_client *client = dev_id; in lm90_irq_thread() local
1503 if (lm90_is_tripped(client, &status)) in lm90_irq_thread()
1509 static int lm90_probe(struct i2c_client *client, in lm90_probe() argument
1512 struct device *dev = &client->dev; in lm90_probe()
1533 data->client = client; in lm90_probe()
1534 i2c_set_clientdata(client, data); in lm90_probe()
1543 client->flags &= ~I2C_CLIENT_PEC; in lm90_probe()
1560 lm90_init_client(client, data); in lm90_probe()
1577 if (client->flags & I2C_CLIENT_PEC) { in lm90_probe()
1583 data->hwmon_dev = hwmon_device_register_with_groups(dev, client->name, in lm90_probe()
1590 if (client->irq) { in lm90_probe()
1591 dev_dbg(dev, "IRQ: %d\n", client->irq); in lm90_probe()
1592 err = devm_request_threaded_irq(dev, client->irq, in lm90_probe()
1595 "lm90", client); in lm90_probe()
1597 dev_err(dev, "cannot request IRQ %d\n", client->irq); in lm90_probe()
1609 lm90_restore_conf(client, data); in lm90_probe()
1615 static int lm90_remove(struct i2c_client *client) in lm90_remove() argument
1617 struct lm90_data *data = i2c_get_clientdata(client); in lm90_remove()
1620 device_remove_file(&client->dev, &dev_attr_pec); in lm90_remove()
1621 lm90_restore_conf(client, data); in lm90_remove()
1627 static void lm90_alert(struct i2c_client *client, unsigned int flag) in lm90_alert() argument
1631 if (lm90_is_tripped(client, &alarms)) { in lm90_alert()
1637 struct lm90_data *data = i2c_get_clientdata(client); in lm90_alert()
1642 dev_dbg(&client->dev, "Disabling ALERT#\n"); in lm90_alert()
1643 lm90_read_reg(client, LM90_REG_R_CONFIG1, &config); in lm90_alert()
1644 i2c_smbus_write_byte_data(client, LM90_REG_W_CONFIG1, in lm90_alert()
1648 dev_info(&client->dev, "Everything OK\n"); in lm90_alert()