[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL_Jsq+f1+xRv36z0o--u4SskTG-WxUdssJ-CP32RUZbtVuQ3w@mail.gmail.com>
Date: Fri, 22 Nov 2019 07:34:51 -0600
From: Rob Herring <robh+dt@...nel.org>
To: Saravana Kannan <saravanak@...gle.com>
Cc: Frank Rowand <frowand.list@...il.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
Vinod Koul <vkoul@...nel.org>,
Linus Walleij <linus.walleij@...aro.org>,
Android Kernel Team <kernel-team@...roid.com>,
devicetree@...r.kernel.org,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] of: property: Add device link support for
interrupt-parent, dmas and -gpio(s)
On Wed, Nov 20, 2019 at 1:13 AM Saravana Kannan <saravanak@...gle.com> wrote:
>
> Add support for creating device links out of more DT properties.
>
> Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> Cc: Thomas Gleixner <tglx@...utronix.de>
> Cc: Vinod Koul <vkoul@...nel.org>
> Cc: Linus Walleij <linus.walleij@...aro.org>
> Signed-off-by: Saravana Kannan <saravanak@...gle.com>
> ---
> drivers/of/property.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/of/property.c b/drivers/of/property.c
> index 0fa04692e3cc..dedbf82da838 100644
> --- a/drivers/of/property.c
> +++ b/drivers/of/property.c
> @@ -1188,7 +1188,11 @@ DEFINE_SIMPLE_PROP(interconnects, "interconnects", "#interconnect-cells")
> DEFINE_SIMPLE_PROP(iommus, "iommus", "#iommu-cells")
> DEFINE_SIMPLE_PROP(mboxes, "mboxes", "#mbox-cells")
> DEFINE_SIMPLE_PROP(io_channels, "io-channel", "#io-channel-cells")
> +DEFINE_SIMPLE_PROP(interrupt_parent, "interrupt-parent", NULL)
This one is not going to work most of the time (ignoring the fact that
the primary controller doesn't have a struct device) because the
interrupt-parent is typically in a parent node. You could make it work
by specifying 'interrupt-parent' in every node, but that's not a
pattern I want to encourage. There's also all the other ways the
parent can be determined. Any parent node with 'interrupt-controller'
or 'interrupt-map' property is the parent. And there's
'interrupts-extended' too.
> +DEFINE_SIMPLE_PROP(dmas, "dmas", "#dma-cells")
> DEFINE_SUFFIX_PROP(regulators, "-supply", NULL)
> +DEFINE_SUFFIX_PROP(gpio, "-gpio", "#gpio-cells")
> +DEFINE_SUFFIX_PROP(gpios, "-gpios", "#gpio-cells")
>
> static const struct supplier_bindings of_supplier_bindings[] = {
> { .parse_prop = parse_clocks, },
> @@ -1196,7 +1200,11 @@ static const struct supplier_bindings of_supplier_bindings[] = {
> { .parse_prop = parse_iommus, },
> { .parse_prop = parse_mboxes, },
> { .parse_prop = parse_io_channels, },
> + { .parse_prop = parse_interrupt_parent, },
> + { .parse_prop = parse_dmas, },
> { .parse_prop = parse_regulators, },
> + { .parse_prop = parse_gpio, },
> + { .parse_prop = parse_gpios, },
> {}
> };
>
> --
> 2.24.0.432.g9d3f5f5b63-goog
>
Powered by blists - more mailing lists