I was trying to build an image for an IPQ806X target.
The image is well compatible with my hardware model.
But I was not able to bring the ethernet driver up.
On furthur research on the topic , I found extra kernel packages
needs to be added for this. Recognized I had to add qca-edma package which I downloaded
and made the make file changes for build. However I am getting some compilation errors on
this  like following.

But since its an already existing package I am not sure I should be making code changes.
Am I missing something important? Does anyone have any idea why this issue might be happening. Linux version is 4.14.

Thankyou. Looking forward to replies.

set_rfs_filter_callback_t set_rfs_rule;
  ^
/home/guru/punya/trunkpull/openwrt/build_dir/target-arm_cortex-a9+neon-vfpv4_musl-1.1.16_eabi/linux-ipq806x/qca-edma/ipq806x/edma.h:445:3: error: unknown type name 'set_rfs_filter_callback_t'
   set_rfs_filter_callback_t set_filter);
   ^
/home/guru/punya/trunkpull/openwrt/build_dir/target-arm_cortex-a9+neon-vfpv4_musl-1.1.16_eabi/linux-ipq806x/qca-edma/ipq806x/edma_axi.c:975:2: error: unknown field 'ndo_register_rfs_filter' specified in initializer
  .ndo_register_rfs_filter = edma_register_rfs_filter,
  ^
/home/guru/punya/trunkpull/openwrt/build_dir/target-arm_cortex-a9+neon-vfpv4_musl-1.1.16_eabi/linux-ipq806x/qca-edma/ipq806x/edma_axi.c:975:29: error: 'edma_register_rfs_filter' undeclared here (not in a function)
  .ndo_register_rfs_filter = edma_register_rfs_filter,
                             ^
/home/guru/punya/trunkpull/openwrt/build_dir/target-arm_cortex-a9+neon-vfpv4_musl-1.1.16_eabi/linux-ipq806x/qca-edma/ipq806x/edma_axi.c:976:2: error: unknown field 'ndo_get_default_vlan_tag' specified in initializer
  .ndo_get_default_vlan_tag = edma_get_default_vlan_tag,
  ^
/home/guru/punya/trunkpull/openwrt/build_dir/target-arm_cortex-a9+neon-vfpv4_musl-1.1.16_eabi/linux-ipq806x/qca-edma/ipq806x/edma_axi.c:976:30: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
  .ndo_get_default_vlan_tag = edma_get_default_vlan_tag,
                              ^
/home/guru/punya/trunkpull/openwrt/build_dir/target-arm_cortex-a9+neon-vfpv4_musl-1.1.16_eabi/linux-ipq806x/qca-edma/ipq806x/edma_axi.c:976:30: note: (near initialization for 'edma_axi_netdev_ops.ndo_del_slave')
scripts/Makefile.build:258: recipe for target '/home/guru/punya/trunkpull/openwrt/build_dir/target-arm_cortex-a9+neon-vfpv4_musl-1.1.16_eabi/linux-ipq806x/qca-edma/ipq806x/edma_axi.o' failed
make[6]: *** [/home/guru/punya/trunkpull/openwrt/build_dir/target-arm_cortex-a9+neon-vfpv4_musl-1.1.16_eabi/linux-ipq806x/qca-edma/ipq806x/edma_axi.o] Error 1
scripts/Makefile.build:403: recipe for target '/home/guru/punya/trunkpull/openwrt/build_dir/target-arm_cortex-a9+neon-vfpv4_musl-1.1.16_eabi/linux-ipq806x/qca-edma/ipq806x' failed
make[5]: *** [/home/guru/punya/trunkpull/openwrt/build_dir/target-arm_cortex-a9+neon-vfpv4_musl-1.1.16_eabi/linux-ipq806x/qca-edma/ipq806x] Error 2
Makefile:1385: recipe for target '_module_/home/guru/punya/trunkpull/openwrt/build_dir/target-arm_cortex-a9+neon-vfpv4_musl-1.1.16_eabi/linux-ipq806x/qca-edma' failed
make[4]: *** [_module_/home/guru/punya/trunkpull/openwrt/build_dir/target-arm_cortex-a9+neon-vfpv4_musl-1.1.16_eabi/linux-ipq806x/qca-edma] Error 2
make[4]: Leaving directory '/home/guru/punya/trunkpull/openwrt/build_dir/target-arm_cortex-a9+neon-vfpv4_musl-1.1.16_eabi/linux-ipq806x/linux-4.4.14'
Makefile:54: recipe for target '/home/guru/punya/trunkpull/openwrt/build_dir/target-arm_cortex-a9+neon-vfpv4_musl-1.1.16_eabi/linux-ipq806x/qca-edma/.built' failed
make[3]: *** [/home/guru/punya/trunkpull/openwrt/build_dir/target-arm_cortex-a9+neon-vfpv4_musl-1.1.16_eabi/linux-ipq806x/qca-edma/.built] Error 2
make[3]: Leaving directory '/home/guru/punya/trunkpull/openwrt/package/kernel/qca-edma'
package/Makefile:196: recipe for target 'package/kernel/qca-edma/compile' failed
make[2]: *** [package/kernel/qca-edma/compile] Error 2
make[2]: Leaving directory '/home/guru/punya/trunkpull/openwrt'
package/Makefile:193: recipe for target '/home/guru/punya/trunkpull/openwrt/staging_dir/target-arm_cortex-a9+neon-vfpv4_musl-1.1.16_eabi/stamp/.package_compile' failed
make[1]: *** [/home/guru/punya/trunkpull/openwrt/staging_dir/target-arm_cortex-a9+neon-vfpv4_musl-1.1.16_eabi/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/guru/punya/trunkpull/openwrt'
/home/guru/punya/trunkpull/openwrt/include/toplevel.mk:192: recipe for target 'world' failed
make: *** [world] Error 2