replacing tegra tx1 kernel with diff kernel

I found a repo that contains a kernel that i want to use:

https://github.com/Basler/linux-usb-zerocopy

This is so i can get camera data faster. I was following the instructions on how to build a kernel for jetson tx1 here:

https://developer.ridgerun.com/wiki/index.php?title=Compiling_Tegra_X1_source_code

All i did was replace drivers/usb/core/devio.c with the repo’s drivers/usb/core/devio.c but unfortunately it wasn’t able to make the zImage.

Couple questions:

  1. can i completely replace Linux_for_Tegra_tx1 with the repo’s kernel? (I’m thinking this won’t work since Linux_for_Tegra_tx1 seems to have modules for the tegra tx1 board)

  2. The repo said the patch only touched driver/usb/core/devio.c so is there an easy way i can patch Linux_for_Tegra_tx1?

L4T is an entire root file system, kernel, and nVidia-specific files for some of the direct hardware access. The kernel you gave the URL to is a 4.x kernel, L4T has a 3.x kernel, there are bound to be a lot of differences where a back-port of the 4.x feature is not straightforward. On the other hand, if you were to go entirely with a 4.x kernel, then it is unlikely the nVidia-specific files would work, so back-porting this particular feature is probably the more practical thing to do.

If you look at specific changes to devio.c, and if the changes do not depend on other changes from 3.x to 4.x, then you can probably do it with minimal effort (“minimal” is a matter of opinion…the effort would still be significant, and there is a strong chance of other changes from 3.x to 4.x which would mean other dependencies being back-ported as a prerequisite requirement).