diff mbox

soc: r9a06g032: don't build SMP fiiles for non-SMP config

Message ID 20180706151610.3783638-1-arnd@arndb.de (mailing list archive)
State Accepted
Commit b03f33d656ae1d6433470ace6e7610d1347ffe69
Delegated to: Simon Horman
Headers show

Commit Message

Arnd Bergmann July 6, 2018, 3:16 p.m. UTC
Without CONFIG_SMP, we get a build failure:

In file included from include/linux/byteorder/little_endian.h:5,
                 from arch/arm/include/uapi/asm/byteorder.h:22,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/arm/include/asm/bitops.h:342,
                 from include/linux/bitops.h:18,
                 from include/linux/kernel.h:11,
                 from include/asm-generic/bug.h:18,
                 from arch/arm/include/asm/bug.h:60,
                 from include/linux/bug.h:5,
                 from include/linux/io.h:23,
                 from drivers/soc/renesas/r9a06g032-smp.c:11:
drivers/soc/renesas/r9a06g032-smp.c: In function 'r9a06g032_smp_boot_secondary':
drivers/soc/renesas/r9a06g032-smp.c:43:21: error: 'secondary_startup' undeclared (first use in this function)
  writel(__pa_symbol(secondary_startup), cpu_bootaddr);
                     ^~~~~~~~~~~~~~~~~

This makes the compilation of that file conditional on SMP support.
It would probably be better for consistency to leave that file
in arch/arm/mach-shmobile/, matching what we do for all other smp
operations.

Fixes: cde4f86f9249 ("arm: shmobile: Add the R9A06G032 SMP enabler driver")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/soc/renesas/Makefile | 2 ++
 1 file changed, 2 insertions(+)

Comments

Geert Uytterhoeven July 6, 2018, 3:23 p.m. UTC | #1
Hi Arnd,

On Fri, Jul 6, 2018 at 5:16 PM Arnd Bergmann <arnd@arndb.de> wrote:
> Without CONFIG_SMP, we get a build failure:
>
> In file included from include/linux/byteorder/little_endian.h:5,
>                  from arch/arm/include/uapi/asm/byteorder.h:22,
>                  from include/asm-generic/bitops/le.h:6,
>                  from arch/arm/include/asm/bitops.h:342,
>                  from include/linux/bitops.h:18,
>                  from include/linux/kernel.h:11,
>                  from include/asm-generic/bug.h:18,
>                  from arch/arm/include/asm/bug.h:60,
>                  from include/linux/bug.h:5,
>                  from include/linux/io.h:23,
>                  from drivers/soc/renesas/r9a06g032-smp.c:11:
> drivers/soc/renesas/r9a06g032-smp.c: In function 'r9a06g032_smp_boot_secondary':
> drivers/soc/renesas/r9a06g032-smp.c:43:21: error: 'secondary_startup' undeclared (first use in this function)
>   writel(__pa_symbol(secondary_startup), cpu_bootaddr);
>                      ^~~~~~~~~~~~~~~~~
>
> This makes the compilation of that file conditional on SMP support.
> It would probably be better for consistency to leave that file
> in arch/arm/mach-shmobile/, matching what we do for all other smp
> operations.

Shouldn't that comment be moved below the "---"? ;-)

I thought the (10Y ;-) plan was to have no more code under arch/arm/mach-*/?
Note that the suport for the new RZ/N1D SoC doesn't use any other code in
mach-shmobile.

> Fixes: cde4f86f9249 ("arm: shmobile: Add the R9A06G032 SMP enabler driver")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert
Arnd Bergmann July 6, 2018, 8:13 p.m. UTC | #2
On Fri, Jul 6, 2018 at 5:23 PM, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> Hi Arnd,
>
> On Fri, Jul 6, 2018 at 5:16 PM Arnd Bergmann <arnd@arndb.de> wrote:
>> Without CONFIG_SMP, we get a build failure:
>>
>> In file included from include/linux/byteorder/little_endian.h:5,
>>                  from arch/arm/include/uapi/asm/byteorder.h:22,
>>                  from include/asm-generic/bitops/le.h:6,
>>                  from arch/arm/include/asm/bitops.h:342,
>>                  from include/linux/bitops.h:18,
>>                  from include/linux/kernel.h:11,
>>                  from include/asm-generic/bug.h:18,
>>                  from arch/arm/include/asm/bug.h:60,
>>                  from include/linux/bug.h:5,
>>                  from include/linux/io.h:23,
>>                  from drivers/soc/renesas/r9a06g032-smp.c:11:
>> drivers/soc/renesas/r9a06g032-smp.c: In function 'r9a06g032_smp_boot_secondary':
>> drivers/soc/renesas/r9a06g032-smp.c:43:21: error: 'secondary_startup' undeclared (first use in this function)
>>   writel(__pa_symbol(secondary_startup), cpu_bootaddr);
>>                      ^~~~~~~~~~~~~~~~~
>>
>> This makes the compilation of that file conditional on SMP support.
>> It would probably be better for consistency to leave that file
>> in arch/arm/mach-shmobile/, matching what we do for all other smp
>> operations.
>
> Shouldn't that comment be moved below the "---"? ;-)

