From: Jonathan Cameron <jic23@kernel.org>
To: Quentin Schulz <quentin.schulz@free-electrons.com>
Cc: knaack.h@gmx.de, lars@metafoo.de, pmeerw@pmeerw.net,
robh+dt@kernel.org, mark.rutland@arm.com, wens@csie.org,
sre@kernel.org, linux@armlinux.org.uk,
maxime.ripard@free-electrons.com, lee.jones@linaro.org,
linux-iio@vger.kernel.org, linux-pm@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
thomas.petazzoni@free-electrons.com,
linux-sunxi@googlegroups.com, julian.calaby@gmail.com
Subject: Re: [PATCH v3 03/16] iio: adc: axp20x_adc: make it possible to probe from DT
Date: Sun, 21 Jan 2018 12:22:52 +0000 [thread overview]
Message-ID: <20180121122252.5f0c1741@archlinux> (raw)
In-Reply-To: <063c68ec080a999e10bf33e417c974142ddaaf9a.1516012352.git-series.quentin.schulz@free-electrons.com>
On Mon, 15 Jan 2018 11:33:37 +0100
Quentin Schulz <quentin.schulz@free-electrons.com> wrote:
> To prepare for a future patch that will add a DT node for the ADC, make
> axp20x_adc able to probe from DT and get the per-variant data from
> of_device_id.data since platform_device_id.driver_data won't be set when
> probing by DT.
>
> Leave the ability to probe via platform for driver compatibility with
> old DTs.
>
> Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Looks good to me.
Applied to the togreg branch of iio.git and pushed out as testing for
the autobuilders to play with it.
If anyone wants to comment I won't be pushing out in a non rebasing form
until at least next weekend.
Thanks,
Jonathan
> ---
> drivers/iio/adc/axp20x_adc.c | 19 ++++++++++++++++++-
> 1 file changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iio/adc/axp20x_adc.c b/drivers/iio/adc/axp20x_adc.c
> index 3fc1b06..3968053 100644
> --- a/drivers/iio/adc/axp20x_adc.c
> +++ b/drivers/iio/adc/axp20x_adc.c
> @@ -515,6 +515,13 @@ static const struct axp_data axp22x_data = {
> .maps = axp22x_maps,
> };
>
> +static const struct of_device_id axp20x_adc_of_match[] = {
> + { .compatible = "x-powers,axp209-adc", .data = (void *)&axp20x_data, },
> + { .compatible = "x-powers,axp221-adc", .data = (void *)&axp22x_data, },
> + { /* sentinel */ }
> +};
> +MODULE_DEVICE_TABLE(of, axp20x_adc_of_match);
> +
> static const struct platform_device_id axp20x_adc_id_match[] = {
> { .name = "axp20x-adc", .driver_data = (kernel_ulong_t)&axp20x_data, },
> { .name = "axp22x-adc", .driver_data = (kernel_ulong_t)&axp22x_data, },
> @@ -543,7 +550,16 @@ static int axp20x_probe(struct platform_device *pdev)
> indio_dev->dev.of_node = pdev->dev.of_node;
> indio_dev->modes = INDIO_DIRECT_MODE;
>
> - info->data = (struct axp_data *)platform_get_device_id(pdev)->driver_data;
> + if (!pdev->dev.of_node) {
> + const struct platform_device_id *id;
> +
> + id = platform_get_device_id(pdev);
> + info->data = (struct axp_data *)id->driver_data;
> + } else {
> + struct device *dev = &pdev->dev;
> +
> + info->data = (struct axp_data *)of_device_get_match_data(dev);
> + }
>
> indio_dev->name = platform_get_device_id(pdev)->name;
> indio_dev->info = info->data->iio_info;
> @@ -606,6 +622,7 @@ static int axp20x_remove(struct platform_device *pdev)
> static struct platform_driver axp20x_adc_driver = {
> .driver = {
> .name = "axp20x-adc",
> + .of_match_table = of_match_ptr(axp20x_adc_of_match),
> },
> .id_table = axp20x_adc_id_match,
> .probe = axp20x_probe,
WARNING: multiple messages have this Message-ID (diff)
From: jic23@kernel.org (Jonathan Cameron)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 03/16] iio: adc: axp20x_adc: make it possible to probe from DT
Date: Sun, 21 Jan 2018 12:22:52 +0000 [thread overview]
Message-ID: <20180121122252.5f0c1741@archlinux> (raw)
In-Reply-To: <063c68ec080a999e10bf33e417c974142ddaaf9a.1516012352.git-series.quentin.schulz@free-electrons.com>
On Mon, 15 Jan 2018 11:33:37 +0100
Quentin Schulz <quentin.schulz@free-electrons.com> wrote:
> To prepare for a future patch that will add a DT node for the ADC, make
> axp20x_adc able to probe from DT and get the per-variant data from
> of_device_id.data since platform_device_id.driver_data won't be set when
> probing by DT.
>
> Leave the ability to probe via platform for driver compatibility with
> old DTs.
>
> Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Looks good to me.
Applied to the togreg branch of iio.git and pushed out as testing for
the autobuilders to play with it.
If anyone wants to comment I won't be pushing out in a non rebasing form
until at least next weekend.
Thanks,
Jonathan
> ---
> drivers/iio/adc/axp20x_adc.c | 19 ++++++++++++++++++-
> 1 file changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iio/adc/axp20x_adc.c b/drivers/iio/adc/axp20x_adc.c
> index 3fc1b06..3968053 100644
> --- a/drivers/iio/adc/axp20x_adc.c
> +++ b/drivers/iio/adc/axp20x_adc.c
> @@ -515,6 +515,13 @@ static const struct axp_data axp22x_data = {
> .maps = axp22x_maps,
> };
>
> +static const struct of_device_id axp20x_adc_of_match[] = {
> + { .compatible = "x-powers,axp209-adc", .data = (void *)&axp20x_data, },
> + { .compatible = "x-powers,axp221-adc", .data = (void *)&axp22x_data, },
> + { /* sentinel */ }
> +};
> +MODULE_DEVICE_TABLE(of, axp20x_adc_of_match);
> +
> static const struct platform_device_id axp20x_adc_id_match[] = {
> { .name = "axp20x-adc", .driver_data = (kernel_ulong_t)&axp20x_data, },
> { .name = "axp22x-adc", .driver_data = (kernel_ulong_t)&axp22x_data, },
> @@ -543,7 +550,16 @@ static int axp20x_probe(struct platform_device *pdev)
> indio_dev->dev.of_node = pdev->dev.of_node;
> indio_dev->modes = INDIO_DIRECT_MODE;
>
> - info->data = (struct axp_data *)platform_get_device_id(pdev)->driver_data;
> + if (!pdev->dev.of_node) {
> + const struct platform_device_id *id;
> +
> + id = platform_get_device_id(pdev);
> + info->data = (struct axp_data *)id->driver_data;
> + } else {
> + struct device *dev = &pdev->dev;
> +
> + info->data = (struct axp_data *)of_device_get_match_data(dev);
> + }
>
> indio_dev->name = platform_get_device_id(pdev)->name;
> indio_dev->info = info->data->iio_info;
> @@ -606,6 +622,7 @@ static int axp20x_remove(struct platform_device *pdev)
> static struct platform_driver axp20x_adc_driver = {
> .driver = {
> .name = "axp20x-adc",
> + .of_match_table = of_match_ptr(axp20x_adc_of_match),
> },
> .id_table = axp20x_adc_id_match,
> .probe = axp20x_probe,
next prev parent reply other threads:[~2018-01-21 12:22 UTC|newest]
Thread overview: 109+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-15 10:33 [PATCH v3 00/16] add support for AXP813 ADC and battery power supply Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` [PATCH v3 01/16] iio: adc: axp20x_adc: put ADC rate setting in a per-variant function Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-21 12:13 ` Jonathan Cameron
2018-01-21 12:13 ` Jonathan Cameron
2018-01-21 12:13 ` Jonathan Cameron
2018-01-15 10:33 ` [PATCH v3 02/16] dt-bindings: iio: adc: add binding for X-Powers AXP PMICs ADC Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-21 12:18 ` Jonathan Cameron
2018-01-21 12:18 ` Jonathan Cameron
2018-01-15 10:33 ` [PATCH v3 03/16] iio: adc: axp20x_adc: make it possible to probe from DT Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-21 12:22 ` Jonathan Cameron [this message]
2018-01-21 12:22 ` Jonathan Cameron
2018-01-15 10:33 ` [PATCH v3 04/16] ARM: dtsi: axp209: add node for ADC Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-23 15:33 ` Chen-Yu Tsai
2018-01-23 15:33 ` Chen-Yu Tsai
2018-01-23 15:33 ` Chen-Yu Tsai
2018-01-15 10:33 ` [PATCH v3 05/16] ARM: dtsi: axp22x: " Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-23 15:33 ` Chen-Yu Tsai
2018-01-23 15:33 ` Chen-Yu Tsai
2018-01-23 15:33 ` Chen-Yu Tsai
2018-01-15 10:33 ` [PATCH v3 06/16] mfd: axp20x: make AXP209/22x cells probe their ADC via DT Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-23 9:54 ` Lee Jones
2018-01-23 9:54 ` Lee Jones
2018-01-23 9:54 ` Lee Jones
2018-01-23 15:32 ` Chen-Yu Tsai
2018-01-23 15:32 ` Chen-Yu Tsai
2018-01-23 15:32 ` Chen-Yu Tsai
2018-01-15 10:33 ` [PATCH v3 07/16] iio: adc: axp20x_adc: add support for AXP813 ADC Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-21 12:26 ` Jonathan Cameron
2018-01-21 12:26 ` Jonathan Cameron
2018-01-22 8:22 ` Quentin Schulz
2018-01-22 8:22 ` Quentin Schulz
2018-01-22 8:22 ` Quentin Schulz
2018-01-28 8:12 ` Jonathan Cameron
2018-01-28 8:12 ` Jonathan Cameron
2018-01-28 8:12 ` Jonathan Cameron
2018-01-15 10:33 ` [PATCH v3 08/16] ARM: dtsi: axp81x: add node for ADC Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-23 15:33 ` Chen-Yu Tsai
2018-01-23 15:33 ` Chen-Yu Tsai
2018-01-23 15:33 ` Chen-Yu Tsai
2018-01-15 10:33 ` [PATCH v3 09/16] mfd: axp20x: probe axp20x_adc driver for AXP813 Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-23 9:53 ` Lee Jones
2018-01-23 9:53 ` Lee Jones
2018-01-23 9:53 ` Lee Jones
2018-01-23 15:32 ` Chen-Yu Tsai
2018-01-23 15:32 ` Chen-Yu Tsai
2018-01-23 15:32 ` Chen-Yu Tsai
2018-01-15 10:33 ` [PATCH v3 10/16] power: supply: axp20x_battery: use data structure instead of ID for Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-23 15:39 ` Chen-Yu Tsai
2018-01-23 15:39 ` Chen-Yu Tsai
2018-01-23 15:39 ` Chen-Yu Tsai
2018-01-15 10:33 ` [PATCH v3 11/16] dt-bindings: power: supply: axp20x: add AXP813 battery DT binding Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-23 15:43 ` Chen-Yu Tsai
2018-01-23 15:43 ` Chen-Yu Tsai
2018-01-23 15:43 ` Chen-Yu Tsai
2018-01-15 10:33 ` [PATCH v3 12/16] power: supply: axp20x_battery: add support for AXP813 Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-23 15:47 ` [linux-sunxi] " Chen-Yu Tsai
2018-01-23 15:47 ` Chen-Yu Tsai
2018-01-23 15:47 ` Chen-Yu Tsai
2018-01-15 10:33 ` [PATCH v3 13/16] mfd: axp20x: add battery power supply cell " Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-23 15:50 ` [linux-sunxi] " Chen-Yu Tsai
2018-01-23 15:50 ` Chen-Yu Tsai
2018-01-23 15:50 ` Chen-Yu Tsai
2018-01-15 10:33 ` [PATCH v3 14/16] ARM: dtsi: axp81x: add battery power supply subnode Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-23 15:50 ` Chen-Yu Tsai
2018-01-23 15:50 ` Chen-Yu Tsai
2018-01-23 15:50 ` Chen-Yu Tsai
2018-01-15 10:33 ` [PATCH v3 15/16] ARM: dtsi: sun8i: a711: enable " Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-23 15:51 ` [linux-sunxi] " Chen-Yu Tsai
2018-01-23 15:51 ` Chen-Yu Tsai
2018-01-15 10:33 ` [PATCH v3 16/16] ARM: dtsi: axp81x: remove IP name from DT node name Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-15 10:33 ` Quentin Schulz
2018-01-23 15:51 ` Chen-Yu Tsai
2018-01-23 15:51 ` Chen-Yu Tsai
2018-01-23 15:51 ` Chen-Yu Tsai
2018-01-23 15:55 ` [PATCH v3 00/16] add support for AXP813 ADC and battery power supply Chen-Yu Tsai
2018-01-23 15:55 ` Chen-Yu Tsai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180121122252.5f0c1741@archlinux \
--to=jic23@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=julian.calaby@gmail.com \
--cc=knaack.h@gmx.de \
--cc=lars@metafoo.de \
--cc=lee.jones@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-sunxi@googlegroups.com \
--cc=linux@armlinux.org.uk \
--cc=mark.rutland@arm.com \
--cc=maxime.ripard@free-electrons.com \
--cc=pmeerw@pmeerw.net \
--cc=quentin.schulz@free-electrons.com \
--cc=robh+dt@kernel.org \
--cc=sre@kernel.org \
--cc=thomas.petazzoni@free-electrons.com \
--cc=wens@csie.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.