Re: [PATCH v1 2/4] gpio: dwapb: Read GPIO base from gpio-base property
From: Linus Walleij <hidden>
Date: 2021-08-11 12:37:57
Also in:
linux-devicetree, lkml
On Mon, Jul 26, 2021 at 2:54 PM Andy Shevchenko [off-list ref] wrote:
For backward compatibility with some legacy devices introduce a new (*) property gpio-base to read GPIO base. This will allow further cleanup of the driver. *) Note, it's not new for GPIO library since mockup driver is using it already. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
(...)
- pp->gpio_base = -1; + if (fwnode_property_read_u32(fwnode, "gpio-base", &pp->gpio_base)) + pp->gpio_base = -1;
This is problematic because we have repeatedly NACKed this property to be added to device trees. I don't know about fwnode policies, but in the device tree this would have to be "linux,gpio-base" and then it would be NACKed because of adding an operating-system specific thing to a OS-independent hardware description. I don't know what to do with this really, but I understand the need of it as a kernel-internal thing, however I am afraid that adding this will make it possible to add linux,gpio-base = <n> to any device tree gpio_chip as well and that encourages bad behaviour even if we don't allow a DT binding (YAML) like that. Is there a way to make a fwnode property only come from software nodes and not allowed to be used in ACPI or DT? (I guess not...) Yours, Linus Walleij