All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/5] ARM: Broadcom BCM4760 support
@ 2013-07-26 14:56 Domenico Andreoli
  2013-07-26 14:56 ` [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm Domenico Andreoli
                   ` (5 more replies)
  0 siblings, 6 replies; 32+ messages in thread
From: Domenico Andreoli @ 2013-07-26 14:56 UTC (permalink / raw)
  To: linux-arm-kernel

Hi all,

  this is my best proposal for the BCM4760 SoC support so far.

I think I've addressed all the comments made to the previous
patches. Details of the changes since v1 are in each patch.

Ehm... if possible, please review. Thank you.

Best regards,
Domenico

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 14:56 [PATCH v2 0/5] ARM: Broadcom BCM4760 support Domenico Andreoli
@ 2013-07-26 14:56 ` Domenico Andreoli
  2013-07-26 15:29   ` Jason Cooper
  2013-07-26 17:24   ` Olof Johansson
  2013-07-26 14:56 ` [PATCH v2 2/5] ARM: bcm4760: Add platform infrastructure Domenico Andreoli
                   ` (4 subsequent siblings)
  5 siblings, 2 replies; 32+ messages in thread
From: Domenico Andreoli @ 2013-07-26 14:56 UTC (permalink / raw)
  To: linux-arm-kernel

An embedded and charset-unspecified text was scrubbed...
Name: arm-unconditionally-build-in-mach-bcm.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130726/0f13451e/attachment.ksh>

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 2/5] ARM: bcm4760: Add platform infrastructure
  2013-07-26 14:56 [PATCH v2 0/5] ARM: Broadcom BCM4760 support Domenico Andreoli
  2013-07-26 14:56 ` [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm Domenico Andreoli
@ 2013-07-26 14:56 ` Domenico Andreoli
  2013-07-26 14:56 ` [PATCH v2 3/5] ARM: bcm4760: Add system timer Domenico Andreoli
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 32+ messages in thread
From: Domenico Andreoli @ 2013-07-26 14:56 UTC (permalink / raw)
  To: linux-arm-kernel

An embedded and charset-unspecified text was scrubbed...
Name: arm-bcm476x-add-infrastructure.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130726/af3ec8a5/attachment.ksh>

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 3/5] ARM: bcm4760: Add system timer
  2013-07-26 14:56 [PATCH v2 0/5] ARM: Broadcom BCM4760 support Domenico Andreoli
  2013-07-26 14:56 ` [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm Domenico Andreoli
  2013-07-26 14:56 ` [PATCH v2 2/5] ARM: bcm4760: Add platform infrastructure Domenico Andreoli
@ 2013-07-26 14:56 ` Domenico Andreoli
  2013-07-26 14:56 ` [PATCH v2 4/5] ARM: bcm4760: Add ripple counter Domenico Andreoli
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 32+ messages in thread
From: Domenico Andreoli @ 2013-07-26 14:56 UTC (permalink / raw)
  To: linux-arm-kernel

An embedded and charset-unspecified text was scrubbed...
Name: arm-bcm476x-add-system-timer.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130726/7d59c5a0/attachment.ksh>

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 4/5] ARM: bcm4760: Add ripple counter
  2013-07-26 14:56 [PATCH v2 0/5] ARM: Broadcom BCM4760 support Domenico Andreoli
                   ` (2 preceding siblings ...)
  2013-07-26 14:56 ` [PATCH v2 3/5] ARM: bcm4760: Add system timer Domenico Andreoli
@ 2013-07-26 14:56 ` Domenico Andreoli
  2013-07-26 14:56 ` [PATCH v2 5/5] ARM: bcm4760: Add restart hook Domenico Andreoli
  2013-07-26 15:33 ` [PATCH v2 0/5] ARM: Broadcom BCM4760 support Jason Cooper
  5 siblings, 0 replies; 32+ messages in thread
From: Domenico Andreoli @ 2013-07-26 14:56 UTC (permalink / raw)
  To: linux-arm-kernel

An embedded and charset-unspecified text was scrubbed...
Name: arm-bcm476x-add-ripple-counter.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130726/202cecb9/attachment.ksh>

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 5/5] ARM: bcm4760: Add restart hook
  2013-07-26 14:56 [PATCH v2 0/5] ARM: Broadcom BCM4760 support Domenico Andreoli
                   ` (3 preceding siblings ...)
  2013-07-26 14:56 ` [PATCH v2 4/5] ARM: bcm4760: Add ripple counter Domenico Andreoli
@ 2013-07-26 14:56 ` Domenico Andreoli
  2013-07-26 15:33 ` [PATCH v2 0/5] ARM: Broadcom BCM4760 support Jason Cooper
  5 siblings, 0 replies; 32+ messages in thread
From: Domenico Andreoli @ 2013-07-26 14:56 UTC (permalink / raw)
  To: linux-arm-kernel

An embedded and charset-unspecified text was scrubbed...
Name: arm-bcm476x-add-restart-hook.patch
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130726/6647443a/attachment.ksh>

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 14:56 ` [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm Domenico Andreoli
@ 2013-07-26 15:29   ` Jason Cooper
  2013-07-26 15:55     ` Christian Daudt
  2013-07-26 21:59     ` Domenico Andreoli
  2013-07-26 17:24   ` Olof Johansson
  1 sibling, 2 replies; 32+ messages in thread
From: Jason Cooper @ 2013-07-26 15:29 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 26, 2013 at 04:56:40PM +0200, Domenico Andreoli wrote:
> From: Domenico Andreoli <domenico.andreoli@linux.com>
> 
> arch/arm/mach-bcm contains a plurality of Broadcom SoCs, each configured
> separately. As a matter of flexibility and maintenance, it needs to be
> always included in the build.

So if I'm building mach-kirkwood, I _have_ to build Broadcom?  What is
the *specific* problem you're encountering that this solves?

Notice:

$ git grep '^machine-y'
$

thx,

Jason.

> Cc: Christian Daudt <csd@broadcom.com>
> Cc: linux-arm-kernel at lists.infradead.org
> Signed-off-by: Domenico Andreoli <domenico.andreoli@linux.com>
> ---
>  arch/arm/Makefile |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> Index: b/arch/arm/Makefile
> ===================================================================
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -145,7 +145,7 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x0020
>  # Machine directory name.  This list is sorted alphanumerically
>  # by CONFIG_* macro name.
>  machine-$(CONFIG_ARCH_AT91)		+= at91
> -machine-$(CONFIG_ARCH_BCM)		+= bcm
> +machine-y				+= bcm
>  machine-$(CONFIG_ARCH_BCM2835)		+= bcm2835
>  machine-$(CONFIG_ARCH_CLPS711X)		+= clps711x
>  machine-$(CONFIG_ARCH_CNS3XXX)		+= cns3xxx
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 0/5] ARM: Broadcom BCM4760 support
  2013-07-26 14:56 [PATCH v2 0/5] ARM: Broadcom BCM4760 support Domenico Andreoli
                   ` (4 preceding siblings ...)
  2013-07-26 14:56 ` [PATCH v2 5/5] ARM: bcm4760: Add restart hook Domenico Andreoli
