[LEDE-DEV] [PATCH 2/2] target/arc770: switch to 4.9 kernel

Felix Fietkau nbd at nbd.name
Fri Mar 10 07:10:57 PST 2017


On 2017-03-10 16:00, Alexey Brodkin wrote:
> Hi Felix,
> 
> On Tue, 2017-03-07 at 19:30 +0100, Felix Fietkau wrote:
>> On 2017-03-06 19:30, Alexey Brodkin wrote:
>> > 
>> > With update of ARC tools to arc-2016.09 based on GCC v6.x
>> > we have to bump Linux kernel version so both toolchain and
>> > the kernel use the same ARC ABIv4.
>> > 
>> > Signed-off-by: Alexey Brodkin <Alexey.Brodkin at synopsys.com>
>> > ---
>> >  target/linux/arc770/Makefile                       |  2 +-
>> >  target/linux/arc770/{config-4.4 => config-4.9}     | 44 ++++++++++++++++------
>> >  ...stmmac-Disable-frame-filtering-completely.patch |  0
>> >  3 files changed, 33 insertions(+), 13 deletions(-)
>> >  rename target/linux/arc770/{config-4.4 => config-4.9} (82%)
>> >  rename target/linux/arc770/{patches-4.4 => patches-4.9}/700-stmmac-Disable-frame-filtering-completely.patch (100%)
>> > 
>> This does not build with CONFIG_ALL_KMODS=y:
>> 
>>   MODPOST 735 modules
>> ERROR: "of_usb_get_phy_mode" [drivers/usb/dwc3/dwc3.ko] undefined!
>> scripts/Makefile.modpost:91: recipe for target '__modpost' failed
>> make[5]: *** [__modpost] Error 1
>> Makefile:1196: recipe for target 'modules' failed
>> make[4]: *** [modules] Error 2
>> make[4]: Leaving directory '/var/nbd/lede/build_dir/target-arc_arc700_uClibc/linux-arc770_generic/linux-4.9.13'
>> Makefile:25: recipe for target '/var/nbd/lede/build_dir/target-arc_arc700_uClibc/linux-arc770_generic/linux-4.9.13/.image' failed
>> make[3]: *** [/var/nbd/lede/build_dir/target-arc_arc700_uClibc/linux-arc770_generic/linux-4.9.13/.image] Error 2
>> make[3]: Leaving directory '/var/nbd/lede/target/linux/arc770'
>> Makefile:13: recipe for target 'install' failed
>> 
>> The cause is that of_usb_get_phy_mode is meant to be built into the
>> kernel, however since USB is selected as module, this won't work.
>> 
>> Please send any follow-up fixes incrementally, and I will fold them
>> into the commit in my staging tree.
> 
> Sorry for being silent for quite some time on that topic.
> It turned to be not that easy reproduce this... and to be honest
> I'm not there yet :)
> 
> Now a bit more details.
> 
> 1. For some reason once I enable CONFIG_ALL_KMODS somehow implicitly
> libnl gets enabled and its current version simply couldn't be built
> with uClibc, see http://lists.infradead.org/pipermail/libnl/2017-March/002301.html
> 
> 2. Now I'm seeing this:
> --------------------------------->8-----------------------------
> make[4]: Entering directory `.../build_dir/target-arc_arc700_uClibc/linux-arc770_generic/linux-4.9.13'
>   CC [M]  .../build_dir/target-arc_arc700_uClibc/linux-arc770_generic/siit-1.2/siit.o
> .../build_dir/target-arc_arc700_uClibc/linux-arc770_generic/siit-1.2/siit.c: In function 'siit_xmit':
> .../build_dir/target-arc_arc700_uClibc/linux-arc770_generic/siit-1.2/siit.c:1169:5: error: 'struct net_device' has no member named 'trans_start'; did
> you mean 'mem_start'?
>   dev->trans_start = jiffies;
>      ^~
> --------------------------------->8-----------------------------
> 
> So I'm wondering:
> 1. How did you manage to get over these things (I may expect once I found
> a fix for this "siit" more issues appear :)?
I did not run into these issues, because I was building without the
packages feed.

> 2. How come we haven't see issues with ALL_KMOD with 4.4-based kernels?
On linux 4.4, dwc3 didn't call that function.

- Felix



More information about the Lede-dev mailing list