diff mbox series

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

Message ID 20190318122901.7231-2-brgl@bgdev.pl (mailing list archive)
State New, archived
Headers show
Series ARM: make DaVinci part of the ARM v5 multiplatform build | expand

Commit Message

Bartosz Golaszewski March 18, 2019, 12:29 p.m. UTC
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

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@baylibre.com>
---
 arch/arm/Kconfig                       | 21 ---------------------
 arch/arm/configs/davinci_all_defconfig |  5 +++++
 arch/arm/mach-davinci/Kconfig          | 16 ++++++++++++----
 arch/arm/mach-davinci/Makefile         |  2 ++
 4 files changed, 19 insertions(+), 25 deletions(-)

Comments

Arnd Bergmann March 25, 2019, 1:08 p.m. UTC | #1
On Mon, Mar 18, 2019 at 1:29 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>
> 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@baylibre.com>

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!

      Arnd
Sekhar Nori April 2, 2019, 11:03 a.m. UTC | #2
On 25/03/19 6:38 PM, Arnd Bergmann wrote:
> On Mon, Mar 18, 2019 at 1:29 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>>
>> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>>
>> 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@baylibre.com>
> 
> 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.

Regards,
Sekhar
Arnd Bergmann April 12, 2019, 1:16 p.m. UTC | #3
On Tue, Apr 2, 2019 at 1:03 PM Sekhar Nori <nsekhar@ti.com> wrote:
>
> On 25/03/19 6:38 PM, Arnd Bergmann wrote:
> > On Mon, Mar 18, 2019 at 1:29 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> >>
> >> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> >>
> >> 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@baylibre.com>
> >
> > 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

    Add a .arch statement in the sources to make this file build.

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

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
Bartosz Golaszewski April 12, 2019, 1:21 p.m. UTC | #4
pt., 12 kwi 2019 o 15:16 Arnd Bergmann <arnd@arndb.de> napisał(a):
>
> On Tue, Apr 2, 2019 at 1:03 PM Sekhar Nori <nsekhar@ti.com> wrote:
> >
> > On 25/03/19 6:38 PM, Arnd Bergmann wrote:
> > > On Mon, Mar 18, 2019 at 1:29 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > >>
> > >> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > >>
> > >> 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@baylibre.com>
> > >
> > > 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@arndb.de>
>
> 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
Arnd Bergmann April 12, 2019, 1:26 p.m. UTC | #5
On Fri, Apr 12, 2019 at 3:22 PM Bartosz Golaszewski
<bgolaszewski@baylibre.com> wrote:
> pt., 12 kwi 2019 o 15:16 Arnd Bergmann <arnd@arndb.de> napisał(a):
> > On Tue, Apr 2, 2019 at 1:03 PM Sekhar Nori <nsekhar@ti.com> wrote:
> > > On 25/03/19 6:38 PM, Arnd Bergmann wrote:
> > > > On Mon, Mar 18, 2019 at 1:29 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > >
> > > 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?

No, I only keep them locally, but I would hope they are easy enough to
reproduce. If you can't figure out the problem right away, I can send
you the config files of course.

Just noticed another issue in my logs:

4. ARCH_DAVINCI no longer selects RESET_CONTROLLER
drivers/clk/davinci/psc.o: In function `__davinci_psc_register_clocks':
psc.c:(.text+0x3f8): undefined reference to `devm_reset_controller_register'
drivers/clk/davinci/psc-da850.o: In function `da850_psc0_init':
psc-da850.c:(.text+0x14): undefined reference to `reset_controller_add_lookup'

      Arnd
Bartosz Golaszewski April 12, 2019, 1:32 p.m. UTC | #6
pt., 12 kwi 2019 o 15:27 Arnd Bergmann <arnd@arndb.de> napisał(a):
>
> On Fri, Apr 12, 2019 at 3:22 PM Bartosz Golaszewski
> <bgolaszewski@baylibre.com> wrote:
> > pt., 12 kwi 2019 o 15:16 Arnd Bergmann <arnd@arndb.de> napisał(a):
> > > On Tue, Apr 2, 2019 at 1:03 PM Sekhar Nori <nsekhar@ti.com> wrote:
> > > > On 25/03/19 6:38 PM, Arnd Bergmann wrote:
> > > > > On Mon, Mar 18, 2019 at 1:29 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > > >
> > > > 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?
>
> No, I only keep them locally, but I would hope they are easy enough to
> reproduce. If you can't figure out the problem right away, I can send
> you the config files of course.
>
> Just noticed another issue in my logs:
>
> 4. ARCH_DAVINCI no longer selects RESET_CONTROLLER
> drivers/clk/davinci/psc.o: In function `__davinci_psc_register_clocks':
> psc.c:(.text+0x3f8): undefined reference to `devm_reset_controller_register'
> drivers/clk/davinci/psc-da850.o: In function `da850_psc0_init':
> psc-da850.c:(.text+0x14): undefined reference to `reset_controller_add_lookup'
>
>       Arnd

