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

Alexey Brodkin Alexey.Brodkin at synopsys.com
Fri Mar 10 07:57:52 PST 2017


Hi Felix,

On Fri, 2017-03-10 at 16:10 +0100, Felix Fietkau wrote:
> 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 https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.infradead.org_pipermail_libnl_2017-2DMarch_002301.html&d=DwICaQ&c=DPL6_
> > X_6JkXFx7AXWqB0tg&r=lqdeeSSEes0GFDDl656eViXO7breS55ytWkhpk5R81I&m=Av73R0CdUxaXu6SIuxCefjNOP7Tna15aS9shJpYiMu0&s=hQbh1lrUWjbyWDe85RK94dK-
> > 9GWyP9oDXTyxGxSbsws&e= 
> > 
> > 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.

Completely forgot about feeds, sorry.
So what I did now was "./scripts/feed uninstall -a", selected ARC770 board,
enabled CONFIG_ALL_KMOD and all got built perfectly fine for me.

Any other ideas what's missing in my case?

> 
> > 
> > 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.

Ok that makes sense.

-Alexey


More information about the Lede-dev mailing list