v4.1-rcX regression in v4l2 build
Hi Guennadi,
Today I noticed the mioa701 build is broken on v4.1-rcX series. It was working in v4.0.
The build error I get is :
LINK vmlinux
LD vmlinux.o
MODPOST vmlinux.o
GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.o
drivers/built-in.o: In function `v4l2_clk_set_rate':/home/rj/mio_linux/kernel/drivers/media/v4l2-core/v4l2-clk.c:196: undefined reference to `clk_round_rate' Makefile:932: recipe for target 'vmlinux' failed
make: *** [vmlinux] Error 1
make: Target '_all' not remade because of errors.
I have no idea what changed. Do you have a clue ?
Cheers.
Signature · 17 lines
Robert PS: A small extract of my .config rj@belgarion:~/mio_linux/kernel$ grep CLK .config CONFIG_HAVE_CLK=y CONFIG_PM_CLK=y # CONFIG_MMC_CLKGATE is not set CONFIG_CLKDEV_LOOKUP=y CONFIG_CLKSRC_OF=y CONFIG_CLKSRC_MMIO=y CONFIG_CLKSRC_PXA=y rj@belgarion:~/mio_linux/kernel$ grep V4L .config CONFIG_VIDEO_V4L2=y CONFIG_V4L_PLATFORM_DRIVERS=y # CONFIG_V4L_MEM2MEM_DRIVERS is not set # CONFIG_V4L_TEST_DRIVERS is not set CONFIG_DVB_AU8522_V4L=m
Hi Robert,
Quoted 14 lines · Robert Jarzmik
Hi Guennadi,
Today I noticed the mioa701 build is broken on v4.1-rcX series. It was working in v4.0.
The build error I get is :
LINK vmlinux
LD vmlinux.o
MODPOST vmlinux.oGEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.o
Quoted 5 lines
drivers/built-in.o: In function `v4l2_clk_set_rate':/home/rj/mio_linux/kernel/drivers/media/v4l2-core/v4l2-clk.c:196: undefined reference to `clk_round_rate' Makefile:932: recipe for target 'vmlinux' failed
make: *** [vmlinux] Error 1
make: Target '_all' not remade because of errors.
Not good:(
Quoted 1 line
I have no idea what changed. Do you have a clue ?
I've seen some patches on ALKML for PXA CCF, is it in the mainline now? Could that have been the reason? Is CONFIG_COMMON_CLK defined in your .config? Although, no, it's not PXA CCF, it's most probably this
commit 4f528afcfbcac540c8690b41307cac5c22088ff1
Author: Guennadi Liakhovetski <[email protected]> Date: Sun Feb 1 08:12:33 2015 -0300
[media] V4L: add CCF support to the v4l2_clk API
:( But I don't understand how this can happen. V4L is certainly not the only driver in your build, that uses clk ops! They are exported from drivers/clk/clk.c for GPL, but v4l2-dev.c defines the GPL licence, so, should be ok. V4L is built as a module in your configuration, right? Can you try building it into the image?
Thanks
Guennadi
Quoted 22 lines
Cheers.
Signature · 17 lines
Robert PS: A small extract of my .config rj@belgarion:~/mio_linux/kernel$ grep CLK .config CONFIG_HAVE_CLK=y CONFIG_PM_CLK=y # CONFIG_MMC_CLKGATE is not set CONFIG_CLKDEV_LOOKUP=y CONFIG_CLKSRC_OF=y CONFIG_CLKSRC_MMIO=y CONFIG_CLKSRC_PXA=y rj@belgarion:~/mio_linux/kernel$ grep V4L .config CONFIG_VIDEO_V4L2=y CONFIG_V4L_PLATFORM_DRIVERS=y # CONFIG_V4L_MEM2MEM_DRIVERS is not set # CONFIG_V4L_TEST_DRIVERS is not set CONFIG_DVB_AU8522_V4L=m
Quoted 36 lines · Guennadi Liakhovetski
Hi Robert,
Quoted 14 lines · Robert Jarzmik
Hi Guennadi,
Today I noticed the mioa701 build is broken on v4.1-rcX series. It was working in v4.0.
The build error I get is :
LINK vmlinux
LD vmlinux.o
MODPOST vmlinux.oGEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.oQuoted 5 lines
drivers/built-in.o: In function `v4l2_clk_set_rate':/home/rj/mio_linux/kernel/drivers/media/v4l2-core/v4l2-clk.c:196: undefined reference to `clk_round_rate' Makefile:932: recipe for target 'vmlinux' failed
make: *** [vmlinux] Error 1
make: Target '_all' not remade because of errors.Not good:(
Quoted 1 line
I have no idea what changed. Do you have a clue ?
I've seen some patches on ALKML for PXA CCF, is it in the mainline now? Could that have been the reason? Is
CONFIG_COMMON_CLKdefined in your .config? Although, no, it's not PXA CCF, it's most probably thiscommit
4f528afcfbcac540c8690b41307cac5c22088ff1Author: Guennadi Liakhovetski <[email protected]> Date: Sun Feb 1 08:12:33 2015 -0300
Quoted 7 lines
[media] V4L: add CCF support to the
v4l2_clkAPI:( But I don't understand how this can happen. V4L is certainly not the only driver in your build, that uses clk ops! They are exported from
drivers/clk/clk.cfor GPL, butv4l2-dev.cdefines the GPL licence, so, should be ok. V4L is built as a module in your configuration, right? Can you try building it into the image?
I think I know how this is possible. PXA uses arch/arm/mach-pxa/clock.c for clk ops, and clk_round_rate() isn't defined there... Can we add a dummy for PXA? It won't be used anyway as long as PXA doesn't support CCF.
Thanks
Guennadi
Quoted 23 lines
Quoted 22 lines
Cheers.
Signature · 17 lines
Robert PS: A small extract of my .config rj@belgarion:~/mio_linux/kernel$ grep CLK .config CONFIG_HAVE_CLK=y CONFIG_PM_CLK=y # CONFIG_MMC_CLKGATE is not set CONFIG_CLKDEV_LOOKUP=y CONFIG_CLKSRC_OF=y CONFIG_CLKSRC_MMIO=y CONFIG_CLKSRC_PXA=y rj@belgarion:~/mio_linux/kernel$ grep V4L .config CONFIG_VIDEO_V4L2=y CONFIG_V4L_PLATFORM_DRIVERS=y # CONFIG_V4L_MEM2MEM_DRIVERS is not set # CONFIG_V4L_TEST_DRIVERS is not set CONFIG_DVB_AU8522_V4L=m
Guennadi Liakhovetski <[email protected]> writes:
...zip...
First, a question for Russell :
Given that the current PXA architecture is not implementing the clk_round_rate() function, while implementing clk_get(), etc..., is it correct to say that it is betraying the clk API by doing so ?
And now the answers to your mail Guennadi :
Quoted 3 lines
Quoted 3 lines
I've seen some patches on ALKML for PXA CCF, is it in the mainline now? Could that have been the reason? Is
CONFIG_COMMON_CLKdefined in your .config? Although, no, it's not PXA CCF, it's most probably this
No it's not in clock common framework yet.
PXA will switch to CCF in 4.2, as it missed the 4.1 merge window.
Quoted 3 lines
I think I know how this is possible. PXA uses
arch/arm/mach-pxa/clock.cfor clk ops, andclk_round_rate()isn't defined there... Can we add a dummy for PXA? It won't be used anyway as long as PXA doesn't support CCF.
I could do it. I'm a bit reluctant because I already prepared my pull request which fully shifts PXA to CCF, and adding a dummy function will create a merge issue.
But is PXA the only one in this case ?
Quoted 1 line
From a first sight there are 5 ARM architectures in the same case :
rj@belgarion:~/mio_linux/kernel/arch/arm$ grep -rsl 'EXPORT_SYMBOL(clk_round_rate' *
mach-davinci/clock.c
mach-lpc32xx/clock.c
mach-omap1/clock.c
plat-versatile/clock.c
rj@belgarion:~/mio_linux/kernel/arch/arm$ grep -rsl 'EXPORT_SYMBOL(clk_get_rate' *
mach-davinci/clock.c
mach-ep93xx/clock.c
mach-lpc32xx/clock.c
mach-mmp/clock.c
mach-omap1/clock.c
mach-pxa/clock.c
mach-sa1100/clock.c
mach-w90x900/clock.c
plat-versatile/clock.cCheers.
Signature · 1 line
Robert
Quoted 4 lines · Robert Jarzmik
First, a question for Russell :
Given that the current PXA architecture is not implementing theclk_round_rate()function, while implementingclk_get(), etc..., is it correct to say that it is betraying the clk API by doing so ?
Really, yes. PXA used to be self-contained as far as clk API usage, and so it only ever implemented what it needed from the API to support the SoC. Now that things are getting "more complicated" then the other functions will probably be needed.
Signature · 2 lines
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up according to speedtest.net.
Quoted 10 lines · Russell King - ARM Linux
Quoted 4 lines · Robert Jarzmik
First, a question for Russell :
Given that the current PXA architecture is not implementing theclk_round_rate()function, while implementingclk_get(), etc..., is it correct to say that it is betraying the clk API by doing so ?Really, yes. PXA used to be self-contained as far as clk API usage, and so it only ever implemented what it needed from the API to support the SoC. Now that things are getting "more complicated" then the other functions will probably be needed.
So I thought, thanks.
Cheers.
Signature · 1 line
Robert