Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 317195
b: refs/heads/master
c: 09d48aa
h: refs/heads/master
i:
  317193: 8c2a739
  317191: 25ef8d8
v: v3
  • Loading branch information
Lars-Peter Clausen authored and Greg Kroah-Hartman committed Jun 5, 2012
1 parent 702fcf8 commit 25a87ad
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 37 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 26628f6b53d1ae3610146607c0c7fcbaf403bee7
refs/heads/master: 09d48aa9f67e05770c48df6437a753b9c4d4469a
55 changes: 19 additions & 36 deletions trunk/drivers/staging/iio/dac/ad5446.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,47 +42,34 @@ static int ad5660_write(struct ad5446_state *st, unsigned val)
}

static const char * const ad5446_powerdown_modes[] = {
"", "1kohm_to_gnd", "100kohm_to_gnd", "three_state"
"1kohm_to_gnd", "100kohm_to_gnd", "three_state"
};

static ssize_t ad5446_read_powerdown_mode_available(struct iio_dev *indio_dev,
uintptr_t private, const struct iio_chan_spec *chan, char *buf)
{
return sprintf(buf, "%s %s %s\n", ad5446_powerdown_modes[1],
ad5446_powerdown_modes[2], ad5446_powerdown_modes[3]);
}

static ssize_t ad5446_write_powerdown_mode(struct iio_dev *indio_dev,
uintptr_t private,
const struct iio_chan_spec *chan,
const char *buf, size_t len)
static int ad5446_set_powerdown_mode(struct iio_dev *indio_dev,
const struct iio_chan_spec *chan, unsigned int mode)
{
struct ad5446_state *st = iio_priv(indio_dev);
int i;

for (i = 1; i < ARRAY_SIZE(ad5446_powerdown_modes); i++) {
if (sysfs_streq(buf, ad5446_powerdown_modes[i])) {
st->pwr_down_mode = i;
break;
}
}

if (i == ARRAY_SIZE(ad5446_powerdown_modes))
return -EINVAL;
st->pwr_down_mode = mode + 1;

return len;
return 0;
}

static ssize_t ad5446_read_powerdown_mode(struct iio_dev *indio_dev,
uintptr_t private,
const struct iio_chan_spec *chan,
char *buf)
static int ad5446_get_powerdown_mode(struct iio_dev *indio_dev,
const struct iio_chan_spec *chan)
{
struct ad5446_state *st = iio_priv(indio_dev);

return sprintf(buf, "%s\n", ad5446_powerdown_modes[st->pwr_down_mode]);
return st->pwr_down_mode - 1;
}

static const struct iio_enum ad5446_powerdown_mode_enum = {
.items = ad5446_powerdown_modes,
.num_items = ARRAY_SIZE(ad5446_powerdown_modes),
.get = ad5446_get_powerdown_mode,
.set = ad5446_set_powerdown_mode,
};

static ssize_t ad5446_read_dac_powerdown(struct iio_dev *indio_dev,
uintptr_t private,
const struct iio_chan_spec *chan,
Expand Down Expand Up @@ -129,15 +116,9 @@ static const struct iio_chan_spec_ext_info ad5064_ext_info_powerdown[] = {
.name = "powerdown",
.read = ad5446_read_dac_powerdown,
.write = ad5446_write_dac_powerdown,
}, {
.name = "powerdown_mode",
.read = ad5446_read_powerdown_mode,
.write = ad5446_write_powerdown_mode,
}, {
.name = "powerdown_mode_available",
.shared = true,
.read = ad5446_read_powerdown_mode_available,
},
IIO_ENUM("powerdown_mode", false, &ad5446_powerdown_mode_enum),
IIO_ENUM_AVAILABLE("powerdown_mode", &ad5446_powerdown_mode_enum),
{ },
};

Expand Down Expand Up @@ -321,6 +302,8 @@ static int __devinit ad5446_probe(struct spi_device *spi)
indio_dev->channels = &st->chip_info->channel;
indio_dev->num_channels = 1;

st->pwr_down_mode = MODE_PWRDWN_1k;

if (st->chip_info->int_vref_mv)
st->vref_mv = st->chip_info->int_vref_mv;
else if (voltage_uv)
Expand Down

0 comments on commit 25a87ad

Please sign in to comment.