[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210703171200.0b6a4d3b@jic23-huawei>
Date: Sat, 3 Jul 2021 17:12:00 +0100
From: Jonathan Cameron <jic23@...nel.org>
To: Andreas Kemnade <andreas@...nade.info>
Cc: lee.jones@...aro.org, robh+dt@...nel.org, lars@...afoo.de,
sre@...nel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-iio@...r.kernel.org,
linux-pm@...r.kernel.org, leonard.crestez@....com,
letux-kernel@...nphoenux.org
Subject: Re: [PATCH 3/4] iio: rn5t618: Add devicetree support
On Sat, 3 Jul 2021 10:42:23 +0200
Andreas Kemnade <andreas@...nade.info> wrote:
> Add devicetree support to be able to easily get the channels
> from another device.
>
> Signed-off-by: Andreas Kemnade <andreas@...nade.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,
> };
Powered by blists - more mailing lists