@ 2013-07-26 15:33 ` Jason Cooper
  5 siblings, 0 replies; 32+ messages in thread
From: Jason Cooper @ 2013-07-26 15:33 UTC (permalink / raw)
  To: linux-arm-kernel

Domenico,

On Fri, Jul 26, 2013 at 04:56:39PM +0200, Domenico Andreoli wrote:
> Hi all,
> 
>   this is my best proposal for the BCM4760 SoC support so far.
> 
> I think I've addressed all the comments made to the previous
> patches. Details of the changes since v1 are in each patch.
> 
> Ehm... if possible, please review. Thank you.

Please separate devicetree binding documentation from code changes and
make sure those patches are Cc:'d to devicetree at vger.kernel.org.

thx,

Jason.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 15:29   ` Jason Cooper
@ 2013-07-26 15:55     ` Christian Daudt
  2013-07-26 17:11       ` Jason Cooper
  2013-07-26 21:59     ` Domenico Andreoli
  1 sibling, 1 reply; 32+ messages in thread
From: Christian Daudt @ 2013-07-26 15:55 UTC (permalink / raw)
  To: linux-arm-kernel

[resend in plain text]
On 13-07-26 08:29 AM, Jason Cooper wrote:
> On Fri, Jul 26, 2013 at 04:56:40PM +0200, Domenico Andreoli wrote:
>> From: Domenico Andreoli<domenico.andreoli@linux.com>
>>
>> arch/arm/mach-bcm contains a plurality of Broadcom SoCs, each configured
>> separately. As a matter of flexibility and maintenance, it needs to be
>> always included in the build.
> So if I'm building mach-kirkwood, I _have_ to build Broadcom?  What is
> the *specific* problem you're encountering that this solves?
  No it won't, as the Makefile inside mach-bcm will only pull in files 
based on ARCH_ settings. This move is so that a number different 
Broadcom SoCs can co-exist inside the mach-bcm directory.
>> Cc: Christian Daudt<csd@broadcom.com>
>> Cc:linux-arm-kernel at lists.infradead.org
>> Signed-off-by: Domenico Andreoli<domenico.andreoli@linux.com>
>> ---
>>   arch/arm/Makefile |    2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> Index: b/arch/arm/Makefile
>> ===================================================================
>> --- a/arch/arm/Makefile
>> +++ b/arch/arm/Makefile
>> @@ -145,7 +145,7 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x0020
>>   # Machine directory name.  This list is sorted alphanumerically
>>   # by CONFIG_* macro name.
>>   machine-$(CONFIG_ARCH_AT91)		+= at91
>> -machine-$(CONFIG_ARCH_BCM)		+= bcm
>> +machine-y				+= bcm
>>   machine-$(CONFIG_ARCH_BCM2835)		+= bcm2835
>>   machine-$(CONFIG_ARCH_CLPS711X)		+= clps711x
>>   machine-$(CONFIG_ARCH_CNS3XXX)		+= cns3xxx
>>
>>
This patch is already contained in Hauke's patchset from yesterday ( 
http://article.gmane.org/gmane.linux.ports.arm.kernel/254986) so you'll 
need to sync with him on it. In case yours goes in first:
Acked-by: Christian Daudt <csd@broadcom.com>

  Thanks,
    csd

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 15:55     ` Christian Daudt
@ 2013-07-26 17:11       ` Jason Cooper
  2013-07-26 17:17         ` Christian Daudt
  0 siblings, 1 reply; 32+ messages in thread
From: Jason Cooper @ 2013-07-26 17:11 UTC (permalink / raw)
  To: linux-arm-kernel

Christian,

On Fri, Jul 26, 2013 at 08:55:42AM -0700, Christian Daudt wrote:
> [resend in plain text]
> On 13-07-26 08:29 AM, Jason Cooper wrote:
> >On Fri, Jul 26, 2013 at 04:56:40PM +0200, Domenico Andreoli wrote:
> >>From: Domenico Andreoli<domenico.andreoli@linux.com>
> >>
> >>arch/arm/mach-bcm contains a plurality of Broadcom SoCs, each configured
> >>separately. As a matter of flexibility and maintenance, it needs to be
> >>always included in the build.
> >
> >So if I'm building mach-kirkwood, I _have_ to build Broadcom?  What is
> >the *specific* problem you're encountering that this solves?
> 
>  No it won't, as the Makefile inside mach-bcm will only pull in
> files based on ARCH_ settings. This move is so that a number
> different Broadcom SoCs can co-exist inside the mach-bcm directory.


Why wouldn't this work?

---->8-------
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index ba412e0..97b6aff 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -366,6 +366,12 @@ config ARCH_AT91
 	  This enables support for systems based on Atmel
 	  AT91RM9200 and AT91SAM9* processors.
 
+config ARCH_BCM
+	bool "Broadcom family SoCs"
+	help
+	  This enables support for systems based on the Broadcom
+	  bcm4760 and bcm281XX series SoCs.
+
 config ARCH_CLPS711X
 	bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
 	select ARCH_REQUIRE_GPIOLIB
diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig
index f112895..4b1f9db 100644
--- a/arch/arm/mach-bcm/Kconfig
+++ b/arch/arm/mach-bcm/Kconfig
@@ -1,5 +1,9 @@
-config ARCH_BCM
-	bool "Broadcom SoC" if ARCH_MULTI_V7
+if ARCH_BCM
+
+menu "Broadcom SoC Implementations"
+
+config MACH_BCM281XX
+	bool "BCM281XX SoCs" if ARCH_MULTI_V7
 	depends on MMU
 	select ARCH_REQUIRE_GPIOLIB
 	select ARM_ERRATA_754322
@@ -17,3 +21,7 @@ config ARCH_BCM
 	  It currently supports the 'BCM281XX' family, which includes
 	  BCM11130, BCM11140, BCM11351, BCM28145 and
 	  BCM28155 variants.
+
+endmenu
+
+endif
diff --git a/arch/arm/mach-bcm/Makefile b/arch/arm/mach-bcm/Makefile
index 6adb6aec..e3f8f27 100644
--- a/arch/arm/mach-bcm/Makefile
+++ b/arch/arm/mach-bcm/Makefile
@@ -10,6 +10,6 @@
 # of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 
-obj-$(CONFIG_ARCH_BCM)		:= board_bcm.o bcm_kona_smc.o bcm_kona_smc_asm.o
+obj-$(CONFIG_MACH_BCM281XX)	:= board_bcm.o bcm_kona_smc.o bcm_kona_smc_asm.o
 plus_sec := $(call as-instr,.arch_extension sec,+sec)
 AFLAGS_bcm_kona_smc_asm.o	:=-Wa,-march=armv7-a$(plus_sec)

^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 17:11       ` Jason Cooper
@ 2013-07-26 17:17         ` Christian Daudt
  2013-07-26 17:33           ` Jason Cooper
  2013-07-26 18:47           ` Russell King - ARM Linux
  0 siblings, 2 replies; 32+ messages in thread
From: Christian Daudt @ 2013-07-26 17:17 UTC (permalink / raw)
  To: linux-arm-kernel

