2013-09-04 14:13:19

by Josh Boyer

[permalink] [raw]
Subject: 3.12 merge window exynos cpufreq driver fails to build

Using Linus' tree as of this morning (v3.11-2654-g458c3f6), the
exynos-cpufreq driver doesn't build because it includes a file that
doesn't exist.

+ make -s ARCH=arm V=1 -j4 bzImage KALLSYMS_EXTRA_PASS=1
arch/arm/kernel/return_address.c:63:2: warning: #warning "TODO:
return_address should use unwind tables" [-Wcpp]
#warning "TODO: return_address should use unwind tables"
^
arch/arm/mm/dma-mapping.c:253:2: warning: #warning ARM Coherent DMA
allocator does not (yet) support huge TLB [-Wcpp]
#warning ARM Coherent DMA allocator does not (yet) support huge TLB
^
drivers/cpufreq/exynos-cpufreq.c:21:22: fatal error: plat/cpu.h: No
such file or directory
#include <plat/cpu.h>
^
compilation terminated.
make[2]: *** [drivers/cpufreq/exynos-cpufreq.o] Error 1

I'm guessing that <plat/cpu.h> file is supposed to come from
arch/arm/plat-samsung/include/plat/, but I don't see anything that
specifies a -I there.

Thoughts?

josh


2013-09-04 14:36:31

by Tomasz Figa

[permalink] [raw]
Subject: Re: 3.12 merge window exynos cpufreq driver fails to build

Hi Josh,

On Wednesday 04 of September 2013 10:13:16 Josh Boyer wrote:
> Using Linus' tree as of this morning (v3.11-2654-g458c3f6), the
> exynos-cpufreq driver doesn't build because it includes a file that
> doesn't exist.
>
> + make -s ARCH=arm V=1 -j4 bzImage KALLSYMS_EXTRA_PASS=1
> arch/arm/kernel/return_address.c:63:2: warning: #warning "TODO:
> return_address should use unwind tables" [-Wcpp]
> #warning "TODO: return_address should use unwind tables"
> ^
> arch/arm/mm/dma-mapping.c:253:2: warning: #warning ARM Coherent DMA
> allocator does not (yet) support huge TLB [-Wcpp]
> #warning ARM Coherent DMA allocator does not (yet) support huge TLB
> ^
> drivers/cpufreq/exynos-cpufreq.c:21:22: fatal error: plat/cpu.h: No
> such file or directory
> #include <plat/cpu.h>
> ^
> compilation terminated.
> make[2]: *** [drivers/cpufreq/exynos-cpufreq.o] Error 1
>
> I'm guessing that <plat/cpu.h> file is supposed to come from
> arch/arm/plat-samsung/include/plat/, but I don't see anything that
> specifies a -I there.
>
> Thoughts?

Could you attach config that could be used to trigger this? Thanks in
advance.

Best regards,
Tomasz

2013-09-04 14:41:36

by Josh Boyer

[permalink] [raw]
Subject: Re: 3.12 merge window exynos cpufreq driver fails to build

On Wed, Sep 4, 2013 at 10:36 AM, Tomasz Figa <[email protected]> wrote:
> Hi Josh,
>
> On Wednesday 04 of September 2013 10:13:16 Josh Boyer wrote:
>> Using Linus' tree as of this morning (v3.11-2654-g458c3f6), the
>> exynos-cpufreq driver doesn't build because it includes a file that
>> doesn't exist.
>>
>> + make -s ARCH=arm V=1 -j4 bzImage KALLSYMS_EXTRA_PASS=1
>> arch/arm/kernel/return_address.c:63:2: warning: #warning "TODO:
>> return_address should use unwind tables" [-Wcpp]
>> #warning "TODO: return_address should use unwind tables"
>> ^
>> arch/arm/mm/dma-mapping.c:253:2: warning: #warning ARM Coherent DMA
>> allocator does not (yet) support huge TLB [-Wcpp]
>> #warning ARM Coherent DMA allocator does not (yet) support huge TLB
>> ^
>> drivers/cpufreq/exynos-cpufreq.c:21:22: fatal error: plat/cpu.h: No
>> such file or directory
>> #include <plat/cpu.h>
>> ^
>> compilation terminated.
>> make[2]: *** [drivers/cpufreq/exynos-cpufreq.o] Error 1
>>
>> I'm guessing that <plat/cpu.h> file is supposed to come from
>> arch/arm/plat-samsung/include/plat/, but I don't see anything that
>> specifies a -I there.
>>
>> Thoughts?
>
> Could you attach config that could be used to trigger this? Thanks in
> advance.

Attached.

josh


Attachments:
kernel-3.12.0-armv7hl-lpae.config (129.47 kB)

2013-09-04 15:04:39

by Tomasz Figa

[permalink] [raw]
Subject: Re: 3.12 merge window exynos cpufreq driver fails to build

