Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to 6.6 LTS kernel #3063

Merged
merged 15 commits into from
Feb 2, 2024
Merged

Update to 6.6 LTS kernel #3063

merged 15 commits into from
Feb 2, 2024

Conversation

sairon
Copy link
Member

@sairon sairon commented Jan 11, 2024

No description provided.

@sairon sairon added board/ova Open Virtual Appliance (Virtual Machine) board/odroid Hardkernel's ODROID Boards os board/tinker ASUS' Tinker Boards linux Linux kernel related issue board/generic-x86-64 Generic x86-64 Boards (like Intel NUC) board/khadas Khadas VIM Boards board/generic-aarch64 Generic aarch64 machine board/green Home Assistant Green labels Jan 11, 2024
@jens-maus
Copy link
Contributor

Seeing that the eq3_char_loop kernel module (thus homematic rf module support) seem to fail for kernel 6.6 I wonder what is the roadmap/agenda for kernel 6.6 integration here? Because I would of course take care of the eq3_char_loop module since I am the maintainer.

@sairon
Copy link
Member Author

sairon commented Jan 11, 2024

@jens-maus We're currently in the exploration phase and there's no fixed schedule. Of course the sooner the individual issues get resolved the better :) If you could take care of it, it'd be much appreciated. FWIW here's the error:

>>> eq3_char_loop e60183fc5b8375d9eea185c716f716c07657fa00 Configuring
>>> eq3_char_loop e60183fc5b8375d9eea185c716f716c07657fa00 Building
>>> eq3_char_loop e60183fc5b8375d9eea185c716f716c07657fa00 Building kernel module(s)
PATH="/build/output_ova/host/bin:/build/output_ova/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" PKG_CONFIG="/build/output_ova/host/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/build/output_ova/host/lib/pkgconfig:/build/output_ova/host/share/pkgconfig" BR_BINARIES_DIR=/build/output_ova/images KCFLAGS=-Wno-attribute-alias /usr/bin/make -j17 -C /build/output_ova/build/linux-6.6.10 HOSTCC="/build/output_ova/host/bin/ccache /usr/bin/gcc -O2 -isystem /build/output_ova/host/include -L/build/output_ova/host/lib -Wl,-rpath,/build/output_ova/host/lib" ARCH=x86_64 INSTALL_MOD_PATH=/build/output_ova/target CROSS_COMPILE="/build/output_ova/host/bin/x86_64-buildroot-linux-gnu-" WERROR=0 REGENERATE_PARSERS=1 DEPMOD=/build/output_ova/host/sbin/depmod INSTALL_MOD_STRIP=1  PWD=/build/output_ova/build/eq3_char_loop-e60183fc5b8375d9eea185c716f716c07657fa00/KernelDrivers M=/build/output_ova/build/eq3_char_loop-e60183fc5b8375d9eea185c716f716c07657fa00/KernelDrivers modules
make[1]: Entering directory '/build/output_ova/build/linux-6.6.10'
  CC [M]  /build/output_ova/build/eq3_char_loop-e60183fc5b8375d9eea185c716f716c07657fa00/KernelDrivers/eq3_char_loop.o
In file included from ./include/linux/linkage.h:7,
                 from ./include/linux/kernel.h:17,
                 from ../eq3_char_loop-e60183fc5b8375d9eea185c716f716c07657fa00/KernelDrivers/eq3_char_loop.c:23:
../eq3_char_loop-e60183fc5b8375d9eea185c716f716c07657fa00/KernelDrivers/eq3_char_loop.c: In function 'eq3loop_init':
./include/linux/export.h:29:22: error: passing argument 1 of 'class_create' from incompatible pointer type [-Werror=incompatible-pointer-types]
   29 | #define THIS_MODULE (&__this_module)
      |                     ~^~~~~~~~~~~~~~~
      |                      |
      |                      struct module *
../eq3_char_loop-e60183fc5b8375d9eea185c716f716c07657fa00/KernelDrivers/eq3_char_loop.c:953:42: note: in expansion of macro 'THIS_MODULE'
  953 |         control_data->class=class_create(THIS_MODULE, EQ3LOOP_DRIVER_NAME);
      |                                          ^~~~~~~~~~~
In file included from ./include/linux/device.h:31,
                 from ../eq3_char_loop-e60183fc5b8375d9eea185c716f716c07657fa00/KernelDrivers/eq3_char_loop.c:33:
./include/linux/device/class.h:230:54: note: expected 'const char *' but argument is of type 'struct module *'
  230 | struct class * __must_check class_create(const char *name);
      |                                          ~~~~~~~~~~~~^~~~
