Re: [PATCH v2 3/6] dt-bindings: brcmstb-gpio: document properties for wakeup
From: Brian Norris <computersforpeace@gmail.com>
Date: 2015-05-30 01:37:17
Also in:
linux-arm-kernel, linux-gpio, lkml
On Fri, May 29, 2015 at 05:57:50PM -0700, Gregory Fong wrote:
On Fri, May 29, 2015 at 5:36 PM, Brian Norris [off-list ref] wrote:quoted
On Thu, May 28, 2015 at 07:14:07PM -0700, Gregory Fong wrote:quoted
--- a/Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.txt +++ b/Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.txt@@ -33,6 +33,12 @@ Optional properties:
...
quoted
quoted
- #interrupt-cells: Should be <2>. The first cell is the GPIO number, the second should specify flags. The following subset of flags is supported:@@ -48,7 +54,10 @@ Optional properties: Marks the device node as an interrupt controller - interrupt-names: - The name of the IRQ resource used by this controller + The names of the IRQ resources used by this controllerIf you're specifying names, you should list them here.I was wondering about that. Some bindings have them listed, some don't. In this case I know what names currently exist but there could certainly be different ones in the future. How does that work? Or am I misunderstanding what this field is used for? Where are the documented rules for this?
The only documentation I see is:
Documentation/devicetree/bindings/resource-names.txt
That documents the basics of the *-names properties, not their expected
usage.
In practice, they're only useful if you have enough optional resources
that fixed indexing isn't sufficient, and you need to use
platform_get_resource_byname().
So IMO, their purposes seems to be one of these:
(1) functional (e.g., for get_resource_byname(), when you have more than
one optional resource)
(2) self-documentation (which might run counter to #1, as you begin
generating too many unique names)
(3) no purpose
So IMO, if you ever want (1), they shouldn't have instance-specific
naming, but should use something generic to the device class. Otherwise,
they are just self-documentation, and aren't functionally useful. So
IMO, these sorts of names:
interrupt-names = "upg_gio_aon", "upg_gio_aon_wakeup";
work better as functional descriptions:
interrupt-names = "gio", "wakeup";
But in the end, I wouldn't foresee you needing to do (1), so you're left
with (2) or (3), at which point I'm not sure if you should even mention
the property.
Just my 2 cents (and those cents may not even be worth face value),
Brian