Re: [RESEND PATCH 1/2] ARM: davinci: support multiplatform build for ARM v5

From: Bartosz Golaszewski
Date: Fri Apr 12 2019 - 09:22:06 EST


pt., 12 kwi 2019 o 15:16 Arnd Bergmann <arnd@xxxxxxxx> napisaÅ(a):
>
> On Tue, Apr 2, 2019 at 1:03 PM Sekhar Nori <nsekhar@xxxxxx> wrote:
> >
> > On 25/03/19 6:38 PM, Arnd Bergmann wrote:
> > > On Mon, Mar 18, 2019 at 1:29 PM Bartosz Golaszewski <brgl@xxxxxxxx> wrote:
> > >>
> > >> From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
> > >>
> > >> Add modifications necessary to make davinci part of the ARM v5
> > >> multiplatform build.
> > >>
> > >> Move the arch-specific configuration out of arch/arm/Kconfig and
> > >> into mach-davinci/Kconfig. Remove the sub-menu for DaVinci
> > >> implementations (they'll be visible directly under the system type.
> > >> Select all necessary options not already selected by ARCH_MULTI_V5.
> > >> Update davinci_all_defconfig. Explicitly include the mach-specific
> > >> headers in mach-davinci/Makefile.
> > >>
> > >> Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
> > >
> > > I like this a lot, it gives me some hope that we can eventually
> > > do the same for the remaining ARMv5 platforms that are
> > > not multiplatform yet (s3c24xx, ks8695, w90x900, lpc32xx,
> > > omap1, ep93xx, and maybe even the xscale based ones).
> > >
> > > I have done a lot of randconfig testing with this patch appled now
> > > and not found any issues, great work!
> >
> > Thanks Arnd. Will take this as your Acked-by:
> >
> > The timer conversion patches are pending review/rework. Will queue once
> > those are cleared.
>
> Unfortunately, after doing some more randconfig testing, I ended up with
> three build issues:
>
> 1. vpbe:
> drivers/media/platform/davinci/vpbe_osd.c:29:10: fatal error:
> 'mach/cputype.h' file not found
> #include <mach/cputype.h>
> ^~~~~~~~~~~~~~~~
> drivers/media/platform/davinci/vpbe_venc.c:26:10: fatal error:
> 'mach/hardware.h' file not found
> #include <mach/hardware.h>
> ^~~~~~~~~~~~~~~~~
> drivers/media/platform/davinci/vpbe_display.c:31:10: fatal error:
> 'mach/cputype.h' file not found
>
> 2. staging/vpfe:
> In file included from
> /git/arm-soc/drivers/staging/media/davinci_vpfe/dm365_isif.c:20:
> drivers/staging/media/davinci_vpfe/dm365_isif.h:24:10: fatal error:
> 'mach/mux.h' file not found
>
> 3.
> davinci: fix sleep.S build error on ARMv4
>
> When building a multiplatform kernel that includes armv4 support,
> the default target CPU does not support the blx instruction,
> which leads to a build failure:
>
> arch/arm/mach-davinci/sleep.S: Assembler messages:
> arch/arm/mach-davinci/sleep.S:56: Error: selected processor does
> not support `blx ip' in ARM mode
>

Hi Arnd,

are the generated configs available somewhere for download?

Bart

> Add a .arch statement in the sources to make this file build.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
>
> diff --git a/arch/arm/mach-davinci/sleep.S b/arch/arm/mach-davinci/sleep.S
> index cd350dee4df3..efcd400b2abb 100644
> --- a/arch/arm/mach-davinci/sleep.S
> +++ b/arch/arm/mach-davinci/sleep.S
> @@ -37,6 +37,7 @@
> #define DEEPSLEEP_SLEEPENABLE_BIT BIT(31)
>
> .text
> + .arch armv5te
> /*
> * Move DaVinci into deep sleep state
> *
>
>
> Arnd