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);
89 struct mcp4725_data *data = iio_priv(indio_dev);
103 inoutbuf[0] |= data->ref_mode << 3;
104 inoutbuf[0] |= data->powerdown ? ((data->powerdown_mode + 1) << 1) : 0;
105 inoutbuf[1] = data->dac_value >> 4;
106 inoutbuf[2] = (data->dac_value & 0xf) << 4;
108 ret = i2c_master_send(data->client, inoutbuf, 3);
117 ret = i2c_master_recv(data->client, inoutbuf, 3);
128 dev_err(&data->client->dev,
162 struct mcp4725_data *data = iio_priv(indio_dev);
164 return data->powerdown_mode;
170 struct mcp4725_data *data = iio_priv(indio_dev);
172 data->powerdown_mode = mode;
180 struct mcp4725_data *data = iio_priv(indio_dev);
182 return sprintf(buf, "%d\n", data->powerdown);
189 struct mcp4725_data *data = iio_priv(indio_dev);
198 ret = mcp4725_suspend(&data->client->dev);
200 ret = mcp4725_resume(&data->client->dev);
278 struct mcp4725_data *data = iio_priv(indio_dev);
288 ret = i2c_master_send(data->client, outbuf, 2);
299 struct mcp4725_data *data = iio_priv(indio_dev);
304 outbuf[0] |= data->ref_mode << 3;
305 if (data->powerdown)
306 outbuf[0] |= data->powerdown << 1;
307 outbuf[1] = data->dac_value >> 4;
308 outbuf[2] = (data->dac_value & 0xf) << 4;
310 ret = i2c_master_send(data->client, outbuf, 3);
323 struct mcp4725_data *data = iio_priv(indio_dev);
328 *val = data->dac_value;
331 if (data->ref_mode == MCP472X_REF_VDD)
332 ret = regulator_get_voltage(data->vdd_reg);
334 ret = regulator_get_voltage(data->vref_reg);
350 struct mcp4725_data *data = iio_priv(indio_dev);
356 data->dac_value = val;
386 struct mcp4725_data *data;
394 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
397 data = iio_priv(indio_dev);
399 data->client = client;
401 data->id = (enum chip_id)device_get_match_data(&client->dev);
403 data->id = id->driver_data;
410 "invalid platform or devicetree data");
416 if (data->id == MCP4725 && pdata->use_vref) {
429 data->ref_mode = MCP472X_REF_VDD;
431 data->ref_mode = pdata->vref_buffered ?
435 data->vdd_reg = devm_regulator_get(&client->dev, "vdd");
436 if (IS_ERR(data->vdd_reg))
437 return PTR_ERR(data->vdd_reg);
439 err = regulator_enable(data->vdd_reg);
444 data->vref_reg = devm_regulator_get(&client->dev, "vref");
445 if (IS_ERR(data->vref_reg)) {
446 err = PTR_ERR(data->vref_reg);
450 err = regulator_enable(data->vref_reg);
462 err = i2c_master_recv(client, inbuf, data->id == MCP4725 ? 3 : 4);
469 data->powerdown = pd > 0;
470 data->powerdown_mode = pd ? pd - 1 : 2; /* largest resistor to gnd */
471 data->dac_value = (inbuf[1] << 4) | (inbuf[2] >> 4);
472 if (data->id == MCP4726)
475 if (data->id == MCP4726 && ref != data->ref_mode) {
478 data->ref_mode, ref, data->ref_mode);
491 if (data->vref_reg)
492 regulator_disable(data->vref_reg);
495 regulator_disable(data->vdd_reg);
503 struct mcp4725_data *data = iio_priv(indio_dev);
507 if (data->vref_reg)
508 regulator_disable(data->vref_reg);
509 regulator_disable(data->vdd_reg);
524 .data = (void *)MCP4725
528 .data = (void *)MCP4726