intel / ipu6-drivers

GNU General Public License v2.0
165 stars 52 forks source link

imx390 and ti960 drivers fail to build on iotg_ipu6 branch #224

Open jcdeka opened 5 months ago

jcdeka commented 5 months ago

I'd like to build the IMX390 and TI960 drivers. These are not supported in master branch. They are supported in iotg_ipu6 branch which seems to be maintained by @zouxiaoh

The instructions to build in-tree produce a kernel build which does not include imx390.ko or ti960.ko. And there are no instructions on how to enable these drivers. The C files exist (imx390.c, ti960.c), but they are not referenced by any Makefiles or Kconfig. If I use instructions from the tgl_manchester branch, the build fails.

imx390_build_fail.log

It looks like kernel API changes have broken these drivers which have not been updated in a long time. Are they maintained?

What I've tried:

# Step 1: Build kernel 6.5
cd ~
git clone https://github.com/intel/linux-kernel-overlay.git
cd linux-kernel-overlay/
git checkout mainline-tracking-overlay-v6.5-ubuntu-240122T064042Z
./build.sh # success
# Step 2: Add ipu6-drivers from iotg_ipu6 branch and rebuild kernel 6.5
cd ~
git clone https://github.com/intel/ipu6-drivers.git
cd ipu6-drivers/
git checkout iotg_ipu6

BUILDDIR=~/linux-kernel-overlay/build/linux-kernel-v6.5
cp -r include/ $BUILDDIR
cp -r drivers/ $BUILDDIR
cd $BUILDDIR
make olddefconfig
make -j4 bindeb-pkg # success
# Step 3: Enable IMX390 and TI960 drivers and rebuild kernel 6.5 - fail
nano drivers/media/i2c/Kconfig # Add configs for VIDEO_IMX390 and VIDEO_TI960
nano drivers/media/i2c/Makefile # Add ti960-objs, obj-$(CONFIG_VIDEO_TI960), and obj-$(CONFIG_VIDEO_IMX390)
nano .config # Enable CONFIG_VIDEO_IMX390 and CONFIG_VIDEO_TI960

make olddefconfig
make -j4 bindeb-pkg # Fail

Possibly related: I noticed 8 unmerged pull requests directed to the iotg_ipu6 branch courtesy of @dmipx and @mjchen20220511. Would any of these help? They do not seem IMX390/TI960 related.

jcdeka commented 5 months ago

Related: https://github.com/zouxiaoh/ipu6-drivers/pull/2