Messages in this thread | | | From | Linus Walleij <> | Date | Thu, 23 Mar 2023 09:36:16 +0100 | Subject | Re: [PATCH V4 04/10] dt-bindings: timestamp: Add nvidia,gpio-controller |
| |
On Thu, Mar 23, 2023 at 2:29 AM Dipen Patel <dipenp@nvidia.com> wrote:
> Introducing nvidia,gpio-controller property from Tegra234 SoCs onwards. > This is done to help below case. > > Without this property code would look like: > if (of_device_is_compatible(dev->of_node, "nvidia,tegra194-gte-aon")) > hte_dev->c = gpiochip_find("tegra194-gpio-aon", > tegra_get_gpiochip_from_name); > else if (of_device_is_compatible(dev->of_node, "nvidia,tegra234-gte-aon")) > hte_dev->c = gpiochip_find("tegra234-gpio-aon", > tegra_get_gpiochip_from_name); > else > return -ENODEV; > > This means for every future addition of the compatible string, if else > condition statements have to be expanded. > > With the property: > gpio_ctrl = of_parse_phandle(dev->of_node, "nvidia,gpio-controller", 0); > .... > hte_dev->c = gpiochip_find(gpio_ctrl, tegra_get_gpiochip_from_of_node); > > This simplifies the code significantly. The introdunction of this > property/binding does not break existing Tegra194 provider driver. > > Signed-off-by: Dipen Patel <dipenp@nvidia.com>
It is fair to assume that other operating systems will need this too so I interpret the commit message as an example of the issues faced by anyone making a driver for this HW. Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Yours, Linus Walleij
| |