diff mbox series

arm64: make ARCH_BCM4908 select ARCH_BCMBCA

Message ID 20220714045858.7786-1-zajec5@gmail.com (mailing list archive)
State New, archived
Headers show
Series arm64: make ARCH_BCM4908 select ARCH_BCMBCA | expand

Commit Message

Rafał Miłecki July 14, 2022, 4:58 a.m. UTC
From: Rafał Miłecki <rafal@milecki.pl>

BCA is a big set / family of devices sharing multiple hardware blocks.
It covers BCM4908, BCM63xx, BCM68xx devices and more.

Most of drivers that depend on ARCH_BCM4908 should actually depend on
ARCH_BCMBCA. To make such transition easier, cleaner and breakage-free
add a proper "select".

Later on - if we decide to keep ARCH_BCM4908 - it may be moved under
ARCH_BCMBCA menu. Keeping it may be helpful for limited compiling of DTS
files and "default" Kconfig entires. Or we may just decide to drop it.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
 arch/arm64/Kconfig.platforms | 1 +
 1 file changed, 1 insertion(+)

Comments

William Zhang July 14, 2022, 6:35 a.m. UTC | #1
On 7/13/22 21:58, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@milecki.pl>
>
> BCA is a big set / family of devices sharing multiple hardware blocks.
> It covers BCM4908, BCM63xx, BCM68xx devices and more.
>
> Most of drivers that depend on ARCH_BCM4908 should actually depend on
> ARCH_BCMBCA. To make such transition easier, cleaner and breakage-free
> add a proper "select".
>
> Later on - if we decide to keep ARCH_BCM4908 - it may be moved under
> ARCH_BCMBCA menu. Keeping it may be helpful for limited compiling of DTS
> files and "default" Kconfig entires. Or we may just decide to drop it.
>
> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
> ---
>   arch/arm64/Kconfig.platforms | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> index 88ddc2e5b152..7fea6955944e 100644
> --- a/arch/arm64/Kconfig.platforms
> +++ b/arch/arm64/Kconfig.platforms
> @@ -49,6 +49,7 @@ config ARCH_BCM2835
>
>   config ARCH_BCM4908
>       bool "Broadcom BCM4908 family"
> +     select ARCH_BCMBCA
>       select GPIOLIB
>       help
>         This enables support for the Broadcom BCM4906, BCM4908 and
Thank you Rafal for adding this!  Our proposal is to replace with BCMBCA (and I
have a WIP patchset for that). Agree there are pros and cons using
single general config versus individual chip config(we have 15 BCA chip
now in the kernel) as you and Florian were discussing in another
thread. But we feel
single config has more advantage as it can produce the same image to
test all the chips and it is easier to maintain.  That is why we moved BCM63138
ARCH_BCM_63XX to ARCH_BCMBCA.
Florian Fainelli July 14, 2022, 8:45 p.m. UTC | #2
On 7/13/22 23:35, William Zhang wrote:
> On 7/13/22 21:58, Rafał Miłecki wrote:
>> From: Rafał Miłecki <rafal@milecki.pl>
>>
>> BCA is a big set / family of devices sharing multiple hardware blocks.
>> It covers BCM4908, BCM63xx, BCM68xx devices and more.
>>
>> Most of drivers that depend on ARCH_BCM4908 should actually depend on
>> ARCH_BCMBCA. To make such transition easier, cleaner and breakage-free
>> add a proper "select".
>>
>> Later on - if we decide to keep ARCH_BCM4908 - it may be moved under
>> ARCH_BCMBCA menu. Keeping it may be helpful for limited compiling of DTS
>> files and "default" Kconfig entires. Or we may just decide to drop it.
>>
>> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
>> ---
>>    arch/arm64/Kconfig.platforms | 1 +
>>    1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
>> index 88ddc2e5b152..7fea6955944e 100644
>> --- a/arch/arm64/Kconfig.platforms
>> +++ b/arch/arm64/Kconfig.platforms
>> @@ -49,6 +49,7 @@ config ARCH_BCM2835
>>
>>    config ARCH_BCM4908
>>        bool "Broadcom BCM4908 family"
>> +     select ARCH_BCMBCA
>>        select GPIOLIB
>>        help
>>          This enables support for the Broadcom BCM4906, BCM4908 and
> Thank you Rafal for adding this!  Our proposal is to replace with BCMBCA (and I
> have a WIP patchset for that). Agree there are pros and cons using
> single general config versus individual chip config(we have 15 BCA chip
> now in the kernel) as you and Florian were discussing in another
> thread. But we feel
> single config has more advantage as it can produce the same image to
> test all the chips and it is easier to maintain.  That is why we moved BCM63138
> ARCH_BCM_63XX to ARCH_BCMBCA.

