On Mon, Apr 03, 2023 at 09:24:17PM -0700, 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. I think the point that Rob and Krzysztof are trying to make that rather than adding a new property for this, we can add a const char *gpio field to struct tegra_hte_data and then set that to the compatible string of the GPIO controller that we need this for. To be honest, I slightly prefer the explicit phandle reference, but it also complicates things a bit and looking up by compatible string isn't all that bad. Thierry
Attachment:
signature.asc
Description: PGP signature