On 13-07-26 10:11 AM, Jason Cooper wrote:
> Christian,
>
> On Fri, Jul 26, 2013 at 08:55:42AM -0700, Christian Daudt wrote:
>> [resend in plain text]
>> On 13-07-26 08:29 AM, Jason Cooper wrote:
>>> On Fri, Jul 26, 2013 at 04:56:40PM +0200, Domenico Andreoli wrote:
>>>> From: Domenico Andreoli<domenico.andreoli@linux.com>
>>>>
>>>> arch/arm/mach-bcm contains a plurality of Broadcom SoCs, each configured
>>>> separately. As a matter of flexibility and maintenance, it needs to be
>>>> always included in the build.
>>> So if I'm building mach-kirkwood, I _have_ to build Broadcom?  What is
>>> the *specific* problem you're encountering that this solves?
>>   No it won't, as the Makefile inside mach-bcm will only pull in
>> files based on ARCH_ settings. This move is so that a number
>> different Broadcom SoCs can co-exist inside the mach-bcm directory.
>
> Why wouldn't this work?
>
> ---->8-------
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index ba412e0..97b6aff 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -366,6 +366,12 @@ config ARCH_AT91
>   	  This enables support for systems based on Atmel
>   	  AT91RM9200 and AT91SAM9* processors.
>   
> +config ARCH_BCM
> +	bool "Broadcom family SoCs"
> +	help
> +	  This enables support for systems based on the Broadcom
> +	  bcm4760 and bcm281XX series SoCs.
> +
>   config ARCH_CLPS711X
>   	bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
>   	select ARCH_REQUIRE_GPIOLIB
> diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig
> index f112895..4b1f9db 100644
> --- a/arch/arm/mach-bcm/Kconfig
> +++ b/arch/arm/mach-bcm/Kconfig
> @@ -1,5 +1,9 @@
> -config ARCH_BCM
> -	bool "Broadcom SoC" if ARCH_MULTI_V7
> +if ARCH_BCM
> +
> +menu "Broadcom SoC Implementations"
> +
> +config MACH_BCM281XX
> +	bool "BCM281XX SoCs" if ARCH_MULTI_V7
>   	depends on MMU
>   	select ARCH_REQUIRE_GPIOLIB
>   	select ARM_ERRATA_754322
> @@ -17,3 +21,7 @@ config ARCH_BCM
>   	  It currently supports the 'BCM281XX' family, which includes
>   	  BCM11130, BCM11140, BCM11351, BCM28145 and
>   	  BCM28155 variants.
> +
> +endmenu
> +
> +endif
> diff --git a/arch/arm/mach-bcm/Makefile b/arch/arm/mach-bcm/Makefile
> index 6adb6aec..e3f8f27 100644
> --- a/arch/arm/mach-bcm/Makefile
> +++ b/arch/arm/mach-bcm/Makefile
> @@ -10,6 +10,6 @@
>   # of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>   # GNU General Public License for more details.
>   
> -obj-$(CONFIG_ARCH_BCM)		:= board_bcm.o bcm_kona_smc.o bcm_kona_smc_asm.o
> +obj-$(CONFIG_MACH_BCM281XX)	:= board_bcm.o bcm_kona_smc.o bcm_kona_smc_asm.o
>   plus_sec := $(call as-instr,.arch_extension sec,+sec)
>   AFLAGS_bcm_kona_smc_asm.o	:=-Wa,-march=armv7-a$(plus_sec)
>
Because ARCH_BCM is meant to be used for a number of SoC families. We've 
started upstreaming one (the BCM281XX) but have 2 more internally that 
we're working towards upstreaming. And in the future our plan is to keep 
the Broadcom Mobile SoCs all building under this single ARCH_BCM 
configuration as multiplatform code building a single zImage for them.
The intent of mach-bcm on the other hand is to aggregate future SoC 
chips beyond ARCH_BCM (which is mobile SoC focused) to include other 
Broadcom ARM based SoCs. And there are 2 in the wings at the moment 
making their way into mainline as patches. The idea here being that with 
the new multiplatform code, the mach- dirs contain so little code that 
it makes sense to aggregate a bunch of SoCs from the same company in 
there (and we are the guinea pig on this one).

  Thanks,
    csd

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 14:56 ` [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm Domenico Andreoli
  2013-07-26 15:29   ` Jason Cooper
@ 2013-07-26 17:24   ` Olof Johansson
  1 sibling, 0 replies; 32+ messages in thread
From: Olof Johansson @ 2013-07-26 17:24 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On Fri, Jul 26, 2013 at 7:56 AM, Domenico Andreoli
<domenico.andreoli@linux.com> wrote:
> From: Domenico Andreoli <domenico.andreoli@linux.com>
>
> arch/arm/mach-bcm contains a plurality of Broadcom SoCs, each configured
> separately. As a matter of flexibility and maintenance, it needs to be
> always included in the build.
>
> Cc: Christian Daudt <csd@broadcom.com>
> Cc: linux-arm-kernel at lists.infradead.org
> Signed-off-by: Domenico Andreoli <domenico.andreoli@linux.com>
> ---
>  arch/arm/Makefile |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: b/arch/arm/Makefile
> ===================================================================
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -145,7 +145,7 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x0020
>  # Machine directory name.  This list is sorted alphanumerically
>  # by CONFIG_* macro name.
>  machine-$(CONFIG_ARCH_AT91)            += at91
> -machine-$(CONFIG_ARCH_BCM)             += bcm
> +machine-y                              += bcm
>  machine-$(CONFIG_ARCH_BCM2835)         += bcm2835
>  machine-$(CONFIG_ARCH_CLPS711X)                += clps711x
>  machine-$(CONFIG_ARCH_CNS3XXX)         += cns3xxx

It's hard to tell what you're trying to do here, since the current
in-tree code works just fine and you're alluding to it having
problems. :)

Are you looking to add new selection of per-SoC config options? If so,
I propose keeping ARCH_BCM as a common, but silent, option that is
just selected by the other SoCs.  See how OMAP does it where
OMAP2/3/4/5 all select ARCH_OMAP2PLUS for comparison.


-Olof

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 17:17         ` Christian Daudt
@ 2013-07-26 17:33           ` Jason Cooper
  2013-07-26 18:47           ` Russell King - ARM Linux
  1 sibling, 0 replies; 32+ messages in thread
From: Jason Cooper @ 2013-07-26 17:33 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 26, 2013 at 10:17:33AM -0700, Christian Daudt wrote:
> On 13-07-26 10:11 AM, Jason Cooper wrote:
> >Christian,
> >
> >On Fri, Jul 26, 2013 at 08:55:42AM -0700, Christian Daudt wrote:
> >>[resend in plain text]
> >>On 13-07-26 08:29 AM, Jason Cooper wrote:
> >>>On Fri, Jul 26, 2013 at 04:56:40PM +0200, Domenico Andreoli wrote:
> >>>>From: Domenico Andreoli<domenico.andreoli@linux.com>
> >>>>
> >>>>arch/arm/mach-bcm contains a plurality of Broadcom SoCs, each configured
> >>>>separately. As a matter of flexibility and maintenance, it needs to be
> >>>>always included in the build.
> >>>So if I'm building mach-kirkwood, I _have_ to build Broadcom?  What is
> >>>the *specific* problem you're encountering that this solves?
> >>  No it won't, as the Makefile inside mach-bcm will only pull in
> >>files based on ARCH_ settings. This move is so that a number
> >>different Broadcom SoCs can co-exist inside the mach-bcm directory.
> >
> >Why wouldn't this work?
> >
> >---->8-------
> >diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> >index ba412e0..97b6aff 100644
> >--- a/arch/arm/Kconfig
> >+++ b/arch/arm/Kconfig
> >@@ -366,6 +366,12 @@ config ARCH_AT91
> >  	  This enables support for systems based on Atmel
> >  	  AT91RM9200 and AT91SAM9* processors.
> >+config ARCH_BCM
> >+	bool "Broadcom family SoCs"
> >+	help
> >+	  This enables support for systems based on the Broadcom
> >+	  bcm4760 and bcm281XX series SoCs.
> >+
> >  config ARCH_CLPS711X
> >  	bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
> >  	select ARCH_REQUIRE_GPIOLIB
> >diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig
> >index f112895..4b1f9db 100644
> >--- a/arch/arm/mach-bcm/Kconfig
> >+++ b/arch/arm/mach-bcm/Kconfig
> >@@ -1,5 +1,9 @@
> >-config ARCH_BCM
> >-	bool "Broadcom SoC" if ARCH_MULTI_V7
> >+if ARCH_BCM
> >+
> >+menu "Broadcom SoC Implementations"
> >+
> >+config MACH_BCM281XX
> >+	bool "BCM281XX SoCs" if ARCH_MULTI_V7
> >  	depends on MMU
> >  	select ARCH_REQUIRE_GPIOLIB
> >  	select ARM_ERRATA_754322
> >@@ -17,3 +21,7 @@ config ARCH_BCM
> >  	  It currently supports the 'BCM281XX' family, which includes
> >  	  BCM11130, BCM11140, BCM11351, BCM28145 and
> >  	  BCM28155 variants.
> >+
> >+endmenu
> >+
> >+endif
> >diff --git a/arch/arm/mach-bcm/Makefile b/arch/arm/mach-bcm/Makefile
> >index 6adb6aec..e3f8f27 100644
> >--- a/arch/arm/mach-bcm/Makefile
> >+++ b/arch/arm/mach-bcm/Makefile
> >@@ -10,6 +10,6 @@
> >  # of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> >  # GNU General Public License for more details.
> >-obj-$(CONFIG_ARCH_BCM)		:= board_bcm.o bcm_kona_smc.o bcm_kona_smc_asm.o
> >+obj-$(CONFIG_MACH_BCM281XX)	:= board_bcm.o bcm_kona_smc.o bcm_kona_smc_asm.o
> >  plus_sec := $(call as-instr,.arch_extension sec,+sec)
> >  AFLAGS_bcm_kona_smc_asm.o	:=-Wa,-march=armv7-a$(plus_sec)
> >
> Because ARCH_BCM is meant to be used for a number of SoC families.

