lkml.org 
[lkml]   [2021]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 3/4] iio: rn5t618: Add devicetree support
    On Sat,  3 Jul 2021 10:42:23 +0200
    Andreas Kemnade <andreas@kemnade.info> wrote:

    > Add devicetree support to be able to easily get the channels
    > from another device.
    >
    > Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
    > ---
    > drivers/iio/adc/rn5t618-adc.c | 14 +++++++++++++-
    > 1 file changed, 13 insertions(+), 1 deletion(-)
    >
    > diff --git a/drivers/iio/adc/rn5t618-adc.c b/drivers/iio/adc/rn5t618-adc.c
    > index 7010c4276947..feba19f91574 100644
    > --- a/drivers/iio/adc/rn5t618-adc.c
    > +++ b/drivers/iio/adc/rn5t618-adc.c
    > @@ -12,6 +12,7 @@
    > #include <linux/init.h>
    > #include <linux/module.h>
    > #include <linux/mfd/rn5t618.h>
    > +#include <linux/of_device.h>
    Why?

    mod_devicetable.h probably the one you want.

    > #include <linux/platform_device.h>
    > #include <linux/completion.h>
    > #include <linux/regmap.h>
    > @@ -218,6 +219,7 @@ static int rn5t618_adc_probe(struct platform_device *pdev)
    > init_completion(&adc->conv_completion);
    >
    > iio_dev->name = dev_name(&pdev->dev);
    > + iio_dev->dev.of_node = pdev->dev.of_node;

    That should (now) be set by the IIO core for you via the devm_iio_device_register()
    call below if it's not already set.

    > iio_dev->info = &rn5t618_adc_iio_info;
    > iio_dev->modes = INDIO_DIRECT_MODE;
    > iio_dev->channels = rn5t618_adc_iio_channels;
    > @@ -242,9 +244,19 @@ static int rn5t618_adc_probe(struct platform_device *pdev)
    > return devm_iio_device_register(adc->dev, iio_dev);
    > }
    >
    > +#ifdef CONFIG_OF
    > +static const struct of_device_id rn5t618_adc_of_match[] = {
    > + { .compatible = "ricoh,rc5t619-adc", },
    > + { .compatible = "ricoh,rn5t618-adc", },
    > + { },
    > +};
    > +MODULE_DEVICE_TABLE(of, rn5t618_adc_of_match);
    > +#endif
    > +
    > static struct platform_driver rn5t618_adc_driver = {
    > .driver = {
    > - .name = "rn5t618-adc",
    > + .name = "rn5t618-adc",
    > + .of_match_table = of_match_ptr(rn5t618_adc_of_match),

    Given cost of that table is totally trivial (and I'm trying to get rid
    of this pattern in IIO as it's noisy and adds little :) drop the
    of_match_ptr protection and the ifdefs above.

    > },
    > .probe = rn5t618_adc_probe,
    > };

    \
     
     \ /
      Last update: 2021-07-03 18:10    [W:6.090 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site