On 04/04/2023 06:24, Dipen Patel wrote: > On 3/25/23 4:09 AM, Krzysztof Kozlowski wrote: >> On 24/03/2023 19:51, Dipen Patel wrote: >>> On 3/24/23 10:13 AM, Rob Herring wrote: >>>> On Wed, Mar 22, 2023 at 06:29:23PM -0700, Dipen Patel 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; >>>> >>>> Or you just put the name in match data. >>> >>> Not sure I have understood this comment, but "name" the first argument is >>> already there to supply to callback to match data. Also, this if else is >>> needed to know which "name" to provide. >> >> The point is that of_device_is_compatible() do not really scale and make >> code more difficult to read. Your variant-customization should in >> general entirely come from match/driver data. > > Perhaps I should not have mentioned driver related details here about how > this property will help, that detail will go in driver patch. In the next > patch series I will remove this commit and just focus on what this property > is. Regardless of this commit, driver match data is the way to go, not of_device_is_compatible(). Best regards, Krzysztof