Maybe

> I thought the (10Y ;-) plan was to have no more code under arch/arm/mach-*/?
> Note that the suport for the new RZ/N1D SoC doesn't use any other code in
> mach-shmobile.

The SMP code is the main part we never figured out where else to put,
so it's typically the only thing we still have for new platforms under
arch/arm/.

>> Fixes: cde4f86f9249 ("arm: shmobile: Add the R9A06G032 SMP enabler driver")
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Simon Horman July 9, 2018, 12:55 p.m. UTC | #3
On Fri, Jul 06, 2018 at 10:13:14PM +0200, Arnd Bergmann wrote:
> On Fri, Jul 6, 2018 at 5:23 PM, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> > Hi Arnd,
> >
> > On Fri, Jul 6, 2018 at 5:16 PM Arnd Bergmann <arnd@arndb.de> wrote:
> >> Without CONFIG_SMP, we get a build failure:
> >>
> >> In file included from include/linux/byteorder/little_endian.h:5,
> >>                  from arch/arm/include/uapi/asm/byteorder.h:22,
> >>                  from include/asm-generic/bitops/le.h:6,
> >>                  from arch/arm/include/asm/bitops.h:342,
> >>                  from include/linux/bitops.h:18,
> >>                  from include/linux/kernel.h:11,
> >>                  from include/asm-generic/bug.h:18,
> >>                  from arch/arm/include/asm/bug.h:60,
> >>                  from include/linux/bug.h:5,
> >>                  from include/linux/io.h:23,
> >>                  from drivers/soc/renesas/r9a06g032-smp.c:11:
> >> drivers/soc/renesas/r9a06g032-smp.c: In function 'r9a06g032_smp_boot_secondary':
> >> drivers/soc/renesas/r9a06g032-smp.c:43:21: error: 'secondary_startup' undeclared (first use in this function)
> >>   writel(__pa_symbol(secondary_startup), cpu_bootaddr);
> >>                      ^~~~~~~~~~~~~~~~~
> >>
> >> This makes the compilation of that file conditional on SMP support.
> >> It would probably be better for consistency to leave that file
> >> in arch/arm/mach-shmobile/, matching what we do for all other smp
> >> operations.
> >
> > Shouldn't that comment be moved below the "---"? ;-)
> 
> Maybe
> 
> > I thought the (10Y ;-) plan was to have no more code under arch/arm/mach-*/?
> > Note that the suport for the new RZ/N1D SoC doesn't use any other code in
> > mach-shmobile.
> 
> The SMP code is the main part we never figured out where else to put,
> so it's typically the only thing we still have for new platforms under
> arch/arm/.
> 
> >> Fixes: cde4f86f9249 ("arm: shmobile: Add the R9A06G032 SMP enabler driver")
> >> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> >
> > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Thanks, I've applied this (with the full commit message).
Lets work out where the code should live and move it if necessary.
diff mbox

Patch

diff --git a/drivers/soc/renesas/Makefile b/drivers/soc/renesas/Makefile
index 44a0d6b10192..c37b0803c1b6 100644
--- a/drivers/soc/renesas/Makefile
+++ b/drivers/soc/renesas/Makefile
@@ -18,7 +18,9 @@  obj-$(CONFIG_SYSC_R8A77970)	+= r8a77970-sysc.o
 obj-$(CONFIG_SYSC_R8A77980)	+= r8a77980-sysc.o
 obj-$(CONFIG_SYSC_R8A77990)	+= r8a77990-sysc.o
 obj-$(CONFIG_SYSC_R8A77995)	+= r8a77995-sysc.o
+ifdef CONFIG_SMP
 obj-$(CONFIG_ARCH_R9A06G032)	+= r9a06g032-smp.o
+endif
 
 # Family
 obj-$(CONFIG_RST_RCAR)		+= rcar-rst.o