-
-
Notifications
You must be signed in to change notification settings - Fork 10.3k
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
[RFT] bcm63xx: add testing support for kernel 5.4 #2887
Conversation
LGTM, but @KanjiMonster had already started working on it: Tested on Comtrend AR-5387un:
|
Thanks @Noltari , can I add a Tested-by to the "bcm63xx: use kernel 5.4 as testing kernel " patch? (Mentioning the device...) If there is no further response, I'd actually consider merging this during Easter weekend. If some config options are wrong, they should be easy to adjust later. |
Since kernel 4.15, init_timer is not available anymore, and has been replaced by timer_setup. The fixes compilation of wl_linuc.c, which returned the following errors beforehand (line-wrapped manually): .../broadcom-wl-5.10.56.27.3/driver/wl_linux.c: In function 'wl_init_timer': .../broadcom-wl-5.10.56.27.3/driver/wl_linux.c:2576:2: error: implicit declaration of function 'init_timer'; did you mean 'init_timers'? [-Werror=implicit-function-declaration] init_timer(&t->timer); ^~~~~~~~~~ init_timers .../broadcom-wl-5.10.56.27.3/driver/wl_linux.c:2577:10: error: 'struct timer_list' has no member named 'data' t->timer.data = (ulong) t; ^ .../broadcom-wl-5.10.56.27.3/driver/wl_linux.c:2578:20: error: assignment to 'void (*)(struct timer_list *)' from incompatible pointer type 'void (*)(ulong)' {aka 'void (*)(long unsigned int)'} [-Werror=incompatible-pointer-types] t->timer.function = wl_timer; This should fix build of several devices on bcm63xx with testing kernel (4.19). Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> --- This is only build-tested!
Copy config and patches to kernel 5.4. make kernel_oldconfig has been run on 4.19 beforehand. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Refresh patches to make them apply to kernel 5.4. The removed patches have been merged upstream. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Update config with make kernel_oldconfig. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This uses 5.4 as testing kernel. Since 4.19 has not seen broad testing yet, just keep 4.14 as stable kernel until 5.4 is ready. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This patch follows the other patches that added the watchdog core to various (armvirt, malta, ath79, ...) targets that have been hit by the following build error: Package kmod-hwmon-sch5627 is missing dependencies for the following libraries: watchdog.ko In theory, we could have just added the CONFIG_WATCHDOG_CORE=y to the Kconfig variable of kmod-hwmon-sch5627's package definition. This would have forced the watchdog core to be builtin and less architectures would need to be updated. But we might as well follow through here. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This adds two fixes for compilation with kernel 5.4: 1. dev_open from include/linux/netdevice.h needs a second parameter since kernel 5.0: 00f54e68924e ("net: core: dev: Add extack argument to dev_open()") 2. get_ds() macro definition has been dropped since kernel 5.1: 736706bee329 ("get rid of legacy 'get_ds()' function") Since get_ds() has been just a macro before, replace it in the driver instead of creating a version switch. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
In kernel 5.4 -Werror=implicit-fallthrough is treated as error: arch/mips/bcm63xx/cpu.c: In function 'detect_cpu_clock': arch/mips/bcm63xx/cpu.c:158:2: error: this statement may fall through [-Werror=implicit-fallthrough=] { ^ arch/mips/bcm63xx/cpu.c:179:2: note: here case BCM6328_CPU_ID: ^~~~ cc1: all warnings being treated as errors This can be fixed by adding "Fall through" as a comment where intended, and has to be fixed by returning a proper default otherwise. In case of the default clock frequency for BCM6318 we fixed this by returning the default value taken from BCM6328 and BCM6362. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The helper syscon_regmap_lookup_by_pdevname has been removed in kernel patch 29d14b668d2f ("mfd: Remove unused helper syscon_regmap_lookup_by_pdevname") due to lack of users. However, we use this function in our local pinctrl drivers for BCM6358 and BCM6368. Thus, we have to add it locally. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
In kernel patch 92ce7e83b4e5 ("driver_find_device: Unify the match function with class_find_device()") the arguments of functions used with driver_find_device are adjusted. Do the same for our local user. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Since stable kernel for this target is still 4.14, kernel 4.19 has never been used much (and actually was broken for some devices). So, since we bump testing kernel to 5.4, there is no real need to keep 4.19 and have an additional version to care about. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
(Trivial) refresh due to kernel bump to 5.4.31. |
Merged. |
Thanks @adrianschmutzler, I'm now testing kernel 5.4 on my HG556a as an AP on my network. BTW, I've also pushed 4e535d8 from @KanjiMonster, which disables devices with < 8MiB Flash or < 64MiB RAM. |
To be honest, for me this was mostly a code-play, I cannot really judge whether the target is ready for 5.4 or not. But I obviously won't stop you for the very same reason :-) |
This adds testing support for kernel 5.4.
This has been compile-tested for all devices (selected by default) on generic subtarget.
*** This has not been run-tested since I own no bcm63xx device. ***
This is my first kernel bump, I mainly did it to learn how to do.
Consequently, review with care, particularly the Kernel config; with the patches, I don't expect major issues.
@KanjiMonster @Noltari