Agreed, I would prefer that we consolidate on the ARCH_BCMBCA Kconfig 
symbol and remove ARCH_BCM4908. We ought to be able to do that in a 
single release after v5.20-rc1 contains our pull request.
Kursad Oney July 14, 2022, 9:25 p.m. UTC | #3
Hi William, Florian,

On Thu, Jul 14, 2022 at 4:45 PM Florian Fainelli <f.fainelli@gmail.com> wrote:
>
> On 7/13/22 23:35, William Zhang wrote:
> > On 7/13/22 21:58, Rafał Miłecki wrote:
> >> From: Rafał Miłecki <rafal@milecki.pl>
> >>
> >> BCA is a big set / family of devices sharing multiple hardware blocks.
> >> It covers BCM4908, BCM63xx, BCM68xx devices and more.
> >>
> >> Most of drivers that depend on ARCH_BCM4908 should actually depend on
> >> ARCH_BCMBCA. To make such transition easier, cleaner and breakage-free
> >> add a proper "select".
> >>
> >> Later on - if we decide to keep ARCH_BCM4908 - it may be moved under
> >> ARCH_BCMBCA menu. Keeping it may be helpful for limited compiling of DTS
> >> files and "default" Kconfig entires. Or we may just decide to drop it.
> >>
> >> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
> >> ---
> >>    arch/arm64/Kconfig.platforms | 1 +
> >>    1 file changed, 1 insertion(+)
> >>
> >> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> >> index 88ddc2e5b152..7fea6955944e 100644
> >> --- a/arch/arm64/Kconfig.platforms
> >> +++ b/arch/arm64/Kconfig.platforms
> >> @@ -49,6 +49,7 @@ config ARCH_BCM2835
> >>
> >>    config ARCH_BCM4908
> >>        bool "Broadcom BCM4908 family"
> >> +     select ARCH_BCMBCA
> >>        select GPIOLIB
> >>        help
> >>          This enables support for the Broadcom BCM4906, BCM4908 and
> > Thank you Rafal for adding this!  Our proposal is to replace with BCMBCA (and I
> > have a WIP patchset for that). Agree there are pros and cons using
> > single general config versus individual chip config(we have 15 BCA chip
> > now in the kernel) as you and Florian were discussing in another
> > thread. But we feel
> > single config has more advantage as it can produce the same image to
> > test all the chips and it is easier to maintain.  That is why we moved BCM63138
> > ARCH_BCM_63XX to ARCH_BCMBCA.
>
> Agreed, I would prefer that we consolidate on the ARCH_BCMBCA Kconfig
> symbol and remove ARCH_BCM4908. We ought to be able to do that in a
> single release after v5.20-rc1 contains our pull request.

You could take Rafal's change, adding a "deprecated / will be removed"
note to the ARCH_BCM4908 Kconfig text and postpone the removal for a
cycle or two? Maybe overly cautious but just a thought.

