Lines Matching refs:afe
172 struct afe4404_data *afe = iio_priv(indio_dev);
178 ret = regmap_field_read(afe->fields[afe440x_attr->field], ®_val);
196 struct afe4404_data *afe = iio_priv(indio_dev);
211 ret = regmap_field_write(afe->fields[afe440x_attr->field], val);
252 struct afe4404_data *afe = iio_priv(indio_dev);
261 ret = regmap_read(afe->regmap, value_reg, val);
267 ret = regmap_field_read(afe->fields[offdac_field], val);
277 ret = regmap_field_read(afe->fields[led_field], val);
298 struct afe4404_data *afe = iio_priv(indio_dev);
306 return regmap_field_write(afe->fields[offdac_field], val);
313 return regmap_field_write(afe->fields[led_field], val);
333 struct afe4404_data *afe = iio_priv(indio_dev);
338 ret = regmap_read(afe->regmap, afe4404_channel_values[bit],
339 &afe->buffer[i++]);
344 iio_push_to_buffers_with_timestamp(indio_dev, afe->buffer,
423 struct afe4404_data *afe = iio_priv(indio_dev);
426 ret = regmap_update_bits(afe->regmap, AFE440X_CONTROL2,
432 ret = regulator_disable(afe->regulator);
444 struct afe4404_data *afe = iio_priv(indio_dev);
447 ret = regulator_enable(afe->regulator);
453 ret = regmap_update_bits(afe->regmap, AFE440X_CONTROL2,
467 struct afe4404_data *afe;
470 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*afe));
474 afe = iio_priv(indio_dev);
477 afe->dev = &client->dev;
478 afe->irq = client->irq;
480 afe->regmap = devm_regmap_init_i2c(client, &afe4404_regmap_config);
481 if (IS_ERR(afe->regmap)) {
482 dev_err(afe->dev, "Unable to allocate register map\n");
483 return PTR_ERR(afe->regmap);
487 afe->fields[i] = devm_regmap_field_alloc(afe->dev, afe->regmap,
489 if (IS_ERR(afe->fields[i])) {
490 dev_err(afe->dev, "Unable to allocate regmap fields\n");
491 return PTR_ERR(afe->fields[i]);
495 afe->regulator = devm_regulator_get(afe->dev, "tx_sup");
496 if (IS_ERR(afe->regulator))
497 return dev_err_probe(afe->dev, PTR_ERR(afe->regulator),
500 ret = regulator_enable(afe->regulator);
502 dev_err(afe->dev, "Unable to enable regulator\n");
506 ret = regmap_write(afe->regmap, AFE440X_CONTROL0,
509 dev_err(afe->dev, "Unable to reset device\n");
513 ret = regmap_multi_reg_write(afe->regmap, afe4404_reg_sequences,
516 dev_err(afe->dev, "Unable to set register defaults\n");
526 if (afe->irq > 0) {
527 afe->trig = devm_iio_trigger_alloc(afe->dev,
531 if (!afe->trig) {
532 dev_err(afe->dev, "Unable to allocate IIO trigger\n");
537 iio_trigger_set_drvdata(afe->trig, indio_dev);
539 ret = iio_trigger_register(afe->trig);
541 dev_err(afe->dev, "Unable to register IIO trigger\n");
545 ret = devm_request_threaded_irq(afe->dev, afe->irq,
549 afe->trig);
551 dev_err(afe->dev, "Unable to request IRQ\n");
559 dev_err(afe->dev, "Unable to setup buffer\n");
565 dev_err(afe->dev, "Unable to register IIO device\n");
574 if (afe->irq > 0)
575 iio_trigger_unregister(afe->trig);
577 regulator_disable(afe->regulator);
585 struct afe4404_data *afe = iio_priv(indio_dev);
592 if (afe->irq > 0)
593 iio_trigger_unregister(afe->trig);
595 ret = regulator_disable(afe->regulator);
597 dev_err(afe->dev, "Unable to disable regulator\n");