As is ARCH_MVEBU for Marvell.  As kirkwood, dove, orion5x and mv78xx0
complete their conversion to DT and are multiplatform capable, they will
be migrated to mach-mvebu.  As is, it already contains two flavors of
their Armada SoCs.  mach-mvebu/Kconfig does things a little differently
than what I proposed above.  But the end result is the same because the
mach-mvebu/Kconfig file gets sourced, just like mach-bcm/Kconfig.

> We've started upstreaming one (the BCM281XX) but have 2 more
> internally that we're working towards upstreaming. And in the future
> our plan is to keep the Broadcom Mobile SoCs all building under this
> single ARCH_BCM configuration as multiplatform code building a
> single zImage for them.
> The intent of mach-bcm on the other hand is to aggregate future SoC
> chips beyond ARCH_BCM (which is mobile SoC focused) to include other
> Broadcom ARM based SoCs. And there are 2 in the wings at the moment
> making their way into mainline as patches. The idea here being that
> with the new multiplatform code, the mach- dirs contain so little
> code that it makes sense to aggregate a bunch of SoCs from the same
> company in there (and we are the guinea pig on this one).

So are we ;-)

thx,

Jason.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 17:17         ` Christian Daudt
  2013-07-26 17:33           ` Jason Cooper
@ 2013-07-26 18:47           ` Russell King - ARM Linux
  2013-07-26 19:09             ` Christian Daudt
  1 sibling, 1 reply; 32+ messages in thread
From: Russell King - ARM Linux @ 2013-07-26 18:47 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 26, 2013 at 10:17:33AM -0700, Christian Daudt wrote:
> Because ARCH_BCM is meant to be used for a number of SoC families. We've  
> started upstreaming one (the BCM281XX) but have 2 more internally that  
> we're working towards upstreaming. And in the future our plan is to keep  
> the Broadcom Mobile SoCs all building under this single ARCH_BCM  
> configuration as multiplatform code building a single zImage for them.

1. We're moving to a single zImage for everything.  Not just Broadcom.
There's no need for Broadcom stuff to be treated any differently.
Participate in the single zImage project and you will get that benefit
without these games.

2. "library" mach-* support code doesn't go into another mach-* directory.
That's why we have the plat-* stuff.  Please follow this well established
model.  plat-* directories are selected by CONFIG_PLAT_* symbols, so
you would need CONFIG_PLAT_BCM.

Please don't persue your own solutions to problems which were solved years
ago and have established solutions already in place.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 18:47           ` Russell King - ARM Linux
@ 2013-07-26 19:09             ` Christian Daudt
  2013-07-26 19:39               ` Russell King - ARM Linux
  0 siblings, 1 reply; 32+ messages in thread
From: Christian Daudt @ 2013-07-26 19:09 UTC (permalink / raw)
  To: linux-arm-kernel

On 13-07-26 11:47 AM, Russell King - ARM Linux wrote:
> On Fri, Jul 26, 2013 at 10:17:33AM -0700, Christian Daudt wrote:
>> Because ARCH_BCM is meant to be used for a number of SoC families. We've
>> started upstreaming one (the BCM281XX) but have 2 more internally that
>> we're working towards upstreaming. And in the future our plan is to keep
>> the Broadcom Mobile SoCs all building under this single ARCH_BCM
>> configuration as multiplatform code building a single zImage for them.
> 1. We're moving to a single zImage for everything.  Not just Broadcom.
> There's no need for Broadcom stuff to be treated any differently.
> Participate in the single zImage project and you will get that benefit
> without these games.
I don't follow what is the game being played. The Broadcom mobile team 
is planning on building all future chips out of a single ARCH_ config 
(which we called ARCH_BCM), and others need a separate ARCH_ to build 
(other) specific SoCs for different families. Our ARCH_BCM chip was one 
of the first upstreamed with multiplatform enabled (multi_v7_defconfig 
already selects ARCH_BCM). So right now there are the following 3:
ARCH_BCM -> BCM281XX now + a few others to follow
ARCH_BCM5301X -> BCM530X family
ARCH_BCM4760 -> BCM4760 family.

and these would all reside in mach-bcm. The only problem I see with the 
above is that ARCH_BCM would probably have been more aptly named 
ARCH_MOBILE_BCM as the SoCs showing up under that ARCH are all from the 
mobile team @ Broadcom. And if that is what is confusing people, I'm ok 
with changing that.

>
> 2. "library" mach-* support code doesn't go into another mach-* directory.
> That's why we have the plat-* stuff.  Please follow this well established
> model.  plat-* directories are selected by CONFIG_PLAT_* symbols, so
> you would need CONFIG_PLAT_BCM.
>
> Please don't persue your own solutions to problems which were solved years
> ago and have established solutions already in place.
Maybe I missed something but with the migration to multiplatform (and 
the minimalist size of the ensuing arch-specific files) my understanding 
was that there is no need for PLAT going forward, that all socs from a 
single company can just co-exist under the same mach- directory. If you 
look at mach-bcm at present there are 2 .c files + 1 .S file. With the 
cleanups we are doing to support > 1 family under ARCH_BCM, that number 
is going to grow by 2-4 source files. Adding the 2 other ARCHes above 
will add another handful to a grand total of < 10 source files. None of 
these are 'library' files in the current sense (i.e. each subset of 
these files will only be used for a single ARCH_ config option), so 
there is nothing to move to a plat- directory.
  As an alternative to what is currently being done, I guess could go 
back to the 1-mach-directory-per-arch style so we'd have:
mach-bcm -> ARCH_BCM
mach-bcm5301x -> ARCH_BCM530X
mach-bcm4760 -> ARCH_BCM4760
but each of these dirs will have 2-3 source files. Which is what I heard 
a while back we wanted to start avoiding (the explosition of mach- dirs 
with next-to-nothing in each). Are you proposing we revert to this model ?

  thanks,
    csd

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 19:09             ` Christian Daudt
@ 2013-07-26 19:39               ` Russell King - ARM Linux
  2013-07-26 20:23                 ` Christian Daudt
  2013-07-26 22:28                 ` Domenico Andreoli
  0 siblings, 2 replies; 32+ messages in thread
From: Russell King - ARM Linux @ 2013-07-26 19:39 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 26, 2013 at 12:09:03PM -0700, Christian Daudt wrote:
> On 13-07-26 11:47 AM, Russell King - ARM Linux wrote:
>> On Fri, Jul 26, 2013 at 10:17:33AM -0700, Christian Daudt wrote:
>>> Because ARCH_BCM is meant to be used for a number of SoC families. We've
>>> started upstreaming one (the BCM281XX) but have 2 more internally that
>>> we're working towards upstreaming. And in the future our plan is to keep
>>> the Broadcom Mobile SoCs all building under this single ARCH_BCM
>>> configuration as multiplatform code building a single zImage for them.
>> 1. We're moving to a single zImage for everything.  Not just Broadcom.
>> There's no need for Broadcom stuff to be treated any differently.
>> Participate in the single zImage project and you will get that benefit
>> without these games.
> I don't follow what is the game being played.

I don't really mind what you do, but when you start talking about having
any ARM build always descend into mach-bcm, then something is very wrong
with how you're going about it - you don't see anyone else needing that
in the tree, not even OMAP.

I don't really care if your intention is to decend into mach-bcm and then
do nothing - that's not the point.  The point is we shouldn't even
decend into mach-bcm if there's nothing to be built there.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 19:39               ` Russell King - ARM Linux
@ 2013-07-26 20:23                 ` Christian Daudt
  2013-07-26 22:28                 ` Domenico Andreoli
  1 sibling, 0 replies; 32+ messages in thread
