On 4/3/23 10:33 PM, Krzysztof Kozlowski wrote: > 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(). I agree... > > > > Best regards, > Krzysztof >