Lines Matching refs:client

218 static int asb100_read_value(struct i2c_client *client, u16 reg);
219 static void asb100_write_value(struct i2c_client *client, u16 reg, u16 val);
221 static int asb100_probe(struct i2c_client *client,
223 static int asb100_detect(struct i2c_client *client,
225 static int asb100_remove(struct i2c_client *client);
227 static void asb100_init_client(struct i2c_client *client);
266 struct i2c_client *client = to_i2c_client(dev); \
267 struct asb100_data *data = i2c_get_clientdata(client); \
274 asb100_write_value(client, ASB100_REG_IN_##REG(nr), \
330 struct i2c_client *client = to_i2c_client(dev); in set_fan_min() local
331 struct asb100_data *data = i2c_get_clientdata(client); in set_fan_min()
341 asb100_write_value(client, ASB100_REG_FAN_MIN(nr), data->fan_min[nr]); in set_fan_min()
356 struct i2c_client *client = to_i2c_client(dev); in set_fan_div() local
357 struct asb100_data *data = i2c_get_clientdata(client); in set_fan_div()
375 reg = asb100_read_value(client, ASB100_REG_VID_FANDIV); in set_fan_div()
377 asb100_write_value(client, ASB100_REG_VID_FANDIV, reg); in set_fan_div()
381 reg = asb100_read_value(client, ASB100_REG_VID_FANDIV); in set_fan_div()
383 asb100_write_value(client, ASB100_REG_VID_FANDIV, reg); in set_fan_div()
387 reg = asb100_read_value(client, ASB100_REG_PIN); in set_fan_div()
389 asb100_write_value(client, ASB100_REG_PIN, reg); in set_fan_div()
395 asb100_write_value(client, ASB100_REG_FAN_MIN(nr), data->fan_min[nr]); in set_fan_div()
448 struct i2c_client *client = to_i2c_client(dev); \
449 struct asb100_data *data = i2c_get_clientdata(client); \
463 asb100_write_value(client, ASB100_REG_TEMP_##REG(nr+1), \
563 struct i2c_client *client = to_i2c_client(dev); in set_pwm1() local
564 struct asb100_data *data = i2c_get_clientdata(client); in set_pwm1()
575 asb100_write_value(client, ASB100_REG_PWM1, data->pwm); in set_pwm1()
590 struct i2c_client *client = to_i2c_client(dev); in set_pwm_enable1() local
591 struct asb100_data *data = i2c_get_clientdata(client); in set_pwm_enable1()
602 asb100_write_value(client, ASB100_REG_PWM1, data->pwm); in set_pwm_enable1()
682 static int asb100_detect_subclients(struct i2c_client *client) in asb100_detect_subclients() argument
685 int address = client->addr; in asb100_detect_subclients()
687 struct asb100_data *data = i2c_get_clientdata(client); in asb100_detect_subclients()
688 struct i2c_adapter *adapter = client->adapter; in asb100_detect_subclients()
696 dev_err(&client->dev, in asb100_detect_subclients()
703 asb100_write_value(client, ASB100_REG_I2C_SUBADDR, in asb100_detect_subclients()
709 int val = asb100_read_value(client, ASB100_REG_I2C_SUBADDR); in asb100_detect_subclients()
715 dev_err(&client->dev, in asb100_detect_subclients()
724 dev_err(&client->dev, in asb100_detect_subclients()
733 dev_err(&client->dev, in asb100_detect_subclients()
750 static int asb100_detect(struct i2c_client *client, in asb100_detect() argument
753 struct i2c_adapter *adapter = client->adapter; in asb100_detect()
761 val1 = i2c_smbus_read_byte_data(client, ASB100_REG_BANK); in asb100_detect()
762 val2 = i2c_smbus_read_byte_data(client, ASB100_REG_CHIPMAN); in asb100_detect()
775 i2c_smbus_write_byte_data(client, ASB100_REG_BANK, in asb100_detect()
776 (i2c_smbus_read_byte_data(client, ASB100_REG_BANK) & 0x78) in asb100_detect()
780 val1 = i2c_smbus_read_byte_data(client, ASB100_REG_WCHIPID); in asb100_detect()
781 val2 = i2c_smbus_read_byte_data(client, ASB100_REG_CHIPMAN); in asb100_detect()
791 static int asb100_probe(struct i2c_client *client, in asb100_probe() argument
797 data = devm_kzalloc(&client->dev, sizeof(struct asb100_data), in asb100_probe()
802 i2c_set_clientdata(client, data); in asb100_probe()
807 err = asb100_detect_subclients(client); in asb100_probe()
812 asb100_init_client(client); in asb100_probe()
815 data->fan_min[0] = asb100_read_value(client, ASB100_REG_FAN_MIN(0)); in asb100_probe()
816 data->fan_min[1] = asb100_read_value(client, ASB100_REG_FAN_MIN(1)); in asb100_probe()
817 data->fan_min[2] = asb100_read_value(client, ASB100_REG_FAN_MIN(2)); in asb100_probe()
820 err = sysfs_create_group(&client->dev.kobj, &asb100_group); in asb100_probe()
824 data->hwmon_dev = hwmon_device_register(&client->dev); in asb100_probe()
833 sysfs_remove_group(&client->dev.kobj, &asb100_group); in asb100_probe()
840 static int asb100_remove(struct i2c_client *client) in asb100_remove() argument
842 struct asb100_data *data = i2c_get_clientdata(client); in asb100_remove()
845 sysfs_remove_group(&client->dev.kobj, &asb100_group); in asb100_remove()
857 static int asb100_read_value(struct i2c_client *client, u16 reg) in asb100_read_value() argument
859 struct asb100_data *data = i2c_get_clientdata(client); in asb100_read_value()
868 i2c_smbus_write_byte_data(client, ASB100_REG_BANK, bank); in asb100_read_value()
871 res = i2c_smbus_read_byte_data(client, reg & 0xff); in asb100_read_value()
895 i2c_smbus_write_byte_data(client, ASB100_REG_BANK, 0); in asb100_read_value()
902 static void asb100_write_value(struct i2c_client *client, u16 reg, u16 value) in asb100_write_value() argument
904 struct asb100_data *data = i2c_get_clientdata(client); in asb100_write_value()
913 i2c_smbus_write_byte_data(client, ASB100_REG_BANK, bank); in asb100_write_value()
916 i2c_smbus_write_byte_data(client, reg & 0xff, value & 0xff); in asb100_write_value()
936 i2c_smbus_write_byte_data(client, ASB100_REG_BANK, 0); in asb100_write_value()
941 static void asb100_init_client(struct i2c_client *client) in asb100_init_client() argument
943 struct asb100_data *data = i2c_get_clientdata(client); in asb100_init_client()
948 asb100_write_value(client, ASB100_REG_CONFIG, in asb100_init_client()
949 (asb100_read_value(client, ASB100_REG_CONFIG) & 0xf7) | 0x01); in asb100_init_client()
954 struct i2c_client *client = to_i2c_client(dev); in asb100_update_device() local
955 struct asb100_data *data = i2c_get_clientdata(client); in asb100_update_device()
963 dev_dbg(&client->dev, "starting device update...\n"); in asb100_update_device()
967 data->in[i] = asb100_read_value(client, in asb100_update_device()
969 data->in_min[i] = asb100_read_value(client, in asb100_update_device()
971 data->in_max[i] = asb100_read_value(client, in asb100_update_device()
977 data->fan[i] = asb100_read_value(client, in asb100_update_device()
979 data->fan_min[i] = asb100_read_value(client, in asb100_update_device()
985 data->temp[i-1] = asb100_read_value(client, in asb100_update_device()
987 data->temp_max[i-1] = asb100_read_value(client, in asb100_update_device()
989 data->temp_hyst[i-1] = asb100_read_value(client, in asb100_update_device()
994 i = asb100_read_value(client, ASB100_REG_VID_FANDIV); in asb100_update_device()
996 data->vid |= (asb100_read_value(client, in asb100_update_device()
1000 data->fan_div[2] = (asb100_read_value(client, in asb100_update_device()
1004 data->pwm = asb100_read_value(client, ASB100_REG_PWM1); in asb100_update_device()
1007 data->alarms = asb100_read_value(client, ASB100_REG_ALARM1) + in asb100_update_device()
1008 (asb100_read_value(client, ASB100_REG_ALARM2) << 8); in asb100_update_device()
1013 dev_dbg(&client->dev, "... device update complete\n"); in asb100_update_device()