> --
> Florian
Rafał Miłecki July 15, 2022, 6:18 a.m. UTC | #4
On 14.07.2022 23:25, Kursad Oney wrote:
> On Thu, Jul 14, 2022 at 4:45 PM Florian Fainelli <f.fainelli@gmail.com> wrote:
>>
>> On 7/13/22 23:35, William Zhang wrote:
>>> On 7/13/22 21:58, Rafał Miłecki wrote:
>>>> From: Rafał Miłecki <rafal@milecki.pl>
>>>>
>>>> BCA is a big set / family of devices sharing multiple hardware blocks.
>>>> It covers BCM4908, BCM63xx, BCM68xx devices and more.
>>>>
>>>> Most of drivers that depend on ARCH_BCM4908 should actually depend on
>>>> ARCH_BCMBCA. To make such transition easier, cleaner and breakage-free
>>>> add a proper "select".
>>>>
>>>> Later on - if we decide to keep ARCH_BCM4908 - it may be moved under
>>>> ARCH_BCMBCA menu. Keeping it may be helpful for limited compiling of DTS
>>>> files and "default" Kconfig entires. Or we may just decide to drop it.
>>>>
>>>> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
>>>> ---
>>>>     arch/arm64/Kconfig.platforms | 1 +
>>>>     1 file changed, 1 insertion(+)
>>>>
>>>> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
>>>> index 88ddc2e5b152..7fea6955944e 100644
>>>> --- a/arch/arm64/Kconfig.platforms
>>>> +++ b/arch/arm64/Kconfig.platforms
>>>> @@ -49,6 +49,7 @@ config ARCH_BCM2835
>>>>
>>>>     config ARCH_BCM4908
>>>>         bool "Broadcom BCM4908 family"
>>>> +     select ARCH_BCMBCA
>>>>         select GPIOLIB
>>>>         help
>>>>           This enables support for the Broadcom BCM4906, BCM4908 and
>>> Thank you Rafal for adding this!  Our proposal is to replace with BCMBCA (and I
>>> have a WIP patchset for that). Agree there are pros and cons using
>>> single general config versus individual chip config(we have 15 BCA chip
>>> now in the kernel) as you and Florian were discussing in another
>>> thread. But we feel
>>> single config has more advantage as it can produce the same image to
>>> test all the chips and it is easier to maintain.  That is why we moved BCM63138
>>> ARCH_BCM_63XX to ARCH_BCMBCA.
>>
>> Agreed, I would prefer that we consolidate on the ARCH_BCMBCA Kconfig
>> symbol and remove ARCH_BCM4908. We ought to be able to do that in a
>> single release after v5.20-rc1 contains our pull request.
> 
> You could take Rafal's change, adding a "deprecated / will be removed"
> note to the ARCH_BCM4908 Kconfig text and postpone the removal for a
> cycle or two? Maybe overly cautious but just a thought.

The point of my patch was to make sure that users switching from 5.19 to
5.20 will get ARCH_BCMBCA=y in their config automatically. That's meant
to avoid at least some breakages and keep kernel easily bisectable.

I wrote that *later* we can leave or drop ARCH_BCM4908 to *avoid*
discussing it right now. That should ideally be considered once we see
all patches actually dropping ARCH_BCM4908.

Of couse my intention didn't work and I actually started a blind
discussion now ;)
Florian Fainelli July 15, 2022, 5:17 p.m. UTC | #5
On 7/13/22 21:58, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@milecki.pl>
> 
> BCA is a big set / family of devices sharing multiple hardware blocks.
> It covers BCM4908, BCM63xx, BCM68xx devices and more.
> 
> Most of drivers that depend on ARCH_BCM4908 should actually depend on
> ARCH_BCMBCA. To make such transition easier, cleaner and breakage-free
> add a proper "select".
> 
> Later on - if we decide to keep ARCH_BCM4908 - it may be moved under
> ARCH_BCMBCA menu. Keeping it may be helpful for limited compiling of DTS
> files and "default" Kconfig entires. Or we may just decide to drop it.
> 
> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>

OK, so in an effort to have a smoother transition of ARCH_BCM4908 towards ARCH_BCMBCA, I am inclined to take this patch right now, put it in a part2 of our recent ARM SoC pull request and try to get it in v5.20-rc1.

Then William can go ahead and do a treewide s/ARCH_BCM4908/ARCH_BCMBCA/g which we would be queuing up *against* v5.20-rc1 for 5.21. This ought to assure a smooth transition for "make oldconfig".