From: Christian Daudt @ 2013-07-26 20:23 UTC (permalink / raw)
  To: linux-arm-kernel

On 13-07-26 12:39 PM, Russell King - ARM Linux wrote:
> On Fri, Jul 26, 2013 at 12:09:03PM -0700, Christian Daudt wrote:
>> On 13-07-26 11:47 AM, Russell King - ARM Linux wrote:
>>> On Fri, Jul 26, 2013 at 10:17:33AM -0700, Christian Daudt wrote:
>>>> Because ARCH_BCM is meant to be used for a number of SoC families. We've
>>>> started upstreaming one (the BCM281XX) but have 2 more internally that
>>>> we're working towards upstreaming. And in the future our plan is to keep
>>>> the Broadcom Mobile SoCs all building under this single ARCH_BCM
>>>> configuration as multiplatform code building a single zImage for them.
>>> 1. We're moving to a single zImage for everything.  Not just Broadcom.
>>> There's no need for Broadcom stuff to be treated any differently.
>>> Participate in the single zImage project and you will get that benefit
>>> without these games.
>> I don't follow what is the game being played.
> I don't really mind what you do, but when you start talking about having
> any ARM build always descend into mach-bcm, then something is very wrong
> with how you're going about it - you don't see anyone else needing that
> in the tree, not even OMAP.
>
> I don't really care if your intention is to decend into mach-bcm and then
> do nothing - that's not the point.  The point is we shouldn't even
> decend into mach-bcm if there's nothing to be built there.
>
Ok, how about creating a ARCH_BROADCOM to select descending into the 
mach-bcm dir, and renaming ARCH_BCM to ARCH_BCMMOBILE, along the lines 
of the attachment ?

  Thanks,
    csd



-------------- next part --------------
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index c0ac0f5..cdb6662 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -145,7 +145,7 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000
 # Machine directory name.  This list is sorted alphanumerically
 # by CONFIG_* macro name.
 machine-$(CONFIG_ARCH_AT91)		+= at91
-machine-$(CONFIG_ARCH_BCM)		+= bcm
+machine-$(CONFIG_ARCH_BROADCOM)		+= bcm
 machine-$(CONFIG_ARCH_BCM2835)		+= bcm2835
 machine-$(CONFIG_ARCH_CLPS711X)		+= clps711x
 machine-$(CONFIG_ARCH_CNS3XXX)		+= cns3xxx
diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig
index f112895..0367f94 100644
--- a/arch/arm/mach-bcm/Kconfig
+++ b/arch/arm/mach-bcm/Kconfig
@@ -1,4 +1,11 @@
-config ARCH_BCM
+config ARCH_BROADCOM
+	bool "Broadcom Multiplatform SOCs"
+
+if ARCH_BROADCOM
+
+menu  "Broadcom SoC Family"
+
+config ARCH_BCMMOBILE
 	bool "Broadcom SoC" if ARCH_MULTI_V7
 	depends on MMU
 	select ARCH_REQUIRE_GPIOLIB
@@ -13,7 +20,11 @@ config ARCH_BCM
 	select SPARSE_IRQ
 	select TICK_ONESHOT
 	help
-	  This enables support for system based on Broadcom SoCs.
+	  This enables support for systems based on Broadcom mobile SoCs.
 	  It currently supports the 'BCM281XX' family, which includes
 	  BCM11130, BCM11140, BCM11351, BCM28145 and
 	  BCM28155 variants.
+
+endmenu
+
+endif
diff --git a/arch/arm/mach-bcm/Makefile b/arch/arm/mach-bcm/Makefile
index 6adb6aec..08f9ebe 100644
--- a/arch/arm/mach-bcm/Makefile
+++ b/arch/arm/mach-bcm/Makefile
@@ -10,6 +10,6 @@
 # of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 
-obj-$(CONFIG_ARCH_BCM)		:= board_bcm.o bcm_kona_smc.o bcm_kona_smc_asm.o
+obj-$(CONFIG_ARCH_BCMMOBILE)	:= board_bcm.o bcm_kona_smc.o bcm_kona_smc_asm.o
 plus_sec := $(call as-instr,.arch_extension sec,+sec)
 AFLAGS_bcm_kona_smc_asm.o	:=-Wa,-march=armv7-a$(plus_sec)

^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 15:29   ` Jason Cooper
  2013-07-26 15:55     ` Christian Daudt