../eq3_char_loop-e60183fc5b8375d9eea185c716f716c07657fa00/KernelDrivers/eq3_char_loop.c:953:29: error: too many arguments to function 'class_create'
  953 |         control_data->class=class_create(THIS_MODULE, EQ3LOOP_DRIVER_NAME);
      |                             ^~~~~~~~~~~~
In file included from ./include/linux/device.h:31,
                 from ../eq3_char_loop-e60183fc5b8375d9eea185c716f716c07657fa00/KernelDrivers/eq3_char_loop.c:33:
./include/linux/device/class.h:230:29: note: declared here
  230 | struct class * __must_check class_create(const char *name);
      |                             ^~~~~~~~~~~~
cc1: all warnings being treated as errors

If it's the only error, the fix should be fairly easy, basically the same as here: google/gasket-driver@8aca235

@sairon
Copy link
Member Author

sairon commented Jan 11, 2024

@jens-maus Nevermind, I added a patch that fixes the build with the newer kernel.

@jens-maus
Copy link
Contributor

@jens-maus Nevermind, I added a patch that fixes the build with the newer kernel.

Thx. But of course I mind, because I want to integrate that patch upstream since I require that in my projects as well anyway ;-)

@darkxst
Copy link
Contributor

darkxst commented Jan 14, 2024

Ive been testing for a while 6.6 in my builds. Just a heads up that rockchip boards require change to config option
CONFIG_MFD_RK808=y
which is replaced by this
CONFIG_MFD_RK8XX_I2C=y

@@ -104,6 +104,7 @@ BR2_PACKAGE_GPTFDISK=y
BR2_PACKAGE_GPTFDISK_SGDISK=y
# BR2_PACKAGE_LVM2_STANDARD_INSTALL is not set
BR2_PACKAGE_RTL8812AU_AIRCRACK_NG=y
BR2_PACKAGE_RTL8821CU=y
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

upstream RTW88 has a driver for this since 6.2

Copy link
Contributor

@darkxst darkxst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be nice to have the CI run make dtbs_check to pick up such issues in the device tree!

@@ -9,7 +9,7 @@ CONFIG_KEYBOARD_GPIO_POLLED=y

CONFIG_MMC_SDHCI_OF_DWCMSHC=y

CONFIG_REGULATOR_FAN53555=y
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is already configured in kernel-rockchip.config. Odroid M1S is using the same driver..

@@ -231,16 +238,16 @@ index 000000000000..e38fbfd50156
+&i2c0 {
+ status = "okay";
+
+ vdd_cpu: rk8601@41 {
+ vdd_cpu: fan53555@41 {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be
regulator@41

@darkxst
Copy link
Contributor

darkxst commented Feb 1, 2024

These can always be added later, but 6.6 adds a bunch more wifi drivers. Most notably most Realtek devices are supported in the upstream kernel now, except for RTL8812AU which will likely never be supported in mainline.

picked from make listnewconfig

CONFIG_ATH12K=n
CONFIG_MT7996E=n
CONFIG_RTW88_8822BS=n
CONFIG_RTW88_8822BU=n
CONFIG_RTW88_8822CS=n
CONFIG_RTW88_8822CU=n
CONFIG_RTW88_8723DS=n
CONFIG_RTW88_8723DU=n
CONFIG_RTW88_8821CS=n
CONFIG_RTW88_8821CU=n
CONFIG_RTW89_8851BE=n
CONFIG_RTW89_8852BE=n

@sairon
Copy link
Member Author

sairon commented Feb 1, 2024

@darkxst I'll prefer to add new options in another PR for better clarity in changelog. But thanks a lot once again for the heads-up!

M1 is now supported in upstream.
Needed larger refactoring because of 379ae64609c7a3301b60483eb65bd8bc78f76328
Removing the TMU patch/hack for now, need to check if it's still needed.
If it is indeed, then it needs slighter rewrite.
Mostly removed options that have been removed between releases. Only
a few options have been renamed, then there's bunch of options that
had dependencies added so they are available only on some architectures,
which are not those that we're using.
@sairon sairon merged commit 9dcf8ae into dev Feb 2, 2024
2 checks passed
@sairon sairon deleted the update-linux-6.6 branch February 2, 2024 13:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
board/generic-aarch64 Generic aarch64 machine board/generic-x86-64 Generic x86-64 Boards (like Intel NUC) board/green Home Assistant Green board/khadas Khadas VIM Boards board/odroid Hardkernel's ODROID Boards board/ova Open Virtual Appliance (Virtual Machine) board/tinker ASUS' Tinker Boards cla-signed linux Linux kernel related issue os
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants