On Tue, Apr 6, 2021 at 6:24 PM Saravana Kannan saravanak@google.com wrote:
On Tue, Apr 6, 2021 at 6:10 PM Rob Herring robh@kernel.org wrote:
On Tue, Apr 6, 2021 at 7:46 PM Saravana Kannan saravanak@google.com wrote:
On Tue, Apr 6, 2021 at 5:34 PM Rob Herring robh@kernel.org wrote:
On Tue, Apr 06, 2021 at 04:09:10PM -0700, Saravana Kannan wrote:
On Mon, Apr 5, 2021 at 3:26 PM Ilya Lipnitskiy ilya.lipnitskiy@gmail.com wrote:
[<vendor>,]nr-gpios property is used by some GPIO drivers[0] to indicate the number of GPIOs present on a system, not define a GPIO. nr-gpios is not configured by #gpio-cells and can't be parsed along with other "*-gpios" properties.
nr-gpios without the "<vendor>," prefix is not allowed by the DT spec[1], so only add exception for the ",nr-gpios" suffix and let the error message continue being printed for non-compliant implementations.
[0]: nr-gpios is referenced in Documentation/devicetree/bindings/gpio:
- gpio-adnp.txt
- gpio-xgene-sb.txt
- gpio-xlp.txt
- snps,dw-apb-gpio.yaml
[1]: Link: https://github.com/devicetree-org/dt-schema/blob/cb53a16a1eb3e2169ce170c071e...
Fixes errors such as: OF: /palmbus@300000/gpio@600: could not find phandle
Fixes: 7f00be96f125 ("of: property: Add device link support for interrupt-parent, dmas and -gpio(s)") Signed-off-by: Ilya Lipnitskiy ilya.lipnitskiy@gmail.com Cc: Saravana Kannan saravanak@google.com Cc: stable@vger.kernel.org # 5.5.x
drivers/of/property.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/drivers/of/property.c b/drivers/of/property.c index 2046ae311322..1793303e84ac 100644 --- a/drivers/of/property.c +++ b/drivers/of/property.c @@ -1281,7 +1281,16 @@ DEFINE_SIMPLE_PROP(pinctrl7, "pinctrl-7", NULL) DEFINE_SIMPLE_PROP(pinctrl8, "pinctrl-8", NULL) DEFINE_SUFFIX_PROP(regulators, "-supply", NULL) DEFINE_SUFFIX_PROP(gpio, "-gpio", "#gpio-cells") -DEFINE_SUFFIX_PROP(gpios, "-gpios", "#gpio-cells")
+static struct device_node *parse_gpios(struct device_node *np,
const char *prop_name, int index)
+{
if (!strcmp_suffix(prop_name, ",nr-gpios"))
return NULL;
Ah I somehow missed this patch. This gives a blanked exception for vendor,nr-gpios. I'd prefer explicit exceptions for all the instances of ",nr-gpios" we are grandfathering in. Any future additions should be rejected. Can we do that please?
Rob, you okay with making this list more explicit?
Not the kernel's job IMO. A schema is the right way to handle that.
Ok, that's fine by me. Btw, let's land this in driver-core? I've made changes there and this might cause conflicts. Not sure.
It merges with linux-next fine. You'll need to resend this to Greg if you want to do that.
Reviewed-by: Rob Herring robh@kernel.org
Hi Greg,
Can you pull this into driver-core please?
Do you want me to re-spin on top of driver-core? The patch is currently based on dt/next in robh/linux.git
Ilya