Thanks. Another issue that I already fixed locally is missing select
for REGMAP_MMIO. Just FYI.

This series is blocked by the clocksource series anyway, but I'll work
towards fixing it.

Bart
Arnd Bergmann April 12, 2019, 1:44 p.m. UTC | #7
On Fri, Apr 12, 2019 at 3:32 PM Bartosz Golaszewski
<bgolaszewski@baylibre.com> wrote:
> pt., 12 kwi 2019 o 15:27 Arnd Bergmann <arnd@arndb.de> napisał(a):
> >
> > On Fri, Apr 12, 2019 at 3:22 PM Bartosz Golaszewski
> > <bgolaszewski@baylibre.com> wrote:
> > > pt., 12 kwi 2019 o 15:16 Arnd Bergmann <arnd@arndb.de> napisał(a):
> > > > On Tue, Apr 2, 2019 at 1:03 PM Sekhar Nori <nsekhar@ti.com> wrote:
> > > > > On 25/03/19 6:38 PM, Arnd Bergmann wrote:
> > > > > > On Mon, Mar 18, 2019 at 1:29 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > > > >
> > > > > 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?
> >
> > No, I only keep them locally, but I would hope they are easy enough to
> > reproduce. If you can't figure out the problem right away, I can send
> > you the config files of course.
> >
> > Just noticed another issue in my logs:
> >
> > 4. ARCH_DAVINCI no longer selects RESET_CONTROLLER
> > drivers/clk/davinci/psc.o: In function `__davinci_psc_register_clocks':
> > psc.c:(.text+0x3f8): undefined reference to `devm_reset_controller_register'
> > drivers/clk/davinci/psc-da850.o: In function `da850_psc0_init':
> > psc-da850.c:(.text+0x14): undefined reference to `reset_controller_add_lookup'
> >
> >       Arnd
>
> Thanks. Another issue that I already fixed locally is missing select
> for REGMAP_MMIO. Just FYI.
>
> This series is blocked by the clocksource series anyway, but I'll work
> towards fixing it.

Ok, sounds good. I have sent you whatever I had to work around the
issue locally now, as private messages. See if you can use them, or
ignore if you have a better fix.

      Arnd
Bartosz Golaszewski April 16, 2019, 10:06 a.m. UTC | #8
pt., 12 kwi 2019 o 15:45 Arnd Bergmann <arnd@arndb.de> napisał(a):
>
> On Fri, Apr 12, 2019 at 3:32 PM Bartosz Golaszewski
> <bgolaszewski@baylibre.com> wrote:
> > pt., 12 kwi 2019 o 15:27 Arnd Bergmann <arnd@arndb.de> napisał(a):
> > >
> > > On Fri, Apr 12, 2019 at 3:22 PM Bartosz Golaszewski
> > > <bgolaszewski@baylibre.com> wrote:
> > > > pt., 12 kwi 2019 o 15:16 Arnd Bergmann <arnd@arndb.de> napisał(a):
> > > > > On Tue, Apr 2, 2019 at 1:03 PM Sekhar Nori <nsekhar@ti.com> wrote:
> > > > > > On 25/03/19 6:38 PM, Arnd Bergmann wrote:
> > > > > > > On Mon, Mar 18, 2019 at 1:29 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > > > > >
> > > > > > 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?
> > >
> > > No, I only keep them locally, but I would hope they are easy enough to
> > > reproduce. If you can't figure out the problem right away, I can send
> > > you the config files of course.
> > >
> > > Just noticed another issue in my logs:
> > >
> > > 4. ARCH_DAVINCI no longer selects RESET_CONTROLLER
> > > drivers/clk/davinci/psc.o: In function `__davinci_psc_register_clocks':
> > > psc.c:(.text+0x3f8): undefined reference to `devm_reset_controller_register'
> > > drivers/clk/davinci/psc-da850.o: In function `da850_psc0_init':
> > > psc-da850.c:(.text+0x14): undefined reference to `reset_controller_add_lookup'
> > >
> > >       Arnd
> >
> > Thanks. Another issue that I already fixed locally is missing select
> > for REGMAP_MMIO. Just FYI.
> >
> > This series is blocked by the clocksource series anyway, but I'll work
> > towards fixing it.
>
> Ok, sounds good. I have sent you whatever I had to work around the
> issue locally now, as private messages. See if you can use them, or
> ignore if you have a better fix.
>
>       Arnd

