Lines Matching refs:data

47 	struct mcp4725_data *data = iio_priv(i2c_get_clientdata(
52 outbuf[0] = (data->powerdown_mode + 1) << 4;
54 data->powerdown = true;
56 ret = i2c_master_send(data->client, outbuf, 2);
66 struct mcp4725_data *data = iio_priv(i2c_get_clientdata(
72 outbuf[0] = (data->dac_value >> 8) & 0xf;
73 outbuf[1] = data->dac_value & 0xff;
74 data->powerdown = false;
76 ret = i2c_master_send(data->client, outbuf, 2);
90 struct mcp4725_data *data = iio_priv(indio_dev);
104 inoutbuf[0] |= data->ref_mode << 3;
105 inoutbuf[0] |= data->powerdown ? ((data->powerdown_mode + 1) << 1) : 0;
106 inoutbuf[1] = data->dac_value >> 4;
107 inoutbuf[2] = (data->dac_value & 0xf) << 4;
109 ret = i2c_master_send(data->client, inoutbuf, 3);
118 ret = i2c_master_recv(data->client, inoutbuf, 3);
129 dev_err(&data->client->dev,
163 struct mcp4725_data *data = iio_priv(indio_dev);
165 return data->powerdown_mode;
171 struct mcp4725_data *data = iio_priv(indio_dev);
173 data->powerdown_mode = mode;
181 struct mcp4725_data *data = iio_priv(indio_dev);
183 return sysfs_emit(buf, "%d\n", data->powerdown);
190 struct mcp4725_data *data = iio_priv(indio_dev);
199 ret = mcp4725_suspend(&data->client->dev);
201 ret = mcp4725_resume(&data->client->dev);
279 struct mcp4725_data *data = iio_priv(indio_dev);
289 ret = i2c_master_send(data->client, outbuf, 2);
300 struct mcp4725_data *data = iio_priv(indio_dev);
305 outbuf[0] |= data->ref_mode << 3;
306 if (data->powerdown)
307 outbuf[0] |= data->powerdown << 1;
308 outbuf[1] = data->dac_value >> 4;
309 outbuf[2] = (data->dac_value & 0xf) << 4;
311 ret = i2c_master_send(data->client, outbuf, 3);
324 struct mcp4725_data *data = iio_priv(indio_dev);
329 *val = data->dac_value;
332 if (data->ref_mode == MCP472X_REF_VDD)
333 ret = regulator_get_voltage(data->vdd_reg);
335 ret = regulator_get_voltage(data->vref_reg);
351 struct mcp4725_data *data = iio_priv(indio_dev);
357 data->dac_value = val;
387 struct mcp4725_data *data;
395 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
398 data = iio_priv(indio_dev);
400 data->client = client;
402 data->id = (uintptr_t)device_get_match_data(&client->dev);
404 data->id = id->driver_data;
411 "invalid platform or devicetree data");
417 if (data->id == MCP4725 && pdata->use_vref) {
430 data->ref_mode = MCP472X_REF_VDD;
432 data->ref_mode = pdata->vref_buffered ?
436 data->vdd_reg = devm_regulator_get(&client->dev, "vdd");
437 if (IS_ERR(data->vdd_reg))
438 return PTR_ERR(data->vdd_reg);
440 err = regulator_enable(data->vdd_reg);
445 data->vref_reg = devm_regulator_get(&client->dev, "vref");
446 if (IS_ERR(data->vref_reg)) {
447 err = PTR_ERR(data->vref_reg);
451 err = regulator_enable(data->vref_reg);
463 err = i2c_master_recv(client, inbuf, data->id == MCP4725 ? 3 : 4);
470 data->powerdown = pd > 0;
471 data->powerdown_mode = pd ? pd - 1 : 2; /* largest resistor to gnd */
472 data->dac_value = (inbuf[1] << 4) | (inbuf[2] >> 4);
473 if (data->id == MCP4726)
476 if (data->id == MCP4726 && ref != data->ref_mode) {
479 data->ref_mode, ref, data->ref_mode);
492 if (data->vref_reg)
493 regulator_disable(data->vref_reg);
496 regulator_disable(data->vdd_reg);
504 struct mcp4725_data *data = iio_priv(indio_dev);
508 if (data->vref_reg)
509 regulator_disable(data->vref_reg);
510 regulator_disable(data->vdd_reg);
523 .data = (void *)MCP4725
527 .data = (void *)MCP4726