[PATCH] bus: brcmstb_gisb: Allow building as module

Florian Fainelli f.fainelli at gmail.com
Thu Nov 4 19:56:12 PDT 2021



On 11/4/2021 7:51 PM, Guenter Roeck wrote:
> On Fri, Sep 24, 2021 at 12:10:34PM -0700, Florian Fainelli wrote:
>> Allow building the Broadcom STB GISB arbiter driver as a module, however
>> similar to interrupt controller drivers, don't allow its unbind/removal
>> since it is not quite prepared for that and we want it to catch bus
>> errors all the time.
>>
>> Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
> 
> Hmm, did you actually test that ?

Great way to introduce someone to a problem, really.

> 
> Building mips:allmodconfig ... failed
> --------------
> Error log:
> <stdin>:1559:2: warning: #warning syscall futex_waitv not implemented [-Wcpp]
> ERROR: modpost: "board_be_handler" [drivers/bus/brcmstb_gisb.ko] undefined!

I did not indeed test a modular build for MIPS and had not anticipated 
it to fail. Thomas, do you have any objections exporting 
board_be_handler to modules or would you rather not do it and force the 
driver to be boolean for MIPS?

> 
> Guenter
> 
>>   drivers/bus/Kconfig        | 2 +-
>>   drivers/bus/brcmstb_gisb.c | 7 ++++++-
>>   2 files changed, 7 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/bus/Kconfig b/drivers/bus/Kconfig
>> index a5b96f3aad67..9cfeae3fc244 100644
>> --- a/drivers/bus/Kconfig
>> +++ b/drivers/bus/Kconfig
>> @@ -30,7 +30,7 @@ config ARM_INTEGRATOR_LM
>>   	  found on the ARM Integrator AP (Application Platform)
>>   
>>   config BRCMSTB_GISB_ARB
>> -	bool "Broadcom STB GISB bus arbiter"
>> +	tristate "Broadcom STB GISB bus arbiter"
>>   	depends on ARM || ARM64 || MIPS
>>   	default ARCH_BRCMSTB || BMIPS_GENERIC
>>   	help
>> diff --git a/drivers/bus/brcmstb_gisb.c b/drivers/bus/brcmstb_gisb.c
>> index 6551286a60cc..4c2f7d61cb9b 100644
>> --- a/drivers/bus/brcmstb_gisb.c
>> +++ b/drivers/bus/brcmstb_gisb.c
>> @@ -1,6 +1,6 @@
>>   // SPDX-License-Identifier: GPL-2.0-only
>>   /*
>> - * Copyright (C) 2014-2017 Broadcom
>> + * Copyright (C) 2014-2021 Broadcom
>>    */
>>   
>>   #include <linux/init.h>
>> @@ -536,6 +536,7 @@ static struct platform_driver brcmstb_gisb_arb_driver = {
>>   		.name	= "brcm-gisb-arb",
>>   		.of_match_table = brcmstb_gisb_arb_of_match,
>>   		.pm	= &brcmstb_gisb_arb_pm_ops,
>> +		.suppress_bind_attrs = true,
>>   	},
>>   };
>>   
>> @@ -546,3 +547,7 @@ static int __init brcm_gisb_driver_init(void)
>>   }
>>   
>>   module_init(brcm_gisb_driver_init);
>> +
>> +MODULE_AUTHOR("Broadcom");
>> +MODULE_DESCRIPTION("Broadcom STB GISB arbiter driver");
>> +MODULE_LICENSE("GPL v2");

-- 
Florian



More information about the linux-arm-kernel mailing list