lkml.org 
[lkml]   [2020]   [Mar]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 1/5] IIO: Ingenic JZ47xx: Add xlate cb to retrieve correct channel idx
    Date
    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>
    ---

    Changes:

    v2-v4: no change

    drivers/iio/adc/ingenic-adc.c | 16 ++++++++++++++++
    1 file changed, 16 insertions(+)

    diff --git a/drivers/iio/adc/ingenic-adc.c b/drivers/iio/adc/ingenic-adc.c
    index 39c0a609fc94..7a24bc1dabe1 100644
    --- a/drivers/iio/adc/ingenic-adc.c
    +++ b/drivers/iio/adc/ingenic-adc.c
    @@ -383,6 +383,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);
    @@ -392,6 +407,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[] = {
    --
    2.25.1
    \
     
     \ /
      Last update: 2020-03-07 22:07    [W:3.357 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site