Thread (34 messages) 34 messages, 6 authors, 2023-04-06

Re: [PATCH V4 04/10] dt-bindings: timestamp: Add nvidia,gpio-controller

From: Linus Walleij <hidden>
Date: 2023-03-23 08:38:12
Also in: linux-doc, linux-gpio, linux-tegra, lkml

On Thu, Mar 23, 2023 at 2:29 AM Dipen Patel [off-list ref] 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 <redacted>

Yours,
Linus Walleij
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help