On Wednesday 04 of September 2013 10:41:31 Josh Boyer wrote:
> On Wed, Sep 4, 2013 at 10:36 AM, Tomasz Figa <[email protected]> wrote:
> > Hi Josh,
> >
> > On Wednesday 04 of September 2013 10:13:16 Josh Boyer wrote:
> >> Using Linus' tree as of this morning (v3.11-2654-g458c3f6), the
> >> exynos-cpufreq driver doesn't build because it includes a file that
> >> doesn't exist.
> >>
> >> + make -s ARCH=arm V=1 -j4 bzImage KALLSYMS_EXTRA_PASS=1
> >> arch/arm/kernel/return_address.c:63:2: warning: #warning "TODO:
> >> return_address should use unwind tables" [-Wcpp]
> >>
> >> #warning "TODO: return_address should use unwind tables"
> >>
> >> ^
> >>
> >> arch/arm/mm/dma-mapping.c:253:2: warning: #warning ARM Coherent DMA
> >> allocator does not (yet) support huge TLB [-Wcpp]
> >>
> >> #warning ARM Coherent DMA allocator does not (yet) support huge TLB
> >>
> >> ^
> >>
> >> drivers/cpufreq/exynos-cpufreq.c:21:22: fatal error: plat/cpu.h: No
> >> such file or directory
> >>
> >> #include <plat/cpu.h>
> >>
> >> ^
> >>
> >> compilation terminated.
> >> make[2]: *** [drivers/cpufreq/exynos-cpufreq.o] Error 1
> >>
> >> I'm guessing that <plat/cpu.h> file is supposed to come from
> >> arch/arm/plat-samsung/include/plat/, but I don't see anything that
> >> specifies a -I there.
> >>
> >> Thoughts?
> >
> > Could you attach config that could be used to trigger this? Thanks in
> > advance.
>
> Attached.

Hmm, this does not look like config for kernel neither from Linus' nor
linux-next tree. The first thing I can see is CONFIG_ARCH_EXYNOS_MULTI
selected, which is not available in any mainline tree.

As for the build error itself, headers from plat/ are available for drivers
only in single platform builds, they can't be included when multiplatform
is enabled. The exynos-cpufreq driver is not multiplatform-aware yet and so
you get the failure.

Best regards,
Tomasz

2013-09-04 15:08:18

by Josh Boyer

[permalink] [raw]
Subject: Re: 3.12 merge window exynos cpufreq driver fails to build

On Wed, Sep 4, 2013 at 11:04 AM, Tomasz Figa <[email protected]> wrote:
> On Wednesday 04 of September 2013 10:41:31 Josh Boyer wrote:
>> On Wed, Sep 4, 2013 at 10:36 AM, Tomasz Figa <[email protected]> wrote:
>> > Hi Josh,
>> >
>> > On Wednesday 04 of September 2013 10:13:16 Josh Boyer wrote:
>> >> Using Linus' tree as of this morning (v3.11-2654-g458c3f6), the
>> >> exynos-cpufreq driver doesn't build because it includes a file that
>> >> doesn't exist.
>> >>
>> >> + make -s ARCH=arm V=1 -j4 bzImage KALLSYMS_EXTRA_PASS=1
>> >> arch/arm/kernel/return_address.c:63:2: warning: #warning "TODO:
>> >> return_address should use unwind tables" [-Wcpp]
>> >>
>> >> #warning "TODO: return_address should use unwind tables"
>> >>
>> >> ^
>> >>
>> >> arch/arm/mm/dma-mapping.c:253:2: warning: #warning ARM Coherent DMA
>> >> allocator does not (yet) support huge TLB [-Wcpp]
>> >>
>> >> #warning ARM Coherent DMA allocator does not (yet) support huge TLB
>> >>
>> >> ^
>> >>
>> >> drivers/cpufreq/exynos-cpufreq.c:21:22: fatal error: plat/cpu.h: No
>> >> such file or directory
>> >>
>> >> #include <plat/cpu.h>
>> >>
>> >> ^
>> >>
>> >> compilation terminated.
>> >> make[2]: *** [drivers/cpufreq/exynos-cpufreq.o] Error 1
>> >>
>> >> I'm guessing that <plat/cpu.h> file is supposed to come from
>> >> arch/arm/plat-samsung/include/plat/, but I don't see anything that
>> >> specifies a -I there.
>> >>
>> >> Thoughts?
>> >
>> > Could you attach config that could be used to trigger this? Thanks in
>> > advance.
>>
>> Attached.
>
> Hmm, this does not look like config for kernel neither from Linus' nor
> linux-next tree. The first thing I can see is CONFIG_ARCH_EXYNOS_MULTI
> selected, which is not available in any mainline tree.

Sigh. Yes, I see the issue now.

> As for the build error itself, headers from plat/ are available for drivers
> only in single platform builds, they can't be included when multiplatform
> is enabled. The exynos-cpufreq driver is not multiplatform-aware yet and so
> you get the failure.

Someone added some exynos multiplatform patches to the Fedora kernel.
That seems to have caused these build failures. Our mistake and my
apologies for the inconvenience. Thank you for the quick response.

josh