Will do, thanks!

Bart
diff mbox series

Patch

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index f893798e13d3..01be980ee5d0 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -583,27 +583,6 @@  config ARCH_S3C24XX
 	  (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the
 	  Samsung SMDK2410 development board (and derivatives).
 
-config ARCH_DAVINCI
-	bool "TI DaVinci"
-	select ARCH_HAS_HOLES_MEMORYMODEL
-	select COMMON_CLK
-	select CPU_ARM926T
-	select DAVINCI_TIMER
-	select GENERIC_ALLOCATOR
-	select GENERIC_CLOCKEVENTS
-	select GENERIC_IRQ_CHIP
-	select GENERIC_IRQ_MULTI_HANDLER
-	select GPIOLIB
-	select HAVE_IDE
-	select PM_GENERIC_DOMAINS if PM
-	select PM_GENERIC_DOMAINS_OF if PM && OF
-	select RESET_CONTROLLER
-	select SPARSE_IRQ
-	select USE_OF
-	select ZONE_DMA
-	help
-	  Support for TI's DaVinci platform.
-
 config ARCH_OMAP1
 	bool "TI OMAP1"
 	depends on MMU
diff --git a/arch/arm/configs/davinci_all_defconfig b/arch/arm/configs/davinci_all_defconfig
index 207962a656a2..bbf285dd63e4 100644
--- a/arch/arm/configs/davinci_all_defconfig
+++ b/arch/arm/configs/davinci_all_defconfig
@@ -17,6 +17,9 @@  CONFIG_MODVERSIONS=y
 CONFIG_PARTITION_ADVANCED=y
 # CONFIG_IOSCHED_DEADLINE is not set
 # CONFIG_IOSCHED_CFQ is not set
+CONFIG_ARCH_MULTIPLATFORM=y
+CONFIG_ARCH_MULTI_V7=n
+CONFIG_ARCH_MULTI_V5=y
 CONFIG_ARCH_DAVINCI=y
 CONFIG_ARCH_DAVINCI_DM644x=y
 CONFIG_ARCH_DAVINCI_DM355=y
@@ -128,9 +131,11 @@  CONFIG_SPI=y
 CONFIG_SPI_DAVINCI=m
 CONFIG_PINCTRL_DA850_PUPD=m
 CONFIG_PINCTRL_SINGLE=y
+CONFIG_GPIOLIB=y
 CONFIG_GPIO_SYSFS=y
 CONFIG_GPIO_PCA953X=y
 CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_RESET_CONTROLLER=y
 CONFIG_POWER_RESET=y
 CONFIG_POWER_RESET_GPIO=y
 CONFIG_SYSCON_REBOOT_MODE=m
diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig
index 5a59cebc7d0a..ba6d55590b9d 100644
--- a/arch/arm/mach-davinci/Kconfig
+++ b/arch/arm/mach-davinci/Kconfig
@@ -1,11 +1,21 @@ 
 # SPDX-License-Identifier: GPL-2.0
+
+menuconfig ARCH_DAVINCI
+	bool "TI DaVinci"
+	depends on ARCH_MULTI_V5
+	select DAVINCI_TIMER
+	select ZONE_DMA
+	select ARCH_HAS_HOLES_MEMORYMODEL
+	select PM_GENERIC_DOMAINS if PM
+	select PM_GENERIC_DOMAINS_OF if PM && OF
+	select HAVE_IDE
+	select PINCTRL_SINGLE
+
 if ARCH_DAVINCI
 
 config ARCH_DAVINCI_DMx
 	bool
 
-menu "TI DaVinci Implementations"
-
 comment "DaVinci Core Type"
 
 config ARCH_DAVINCI_DM644x
@@ -225,6 +235,4 @@  config DAVINCI_MUX_WARNINGS
 	  to change the pin multiplexing setup. When there are no warnings
 	  printed, it's safe to deselect DAVINCI_MUX for your product.
 
-endmenu
-
 endif
diff --git a/arch/arm/mach-davinci/Makefile b/arch/arm/mach-davinci/Makefile
index d9af8c0c0b87..58838a9de651 100644
--- a/arch/arm/mach-davinci/Makefile
+++ b/arch/arm/mach-davinci/Makefile
@@ -4,6 +4,8 @@ 
 #
 #
 
+ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include
+
 # Common objects
 obj-y 					:= serial.o usb.o common.o sram.o