@ 2013-07-26 21:59     ` Domenico Andreoli
  2013-07-26 23:11       ` Jason Gunthorpe
  2013-08-01  9:23       ` Florian Fainelli
  1 sibling, 2 replies; 32+ messages in thread
From: Domenico Andreoli @ 2013-07-26 21:59 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 26, 2013 at 11:29:18AM -0400, Jason Cooper wrote:
> On Fri, Jul 26, 2013 at 04:56:40PM +0200, Domenico Andreoli wrote:
> > From: Domenico Andreoli <domenico.andreoli@linux.com>
> > 
> > arch/arm/mach-bcm contains a plurality of Broadcom SoCs, each configured
> > separately. As a matter of flexibility and maintenance, it needs to be
> > always included in the build.
> 
> So if I'm building mach-kirkwood, I _have_ to build Broadcom?  What is
> the *specific* problem you're encountering that this solves?

In mach-bcm we (or I, it's not very clear to me) want to have support for
multiple SoCs.

In trying the approach

machine-$(CONFIG_ARCH_BCM)		+= bcm
machine-$(CONFIG_ARCH_BCM4760)		+= bcm

I got linker complains about multiple symbol definitiion in case both the
config options are selected.

The first thought was to use a common option which purpose was only to
include the subdir but then, given my allergy to the tons of config options
with usually not straghtforward purpose, I opted for something more simple.

> 
> Notice:
> 
> $ git grep '^machine-y'
> $
> 
> thx,
> 
> Jason.
> 
> > Cc: Christian Daudt <csd@broadcom.com>
> > Cc: linux-arm-kernel at lists.infradead.org
> > Signed-off-by: Domenico Andreoli <domenico.andreoli@linux.com>
> > ---
> >  arch/arm/Makefile |    2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > Index: b/arch/arm/Makefile
> > ===================================================================
> > --- a/arch/arm/Makefile
> > +++ b/arch/arm/Makefile
> > @@ -145,7 +145,7 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x0020
> >  # Machine directory name.  This list is sorted alphanumerically
> >  # by CONFIG_* macro name.
> >  machine-$(CONFIG_ARCH_AT91)		+= at91
> > -machine-$(CONFIG_ARCH_BCM)		+= bcm
> > +machine-y				+= bcm
> >  machine-$(CONFIG_ARCH_BCM2835)		+= bcm2835
> >  machine-$(CONFIG_ARCH_CLPS711X)		+= clps711x
> >  machine-$(CONFIG_ARCH_CNS3XXX)		+= cns3xxx
> > 
> > 
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 19:39               ` Russell King - ARM Linux
  2013-07-26 20:23                 ` Christian Daudt
@ 2013-07-26 22:28                 ` Domenico Andreoli
  2013-07-26 22:38                   ` Russell King - ARM Linux
  1 sibling, 1 reply; 32+ messages in thread
From: Domenico Andreoli @ 2013-07-26 22:28 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 26, 2013 at 08:39:08PM +0100, Russell King - ARM Linux wrote:
> On Fri, Jul 26, 2013 at 12:09:03PM -0700, Christian Daudt wrote:
> > On 13-07-26 11:47 AM, Russell King - ARM Linux wrote:
> >> On Fri, Jul 26, 2013 at 10:17:33AM -0700, Christian Daudt wrote:
> >>> Because ARCH_BCM is meant to be used for a number of SoC families. We've
> >>> started upstreaming one (the BCM281XX) but have 2 more internally that
> >>> we're working towards upstreaming. And in the future our plan is to keep
> >>> the Broadcom Mobile SoCs all building under this single ARCH_BCM
> >>> configuration as multiplatform code building a single zImage for them.
> >> 1. We're moving to a single zImage for everything.  Not just Broadcom.
> >> There's no need for Broadcom stuff to be treated any differently.
> >> Participate in the single zImage project and you will get that benefit
> >> without these games.
> > I don't follow what is the game being played.
> 
> I don't really mind what you do, but when you start talking about having
> any ARM build always descend into mach-bcm, then something is very wrong
> with how you're going about it - you don't see anyone else needing that
> in the tree, not even OMAP.

That was a Great Idea(tm) of mine that obviously needed some rebuttal.
No insult was implied for those not having had it in solving the very
same problem.

BTW I asked this very same question [1] and got _zero_ feedback so I
thought it was worth a patch.

> I don't really care if your intention is to decend into mach-bcm and then
> do nothing - that's not the point.  The point is we shouldn't even
> decend into mach-bcm if there's nothing to be built there.

I've got the point but didn't fully understand why would be so wrong to
walk one more subdir even if nothing is going to be built.

thanks,
Domenico

[1] http://permalink.gmane.org/gmane.linux.ports.arm.kernel/253500

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 22:28                 ` Domenico Andreoli
@ 2013-07-26 22:38                   ` Russell King - ARM Linux
  2013-07-26 23:30                     ` Domenico Andreoli
  0 siblings, 1 reply; 32+ messages in thread
From: Russell King - ARM Linux @ 2013-07-26 22:38 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, Jul 27, 2013 at 12:28:09AM +0200, Domenico Andreoli wrote:
> I've got the point but didn't fully understand why would be so wrong to
> walk one more subdir even if nothing is going to be built.

Consider what would happen if we decended the 61 mach- subdirectories
on every build run when only one was really required.  Even though
kbuild tries to be fast, there's still a non-zero amount of time
involved with finding out there's nothing to be done - and you
will still end up generating a built-in.o file even though there's
no other objects, which will then also be included in the final
link - again, adding to the work which has to be done.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 21:59     ` Domenico Andreoli
@ 2013-07-26 23:11       ` Jason Gunthorpe
  2013-07-26 23:28         ` Domenico Andreoli
  2013-07-26 23:42         ` Russell King - ARM Linux
  2013-08-01  9:23       ` Florian Fainelli
  1 sibling, 2 replies; 32+ messages in thread
From: Jason Gunthorpe @ 2013-07-26 23:11 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 26, 2013 at 11:59:00PM +0200, Domenico Andreoli wrote:

> In mach-bcm we (or I, it's not very clear to me) want to have support for
> multiple SoCs.
> 
> In trying the approach
> 
> machine-$(CONFIG_ARCH_BCM)		+= bcm
> machine-$(CONFIG_ARCH_BCM4760)		+= bcm
> 
> I got linker complains about multiple symbol definitiion in case both the
> config options are selected.

You can't repeat the same dir. Maybe this?

bcm-machine-$(CONFIG_ARCH_BCM) := bmc
bcm-machine-$(CONFIG_ARCH_BCM4760) := bmc
machine-y += $(bcm-machine-y)

Regards,
Jason

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 23:11       ` Jason Gunthorpe
@ 2013-07-26 23:28         ` Domenico Andreoli
  2013-07-26 23:55           ` Christian Daudt
  2013-07-26 23:42         ` Russell King - ARM Linux
  1 sibling, 1 reply; 32+ messages in thread
From: Domenico Andreoli @ 2013-07-26 23:28 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 26, 2013 at 05:11:08PM -0600, Jason Gunthorpe wrote:
> On Fri, Jul 26, 2013 at 11:59:00PM +0200, Domenico Andreoli wrote:
> 
> > In mach-bcm we (or I, it's not very clear to me) want to have support for
> > multiple SoCs.
> > 
> > In trying the approach
> > 
> > machine-$(CONFIG_ARCH_BCM)		+= bcm
> > machine-$(CONFIG_ARCH_BCM4760)		+= bcm
> > 
> > I got linker complains about multiple symbol definitiion in case both the
> > config options are selected.
> 
> You can't repeat the same dir. Maybe this?
> 
> bcm-machine-$(CONFIG_ARCH_BCM) := bmc
> bcm-machine-$(CONFIG_ARCH_BCM4760) := bmc
> machine-y += $(bcm-machine-y)

nice! I prefer this to the config option used only to descend the dir,
you never know how it is going to be abused.

Christian, would you agree in ditching ARCH_BROADCOM then?

Russel, is it ok?

thanks,
Domenico

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 22:38                   ` Russell King - ARM Linux
@ 2013-07-26 23:30                     ` Domenico Andreoli
  0 siblings, 0 replies; 32+ messages in thread
From: Domenico Andreoli @ 2013-07-26 23:30 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 26, 2013 at 11:38:29PM +0100, Russell King - ARM Linux wrote:
> On Sat, Jul 27, 2013 at 12:28:09AM +0200, Domenico Andreoli wrote:
> > I've got the point but didn't fully understand why would be so wrong to
> > walk one more subdir even if nothing is going to be built.
> 
> Consider what would happen if we decended the 61 mach- subdirectories
> on every build run when only one was really required.  Even though
> kbuild tries to be fast, there's still a non-zero amount of time
> involved with finding out there's nothing to be done - and you
> will still end up generating a built-in.o file even though there's
> no other objects, which will then also be included in the final
> link - again, adding to the work which has to be done.

crystal clear. thanks.

Domenico

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 23:11       ` Jason Gunthorpe
  2013-07-26 23:28         ` Domenico Andreoli
@ 2013-07-26 23:42         ` Russell King - ARM Linux
  2013-07-27  0:01           ` Olof Johansson
  2013-07-27 14:38           ` Arnd Bergmann
  1 sibling, 2 replies; 32+ messages in thread