Sounds good? If so, William, Kursad, do you want to ack that patch?
William Zhang July 15, 2022, 5:37 p.m. UTC | #6
On 07/15/2022 10:17 AM, Florian Fainelli wrote:
> On 7/13/22 21:58, Rafał Miłecki wrote:
>> From: Rafał Miłecki <rafal@milecki.pl>
>>
>> BCA is a big set / family of devices sharing multiple hardware blocks.
>> It covers BCM4908, BCM63xx, BCM68xx devices and more.
>>
>> Most of drivers that depend on ARCH_BCM4908 should actually depend on
>> ARCH_BCMBCA. To make such transition easier, cleaner and breakage-free
>> add a proper "select".
>>
>> Later on - if we decide to keep ARCH_BCM4908 - it may be moved under
>> ARCH_BCMBCA menu. Keeping it may be helpful for limited compiling of DTS
>> files and "default" Kconfig entires. Or we may just decide to drop it.
>>
>> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
> 
> OK, so in an effort to have a smoother transition of ARCH_BCM4908 towards ARCH_BCMBCA, I am inclined to take this patch right now, put it in a part2 of our recent ARM SoC pull request and try to get it in v5.20-rc1.
> 
> Then William can go ahead and do a treewide s/ARCH_BCM4908/ARCH_BCMBCA/g which we would be queuing up *against* v5.20-rc1 for 5.21. This ought to assure a smooth transition for "make oldconfig".
> 
> Sounds good? If so, William, Kursad, do you want to ack that patch?
> 
Sounds good to me. Thanks Florian!
William Zhang July 15, 2022, 5:39 p.m. UTC | #7
On 07/13/2022 09:58 PM, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@milecki.pl>
> 
> BCA is a big set / family of devices sharing multiple hardware blocks.
> It covers BCM4908, BCM63xx, BCM68xx devices and more.
> 
> Most of drivers that depend on ARCH_BCM4908 should actually depend on
> ARCH_BCMBCA. To make such transition easier, cleaner and breakage-free
> add a proper "select".
> 
> Later on - if we decide to keep ARCH_BCM4908 - it may be moved under
> ARCH_BCMBCA menu. Keeping it may be helpful for limited compiling of DTS
> files and "default" Kconfig entires. Or we may just decide to drop it.
> 
> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
> ---
>   arch/arm64/Kconfig.platforms | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> index 88ddc2e5b152..7fea6955944e 100644
> --- a/arch/arm64/Kconfig.platforms
> +++ b/arch/arm64/Kconfig.platforms
> @@ -49,6 +49,7 @@ config ARCH_BCM2835
>   
>   config ARCH_BCM4908
>   	bool "Broadcom BCM4908 family"
> +	select ARCH_BCMBCA
>   	select GPIOLIB
>   	help
>   	  This enables support for the Broadcom BCM4906, BCM4908 and
> 
Acked-by: William Zhang <william.zhang@broadcom.com>
Rafał Miłecki July 15, 2022, 6:07 p.m. UTC | #8
On 15.07.2022 19:17, Florian Fainelli wrote:
> On 7/13/22 21:58, Rafał Miłecki wrote:
>> From: Rafał Miłecki <rafal@milecki.pl>
>>
>> BCA is a big set / family of devices sharing multiple hardware blocks.
>> It covers BCM4908, BCM63xx, BCM68xx devices and more.
>>
>> Most of drivers that depend on ARCH_BCM4908 should actually depend on
>> ARCH_BCMBCA. To make such transition easier, cleaner and breakage-free
>> add a proper "select".
>>
>> Later on - if we decide to keep ARCH_BCM4908 - it may be moved under
>> ARCH_BCMBCA menu. Keeping it may be helpful for limited compiling of DTS
>> files and "default" Kconfig entires. Or we may just decide to drop it.
>>
>> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
> 
> OK, so in an effort to have a smoother transition of ARCH_BCM4908 towards ARCH_BCMBCA, I am inclined to take this patch right now, put it in a part2 of our recent ARM SoC pull request and try to get it in v5.20-rc1.
> 
> Then William can go ahead and do a treewide s/ARCH_BCM4908/ARCH_BCMBCA/g which we would be queuing up *against* v5.20-rc1 for 5.21. This ought to assure a smooth transition for "make oldconfig".
> 
> Sounds good? If so, William, Kursad, do you want to ack that patch?

Sounds good, thanks a lot!
Florian Fainelli July 15, 2022, 9:56 p.m. UTC | #9
On Thu, 14 Jul 2022 06:58:58 +0200, Rafał Miłecki <zajec5@gmail.com> wrote:
> From: Rafał Miłecki <rafal@milecki.pl>
> 
> BCA is a big set / family of devices sharing multiple hardware blocks.
> It covers BCM4908, BCM63xx, BCM68xx devices and more.
> 
> Most of drivers that depend on ARCH_BCM4908 should actually depend on
> ARCH_BCMBCA. To make such transition easier, cleaner and breakage-free
> add a proper "select".
> 
> Later on - if we decide to keep ARCH_BCM4908 - it may be moved under
> ARCH_BCMBCA menu. Keeping it may be helpful for limited compiling of DTS
> files and "default" Kconfig entires. Or we may just decide to drop it.
> 
> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
> ---

Applied to https://github.com/Broadcom/stblinux/commits/devicetree-arm64/next, thanks!
--
Florian
diff mbox series

Patch

diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 88ddc2e5b152..7fea6955944e 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -49,6 +49,7 @@  config ARCH_BCM2835
 
 config ARCH_BCM4908
 	bool "Broadcom BCM4908 family"
+	select ARCH_BCMBCA
 	select GPIOLIB
 	help
 	  This enables support for the Broadcom BCM4906, BCM4908 and