Search Linux Wireless

Re: [PATCH] bcma: fix linking problem with of_default_bus_match_table

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 23.07.2015 17:51, Kalle Valo wrote:
> Jonas Gorski <jogo@xxxxxxxxxxx> writes:
> 
>> Hi,
>>
>> On Thu, Jul 23, 2015 at 8:31 AM, Kalle Valo <kvalo@xxxxxxxxxxxxxx> wrote:
>>
>>> diff --git a/drivers/bcma/main.c b/drivers/bcma/main.c
>>> index 59128478a90f..6b7d54622058 100644
>>> --- a/drivers/bcma/main.c
>>> +++ b/drivers/bcma/main.c
>>> @@ -410,7 +410,7 @@ int bcma_bus_register(struct bcma_bus *bus)
>>>                 bcma_core_pci_early_init(&bus->drv_pci[0]);
>>>         }
>>>
>>> -       if (bus->host_pdev) {
>>> +       if (IS_BUILTIN(CONFIG_BCMA) && bus->host_pdev) {
>>>                 struct device *dev = &bus->host_pdev->dev;
>>>
>>>                 of_platform_populate(dev->of_node, of_default_bus_match_table,
>>
>> I think this isn't enough, AFAICT this needs IS_BUILTIN(CONFIG_BCMA)
>> && IS_ENABLED(CONFIG_OF), else it will break with OF=n and BCMA=y, as
>> of_default_bus_match_table is only defined/built-in when OF=y.
> 
> I just tested and OF=n and BCMA=y case built succesfully for me. I think
> it's because of_default_bus_match_table is created even when CONFIG_OF
> is n. Can you double check, please?
> 

Thinking more about it, I know/remember why it complies even if it
shouldn't: the inline prototype for !OF of of_platform_populate does not
use any of the arguments so the compiler optimises the reference out.
So unless you compile with -O0, you are fine.

I always forget that this works, so sorry for the noise.


Jonas
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux