Re: [RFC PATCH] ssb: relax SSB_EMBEDDED dependencies

From: Randy Dunlap
Date: Mon Oct 09 2023 - 02:13:20 EST


Hi Michael,

On 10/8/23 07:08, Randy Dunlap wrote:
>
>
> On 10/8/23 00:35, Michael Büsch wrote:
>> Hi Randy,
>>
>> thanks for the patch.
>>
>> On Sat, 7 Oct 2023 11:24:43 -0700
>> Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>>
>>> This is a kconfig warning in a randconfig when CONFIG_PCI is not set:
>>>
>>> WARNING: unmet direct dependencies detected for SSB_EMBEDDED
>>> Depends on [n]: SSB [=y] && SSB_DRIVER_MIPS [=y] &&
>>> SSB_PCICORE_HOSTMODE [=n] Selected by [y]:
>>> - BCM47XX_SSB [=y] && BCM47XX [=y]
>>>
>>> This is caused by arch/mips/bcm47xx/Kconfig's symbol BCM47XX_SSB
>>> selecting SSB_EMBEDDED when CONFIG_PCI is not set.
>>>
>>> This warning can be prevented by having SSB_EMBEDDED not depend on
>>> SSB_PCICORE_HOSTMODE, although some parts of SSB use PCI.
>>
>>> diff -- a/drivers/ssb/Kconfig b/drivers/ssb/Kconfig
>>> --- a/drivers/ssb/Kconfig
>>> +++ b/drivers/ssb/Kconfig
>>> @@ -134,7 +134,7 @@ config SSB_SFLASH
>>> # Assumption: We are on embedded, if we compile the MIPS core.
>>> config SSB_EMBEDDED
>>> bool
>>> - depends on SSB_DRIVER_MIPS && SSB_PCICORE_HOSTMODE
>>> + depends on SSB_DRIVER_MIPS
>>> default y
>>>
>>> config SSB_DRIVER_EXTIF
>>
>> Could we instead make SSB_EMBEDDED depend on SSB_PCICORE_HOSTMODE if
>> PCI!=n. Wouldn't that also solve the problem?
>>
>> I don't fully remember how all this ssb config stuff works, but to
>> me adding a PCICORE->PCI dependency sounds safer against build
>> regressions in some other configurations.
>>
>> What do you think?
>
> I'll test it some and see how it works out.
> Thanks.

The following change seems to work and passes some testing.
Is this what you had in mind?
Thanks.

---
---
drivers/ssb/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff -- a/drivers/ssb/Kconfig b/drivers/ssb/Kconfig
--- a/drivers/ssb/Kconfig
+++ b/drivers/ssb/Kconfig
@@ -134,7 +134,7 @@ config SSB_SFLASH
# Assumption: We are on embedded, if we compile the MIPS core.
config SSB_EMBEDDED
bool
- depends on SSB_DRIVER_MIPS && SSB_PCICORE_HOSTMODE
+ depends on PCI=n || SSB_PCICORE_HOSTMODE
default y

config SSB_DRIVER_EXTIF