mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-02-21 12:18:57 +07:00
IIO: Ingenic JZ47xx: Add xlate cb to retrieve correct channel idx
Provide an of_xlate callback in order to retrieve the correct channel specifier index from the IIO channels array. Signed-off-by: Artur Rojek <contact@artur-rojek.eu> Tested-by: Paul Cercueil <paul@crapouillou.net> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
1a99dc4679
commit
155e41efe7
@ -401,6 +401,21 @@ static int ingenic_adc_read_raw(struct iio_dev *iio_dev,
|
||||
}
|
||||
}
|
||||
|
||||
static int ingenic_adc_of_xlate(struct iio_dev *iio_dev,
|
||||
const struct of_phandle_args *iiospec)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!iiospec->args_count)
|
||||
return -EINVAL;
|
||||
|
||||
for (i = 0; i < iio_dev->num_channels; ++i)
|
||||
if (iio_dev->channels[i].channel == iiospec->args[0])
|
||||
return i;
|
||||
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
static void ingenic_adc_clk_cleanup(void *data)
|
||||
{
|
||||
clk_unprepare(data);
|
||||
@ -410,6 +425,7 @@ static const struct iio_info ingenic_adc_info = {
|
||||
.write_raw = ingenic_adc_write_raw,
|
||||
.read_raw = ingenic_adc_read_raw,
|
||||
.read_avail = ingenic_adc_read_avail,
|
||||
.of_xlate = ingenic_adc_of_xlate,
|
||||
};
|
||||
|
||||
static const struct iio_chan_spec ingenic_channels[] = {
|
||||
|
Loading…
Reference in New Issue
Block a user