From: Russell King - ARM Linux @ 2013-07-26 23:42 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 26, 2013 at 05:11:08PM -0600, Jason Gunthorpe wrote:
> On Fri, Jul 26, 2013 at 11:59:00PM +0200, Domenico Andreoli wrote:
> 
> > In mach-bcm we (or I, it's not very clear to me) want to have support for
> > multiple SoCs.
> > 
> > In trying the approach
> > 
> > machine-$(CONFIG_ARCH_BCM)		+= bcm
> > machine-$(CONFIG_ARCH_BCM4760)		+= bcm
> > 
> > I got linker complains about multiple symbol definitiion in case both the
> > config options are selected.
> 
> You can't repeat the same dir. Maybe this?
> 
> bcm-machine-$(CONFIG_ARCH_BCM) := bmc
> bcm-machine-$(CONFIG_ARCH_BCM4760) := bmc
> machine-y += $(bcm-machine-y)

Thank you for making me look at that file and see how people fail to read
my comments about keeping stuff appropriately sorted.  Really makes me
wonder why I bother.

Anyway, there's a simpler solutions to this:

machdirs := $(patsubst %,arch/arm/mach-%/,$(sort $(machine-y)))
platdirs := $(patsubst %,arch/arm/plat-%/,$(Sort $(plat-y)))

which will remove all duplicates.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 23:28         ` Domenico Andreoli
@ 2013-07-26 23:55           ` Christian Daudt
  0 siblings, 0 replies; 32+ messages in thread
From: Christian Daudt @ 2013-07-26 23:55 UTC (permalink / raw)
  To: linux-arm-kernel

On 13-07-26 04:28 PM, Domenico Andreoli wrote:
> On Fri, Jul 26, 2013 at 05:11:08PM -0600, Jason Gunthorpe wrote:
>> On Fri, Jul 26, 2013 at 11:59:00PM +0200, Domenico Andreoli wrote:
>>
>>> In mach-bcm we (or I, it's not very clear to me) want to have support for
>>> multiple SoCs.
>>>
>>> In trying the approach
>>>
>>> machine-$(CONFIG_ARCH_BCM)		+= bcm
>>> machine-$(CONFIG_ARCH_BCM4760)		+= bcm
>>>
>>> I got linker complains about multiple symbol definitiion in case both the
>>> config options are selected.
>> You can't repeat the same dir. Maybe this?
>>
>> bcm-machine-$(CONFIG_ARCH_BCM) := bmc
>> bcm-machine-$(CONFIG_ARCH_BCM4760) := bmc
>> machine-y += $(bcm-machine-y)
> nice! I prefer this to the config option used only to descend the dir,
> you never know how it is going to be abused.
>
> Christian, would you agree in ditching ARCH_BROADCOM then?
I'm fine with skipping ARCH_BROADCOM
  Thanks,
    csd

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 23:42         ` Russell King - ARM Linux
@ 2013-07-27  0:01           ` Olof Johansson
  2013-07-27  0:04             ` Russell King - ARM Linux
  2013-07-27 14:38           ` Arnd Bergmann
  1 sibling, 1 reply; 32+ messages in thread
From: Olof Johansson @ 2013-07-27  0:01 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 26, 2013 at 4:42 PM, Russell King - ARM Linux
<linux@arm.linux.org.uk> wrote:
> Thank you for making me look at that file and see how people fail to read
> my comments about keeping stuff appropriately sorted.  Really makes me
> wonder why I bother.

Grmbl. This one escaped me probably because the comment is at the top,
so I didn't see it when just reviewing the patch. I should obviously
have caught it anyway since the list was so obviously sorted before.
My bad. I'll send a patch in a bit.


-Olof

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-27  0:01           ` Olof Johansson
@ 2013-07-27  0:04             ` Russell King - ARM Linux
  2013-07-27  0:05               ` Olof Johansson
  0 siblings, 1 reply; 32+ messages in thread
From: Russell King - ARM Linux @ 2013-07-27  0:04 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 26, 2013 at 05:01:08PM -0700, Olof Johansson wrote:
> On Fri, Jul 26, 2013 at 4:42 PM, Russell King - ARM Linux
> <linux@arm.linux.org.uk> wrote:
> > Thank you for making me look at that file and see how people fail to read
> > my comments about keeping stuff appropriately sorted.  Really makes me
> > wonder why I bother.
> 
> Grmbl. This one escaped me probably because the comment is at the top,
> so I didn't see it when just reviewing the patch. I should obviously
> have caught it anyway since the list was so obviously sorted before.
> My bad. I'll send a patch in a bit.

I've already a patch in my fixes.  It'll appear in -next probably after
the weekend (as next doesn't update over weekends.)

Note that the misordering is not due to these patches, but other previous
patches.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-27  0:04             ` Russell King - ARM Linux
@ 2013-07-27  0:05               ` Olof Johansson
  0 siblings, 0 replies; 32+ messages in thread
From: Olof Johansson @ 2013-07-27  0:05 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 26, 2013 at 5:04 PM, Russell King - ARM Linux
<linux@arm.linux.org.uk> wrote:
> On Fri, Jul 26, 2013 at 05:01:08PM -0700, Olof Johansson wrote:
>> On Fri, Jul 26, 2013 at 4:42 PM, Russell King - ARM Linux
>> <linux@arm.linux.org.uk> wrote:
>> > Thank you for making me look at that file and see how people fail to read
>> > my comments about keeping stuff appropriately sorted.  Really makes me
>> > wonder why I bother.
>>
>> Grmbl. This one escaped me probably because the comment is at the top,
>> so I didn't see it when just reviewing the patch. I should obviously
>> have caught it anyway since the list was so obviously sorted before.
>> My bad. I'll send a patch in a bit.
>
> I've already a patch in my fixes.  It'll appear in -next probably after
> the weekend (as next doesn't update over weekends.)
>
> Note that the misordering is not due to these patches, but other previous
> patches.

Ok, sounds good.

And yeah, it's pretty obvious based on the order that it has crept in over time.


-Olof

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 23:42         ` Russell King - ARM Linux
  2013-07-27  0:01           ` Olof Johansson
@ 2013-07-27 14:38           ` Arnd Bergmann
  2013-08-01 14:18             ` Domenico Andreoli
  1 sibling, 1 reply; 32+ messages in thread
From: Arnd Bergmann @ 2013-07-27 14:38 UTC (permalink / raw)
  To: linux-arm-kernel

On Saturday 27 July 2013, Russell King - ARM Linux wrote:
> On Fri, Jul 26, 2013 at 05:11:08PM -0600, Jason Gunthorpe wrote:
> > On Fri, Jul 26, 2013 at 11:59:00PM +0200, Domenico Andreoli wrote:
>
> Anyway, there's a simpler solutions to this:
> 
> machdirs := $(patsubst %,arch/arm/mach-%/,$(sort $(machine-y)))
> platdirs := $(patsubst %,arch/arm/plat-%/,$(Sort $(plat-y)))
> 
> which will remove all duplicates.

This does sound like the easiest solution, although I still think
Olof's suggestion of making ARCH_BCM a silent Kconfig symbol would be
just as good if we just have this one instance.

	Arnd

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-26 21:59     ` Domenico Andreoli
  2013-07-26 23:11       ` Jason Gunthorpe
@ 2013-08-01  9:23       ` Florian Fainelli
  2013-08-01 14:15         ` Domenico Andreoli
  1 sibling, 1 reply; 32+ messages in thread
From: Florian Fainelli @ 2013-08-01  9:23 UTC (permalink / raw)
  To: linux-arm-kernel

Hello,

2013/7/26 Domenico Andreoli <cavokz@gmail.com>:
> On Fri, Jul 26, 2013 at 11:29:18AM -0400, Jason Cooper wrote:
>> On Fri, Jul 26, 2013 at 04:56:40PM +0200, Domenico Andreoli wrote:
>> > From: Domenico Andreoli <domenico.andreoli@linux.com>
>> >
>> > arch/arm/mach-bcm contains a plurality of Broadcom SoCs, each configured
>> > separately. As a matter of flexibility and maintenance, it needs to be
>> > always included in the build.
>>
>> So if I'm building mach-kirkwood, I _have_ to build Broadcom?  What is
>> the *specific* problem you're encountering that this solves?
>
> In mach-bcm we (or I, it's not very clear to me) want to have support for
> multiple SoCs.
>
> In trying the approach
>
> machine-$(CONFIG_ARCH_BCM)              += bcm
> machine-$(CONFIG_ARCH_BCM4760)          += bcm
>
> I got linker complains about multiple symbol definitiion in case both the
> config options are selected.
>
> The first thought was to use a common option which purpose was only to
> include the subdir but then, given my allergy to the tons of config options
> with usually not straghtforward purpose, I opted for something more simple.

I do not understand why are you trying so hard to put your SoC support
in mach-bcm. I was one of the only people to complain that mach-bcm
was both confusing and not generic enough to cover all Broadcom SoCs.
I still think it should have been specified to mach-bcmmobile or
something like mach-bcm28xxx. Back in the days where ARM drivers were
mostly living in arch/arm/*, it *might* have made some sense but now,
I really think that you should go with your own mach-bcm470x
directory.

BCM47060, BCM53xx and BCM28xx all have both different CPU backends and
different on-chip peripherals, which are even connected differently,
put clearly, they share very little but the ARM architecture.
-- 
Florian

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-08-01  9:23       ` Florian Fainelli
@ 2013-08-01 14:15         ` Domenico Andreoli
  0 siblings, 0 replies; 32+ messages in thread
From: Domenico Andreoli @ 2013-08-01 14:15 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Aug 01, 2013 at 10:23:48AM +0100, Florian Fainelli wrote:
> Hello,
> 
> 2013/7/26 Domenico Andreoli <cavokz@gmail.com>:
> > On Fri, Jul 26, 2013 at 11:29:18AM -0400, Jason Cooper wrote:
> >> On Fri, Jul 26, 2013 at 04:56:40PM +0200, Domenico Andreoli wrote:
> >> > From: Domenico Andreoli <domenico.andreoli@linux.com>
> >> >
> >> > arch/arm/mach-bcm contains a plurality of Broadcom SoCs, each configured
> >> > separately. As a matter of flexibility and maintenance, it needs to be
> >> > always included in the build.
> >>
> >> So if I'm building mach-kirkwood, I _have_ to build Broadcom?  What is
> >> the *specific* problem you're encountering that this solves?
> >
> > In mach-bcm we (or I, it's not very clear to me) want to have support for
> > multiple SoCs.
> >
> > In trying the approach
> >
> > machine-$(CONFIG_ARCH_BCM)              += bcm
> > machine-$(CONFIG_ARCH_BCM4760)          += bcm
> >
> > I got linker complains about multiple symbol definitiion in case both the
> > config options are selected.
> >
> > The first thought was to use a common option which purpose was only to
> > include the subdir but then, given my allergy to the tons of config options
> > with usually not straghtforward purpose, I opted for something more simple.
> 
> I do not understand why are you trying so hard to put your SoC support
> in mach-bcm. I was one of the only people to complain that mach-bcm
> was both confusing and not generic enough to cover all Broadcom SoCs.
> I still think it should have been specified to mach-bcmmobile or
> something like mach-bcm28xxx. Back in the days where ARM drivers were
> mostly living in arch/arm/*, it *might* have made some sense but now,
> I really think that you should go with your own mach-bcm470x
> directory.
> 
> BCM47060, BCM53xx and BCM28xx all have both different CPU backends and
> different on-chip peripherals, which are even connected differently,
> put clearly, they share very little but the ARM architecture.

I've already explained my point elsewhere in this thread. It's not technical,
it's social. I don't see any technical disproportion to go either way.

thanks,
Domenico

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm
  2013-07-27 14:38           ` Arnd Bergmann
@ 2013-08-01 14:18             ` Domenico Andreoli
  0 siblings, 0 replies; 32+ messages in thread
From: Domenico Andreoli @ 2013-08-01 14:18 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, Jul 27, 2013 at 04:38:16PM +0200, Arnd Bergmann wrote:
> On Saturday 27 July 2013, Russell King - ARM Linux wrote:
> > On Fri, Jul 26, 2013 at 05:11:08PM -0600, Jason Gunthorpe wrote:
> > > On Fri, Jul 26, 2013 at 11:59:00PM +0200, Domenico Andreoli wrote:
> >
> > Anyway, there's a simpler solutions to this:
> > 
> > machdirs := $(patsubst %,arch/arm/mach-%/,$(sort $(machine-y)))
> > platdirs := $(patsubst %,arch/arm/plat-%/,$(Sort $(plat-y)))
> > 
> > which will remove all duplicates.
> 
> This does sound like the easiest solution, although I still think
> Olof's suggestion of making ARCH_BCM a silent Kconfig symbol would be
> just as good if we just have this one instance.

I know that time is always tight and there is also this DT ABI discussion
ongoing but do I have any chance to get any ack on this series?

Should I post a new set? It would be only to fix again the build of mach-bcm,
I've nothing else pending.

Thanks,
Domenico

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2013-08-01 14:18 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-26 14:56 [PATCH v2 0/5] ARM: Broadcom BCM4760 support Domenico Andreoli
2013-07-26 14:56 ` [PATCH v2 1/5] ARM: Broadcom: Unconditionally build arch/arm/mach-bcm Domenico Andreoli
2013-07-26 15:29   ` Jason Cooper
2013-07-26 15:55     ` Christian Daudt
2013-07-26 17:11       ` Jason Cooper
2013-07-26 17:17         ` Christian Daudt
2013-07-26 17:33           ` Jason Cooper
2013-07-26 18:47           ` Russell King - ARM Linux
2013-07-26 19:09             ` Christian Daudt
2013-07-26 19:39               ` Russell King - ARM Linux
2013-07-26 20:23                 ` Christian Daudt
2013-07-26 22:28                 ` Domenico Andreoli
2013-07-26 22:38                   ` Russell King - ARM Linux
2013-07-26 23:30                     ` Domenico Andreoli
2013-07-26 21:59     ` Domenico Andreoli
2013-07-26 23:11       ` Jason Gunthorpe
2013-07-26 23:28         ` Domenico Andreoli
2013-07-26 23:55           ` Christian Daudt
2013-07-26 23:42         ` Russell King - ARM Linux
2013-07-27  0:01           ` Olof Johansson
2013-07-27  0:04             ` Russell King - ARM Linux
2013-07-27  0:05               ` Olof Johansson
2013-07-27 14:38           ` Arnd Bergmann
2013-08-01 14:18             ` Domenico Andreoli
2013-08-01  9:23       ` Florian Fainelli
2013-08-01 14:15         ` Domenico Andreoli
2013-07-26 17:24   ` Olof Johansson
2013-07-26 14:56 ` [PATCH v2 2/5] ARM: bcm4760: Add platform infrastructure Domenico Andreoli
2013-07-26 14:56 ` [PATCH v2 3/5] ARM: bcm4760: Add system timer Domenico Andreoli
2013-07-26 14:56 ` [PATCH v2 4/5] ARM: bcm4760: Add ripple counter Domenico Andreoli
2013-07-26 14:56 ` [PATCH v2 5/5] ARM: bcm4760: Add restart hook Domenico Andreoli
2013-07-26 15:33 ` [PATCH v2 0/5] ARM: Broadcom BCM4760 support Jason Cooper

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.