[PATCH V3] bcma: use device from DT (brcm, bus-chipcommon) for SoC GPIO chip

Rafał Miłecki zajec5 at gmail.com
Tue Sep 30 03:41:53 PDT 2014


On 30 September 2014 12:36, Arnd Bergmann <arnd at arndb.de> wrote:
> On Tuesday 30 September 2014 12:22:26 Rafał Miłecki wrote:
>> @@ -218,6 +218,12 @@ int bcma_gpio_init(struct bcma_drv_cc *cc)
>>  #if IS_BUILTIN(CONFIG_BCM47XX)
>>         chip->to_irq            = bcma_gpio_to_irq;
>>  #endif
>> +#if IS_BUILTIN(CONFIG_OF)
>> +       if (cc->core->bus->hosttype == BCMA_HOSTTYPE_SOC)
>> +               chip->of_node   = of_find_compatible_node(
>> +                                       bus->host_pdev->dev.of_node, NULL,
>> +                                       "brcm,bus-chipcommon");
>> +#endif
>>         switch (cc->core->bus->chipinfo.id) {
>
> This doesn't: you are now searching through all nodes starting at the
> axi node rather than searching just through the children.
>
> I think it would be better with the first change in place to set
> chip->of_node to cc->core->dev.of_node, and set that pointer in
> bcma_bus_scan by matching the 'reg' number. I think that is what
> an earlier version of the bcma DT support did in order to find the
> IRQs. We no longer need it for that purpose, but it seems like a
> good idea anyway, as I expect other bcma_devices to have similar
> requirements to add additional properties.

Ohh, of course, I didn't notice that
[PATCH v6] bcma: register bcma as device tree driver
already contains bcma_of_fill_device. This will simplify my search a lot!

-- 
Rafał



More information about the linux-arm-kernel mailing list