Re: [PATCH v1 2/4] gpio: dwapb: Read GPIO base from gpio-base property
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: 2021-08-11 13:12:26
Also in:
linux-devicetree, lkml
On Wed, Aug 11, 2021 at 02:37:42PM +0200, Linus Walleij wrote:
On Mon, Jul 26, 2021 at 2:54 PM Andy Shevchenko [off-list ref] wrote:quoted
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>(...)quoted
- 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...)
This has been the very same concern by Serge and we agreed on limiting this to software nodes only. And I have seen you are fine with the approach, thanks! -- With Best Regards, Andy Shevchenko