Commit Graph

1336 Commits

Author SHA1 Message Date
Linus Walleij
2eef4f7354 ixp4xx: Bump to kernel v6.6
The IXP4xx is well supported upstream and can readily be
supported with kernel v6.6. To simplify things after the
DTS directory was renamed, switch to v6.6 only.

Bring in some outstanding patches.

Tested on the Gateworks GW2348-4.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-05-20 21:04:08 +02:00
Antonio Flores
cfb7df2991 kernel: add kmod-ata-ahci-dwc
Add kmod-ata-ahci-dwc for the rockchip target.

33629d3509

Signed-off-by: Antonio Flores <antflores627@gmail.com>
2024-05-05 00:46:48 +02:00
Weijie Gao
159a285736 kernel: modules: video: adapt for loongarch64
* Allow kmod-acpi-video to be built for loongarch64:
The x86-specific CONFIG_ACPI_WMI will be split from default
kmod-acpi-video as a board-specific addition.

* Allow kmod-drm-amdgpu to be built for loongarch64:
Also add loongarch64-specific configs and modules.

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
2024-05-04 14:14:24 +08:00
Weijie Gao
886a507fa6 kernel: modules: netdevices: add depedency required for loongarch64
Add TARGET_loongarch64 as dependency for kmod-mdio-devres,
kmod-mdio-gpio and kmod-switch-rtl8366-smi

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
2024-05-04 14:14:24 +08:00
Linus Walleij
9c8f2d7c2d modules: Add kernel module for MV88E6xxx DSA switch
This adds a kernel module package for the Marvell
MV88E6XXX DSA switch and a separate module package for
the DSA tagger since it can in theory be used by multiple
DSA switches. Enable both DSA and EDSA tags in the
tagger.

We can't just compile this in because just a few devices
has this DSA, and it depends on e.g. the I2C and SFP
to be loaded as modules first.

We have no examples of DSA switches being packaged as
modules before, all seem to be compiled in, but it
actually works just fine to do this.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-04-24 23:15:58 +02:00
Oleg S
d668c74fe6 kernel: add kmod-hwmon-emc2305 support
This module supports the Microchip Technology Inc (SMSC)
EMC2301/EMC2302/EMC2303/EMC2305 fan speed PWM controller chips.

Signed-off-by: Oleg S <remittor@gmail.com>
2024-04-10 10:50:17 +02:00
Paul Spooren
d997477775 treewide: remove implicit SUBTARGET
Historically it's possible to leave the `SUBTARGETS` undefined and
automatically fallback to a "generic" subtarget. This however breaks
various downstream scripts which may have expectations around filenames:

While some targets with an explicit generic subtarget contain `generic`
in the filenames of artifacts, implicit "subtargets" don't.

Right now this breaks the CI[1], possibly also scripts using the ImageBuilders.

This commit removes all code that support implicit handling of
subtargets and instead requires every target to define "SUBTARGETS".

[1]: https://github.com/openwrt/openwrt/actions/runs/8592821105/job/23548273630

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-04-08 21:53:05 +02:00
Mieczyslaw Nalewaj
667baaf1d9 x86: 6.6: enable System Management Mode emulation on KVM
Include the CONFIG_KVM_SMM option in the kvm-x86 package to enable system management mode emulation on KVM.

Co-authored-by: Stefan Hellermann <stefan@the2masters.de>
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-04 08:56:10 +02:00
Mieczyslaw Nalewaj
7e5cf372a4 kernel: 6.6: modules: netdevices: lan743x: add missing dependency
Fix error: Package kmod-lan743x is missing dependencies for the following libraries:
fixed_phy.ko

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2024-04-04 08:56:10 +02:00
Mathew McBride
77e03f3c83 kernel: vfio: flag vfio_virqfd as only kernel 6.2 and earlier
Kernel 6.2 folded virqfd (eventd interface for VFIO interrupts)
into the base vfio module, it is no longer a tristate option.

Change suggested by vincejv on GitHub:
https://github.com/openwrt/openwrt/pull/14868#issuecomment-1998260124

Signed-off-by: Mathew McBride <matt@traverse.com.au>
2024-04-04 08:56:10 +02:00
Tomasz Maciej Nowak
d506ea3e80 kernel: kmod-phy-smsc: add dependency on crc16
Introduced WoL feature needs CRC16 support.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
2024-03-29 17:32:26 +01:00
Tim Harvey
ae8bf1a26e imx: add imx8m support
Add imx8m support:
 - add a cortexa53 subtarget to imx
 - move ARCH and KERNELNAME to subtargets
 - account for kernel modules that are not used for cortexa53

No device-specific targets or firmware images are created yet but all
imx8m* dtbs will be built.

enabling CONFIG_TARGET_ROOTFS_INITRAMFS results in
openwrt-imx-cortexa53-imx8m-initramfs-kernel.bin which has been
successfully booted on an imx8mm-evk using the following:

u-boot=> tftpboot $fdt_addr_r image-imx8mm-evk.dtb && \
tftpboot $kernel_addr_r openwrt-imx-cortexa53-imx8m-initramfs-kernel.bin && \
booti $kernel_addr_r - $fdt_addr_r

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2024-03-24 21:19:10 +01:00
Marius Durbaca
28ee115673 kernel: kmod-ata-ahci-platform: enable support for RK35xx
enable support for RK35xx in kmod-ata-ahci-platform kernel module

Suggested-by: Tianling Shen <cnsztl@immortalwrt.org>
Signed-off-by: Marius Durbaca <mariusd84@gmail.com>
2024-03-23 07:55:43 +01:00
Paul Spooren
e8725a932e treewide: use APK compatible version schema
Different from OPKG, APK uses a deterministic version schema which chips
the version into chunks and compares them individually. This enforces a
certain schema which was previously entirely flexible.

 - Releases are added at the very and end prefixed with an `r` like
`1.2.3-r3`.
- Hashes are prefixed with a `~` like `1.2.3~abc123`.
- Dates become semantic versions, like `2024.04.01`
- Extra tags are possible like `_git`, `_alpha` and more.

For full details see the APK test list:
https://gitlab.alpinelinux.org/alpine/apk-tools/-/blob/master/test/version.data

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-03-22 22:14:22 +01:00
Florian Eckert
879826154f kernel: update deprecated license information
Update the deprecated license information from GPL-2.0 to GPL-2.0-only
as written in the COPYING file of the linux source tree.

Also add the 'COPYING' file to the PKG_LICENSE_FILES variable.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2024-03-21 21:49:07 +01:00
Daniel Golle
40fce9dcb8 kernel: modules: package driver for MediaTek T7xx PCIe 5G modem
Build and package driver for MediaTek PCIe 5G WWAN modem T7xx device
available in Linux 6.1 and 6.6 as kmod-mtk-t7xx.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-03-17 22:41:03 +00:00
Zoltan HERPAI
afd5926e37 hwmon: add TC654 fan-controller support
Add support for the Microchip TC654 PWM fan-controller.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-03-17 00:19:20 +01:00
Robert Marko
8fb23465ca kernel: modules: video: select drm-exec and drm-suballoc-helper for AMDGPU
drm-amdgpu and drm-radeon require drm-exec and/or drm-suballoc-helper in
6.6, so since we have them packaged separately include them when required.

Fixes: 5b08b56007 ("kernel: modules: video: adapt for kernel 6.6")
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-15 15:25:03 +01:00
Robert Marko
08f1c36d00 kernel: modules: video: package DRM suballocation helper
Linux 6.4 has split out the previously AMDGPU specific suballocation
helper into a generic one and it has its own symbol now.

So, lets package it as a separate helper as AMDGPU still requires it
for 6.6.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-15 15:25:03 +01:00
Robert Marko
a6b3cc95f2 kernel: modules: video: package DRM EXEC
Linux 6.6 has added DRM EXEC as a separate symbol, so package it separately
as AMDGPU requires it.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-15 15:25:03 +01:00
Robert Marko
5c7400e932 kernel: modules: video: drm: remove DRM_EXEC and DRM_SUBALLOC_HELPER
As part of adding kernel 6.6 support, DRM_EXEC and DRM_SUBALLOC_HELPER were
added to the kmod-drm, however these are only used by drm-amdgpu and
drm-radeon which are only supported on x86.

So, lets start fixing building of other targets by removing these from the
main kmod-drm, in follow-up commits they will be packaged separately and
selected when required.

Fixes: 5b08b56007 ("kernel: modules: video: adapt for kernel 6.6")
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-15 15:25:03 +01:00
Hauke Mehrtens
d2898c273d kernel: kmod-hwmon-coretemp: Depend on x86
This kernel module depends on x86, it works only on some Intel CPUs.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-03-14 20:56:18 +01:00
Hauke Mehrtens
9c6cf8e77c kernel: kmod-video-cpia2: Depend on kernel 5.15
This driver was moved to staging in kernel 6.1 and then removed in
kernel 6.3, see these commits:
https://git.kernel.org/linus/be8cebc46d9d38166a1b3fda22a018ae52b0928e
https://git.kernel.org/linus/9ea8a9c72a9b4d24e6045ee25f5e465dc22f9f55

Build it only on older kernel versions.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-03-14 20:56:18 +01:00
Hauke Mehrtens
fcf0453549 kernel: kmod-can: Fix build of can drivers
Many can kernel modules are now gated by the newly introduced
CONFIG_CAN_NETLINK configuration option. Activate it to build the can
drivers again.
This was changed in this upstream Linux commit:
https://git.kernel.org/linus/df6ad5dd838e0fa543ca28ca6154901fa65a9443

This should fix these warnings with kernel 6.1 and 6.6:
logs/package/kernel/linux/compile.txt:WARNING: kmod-can-c-can is not available in the kernel config - generating empty package
logs/package/kernel/linux/compile.txt:WARNING: kmod-can-c-can-pci is not available in the kernel config - generating empty package
logs/package/kernel/linux/compile.txt:WARNING: kmod-can-c-can-platform is not available in the kernel config - generating empty package
logs/package/kernel/linux/compile.txt:WARNING: kmod-can-mcp251x is not available in the kernel config - generating empty package
logs/package/kernel/linux/compile.txt:WARNING: kmod-can-slcan is not available in the kernel config - generating empty package
logs/package/kernel/linux/compile.txt:WARNING: kmod-can-usb-8dev is not available in the kernel config - generating empty package
logs/package/kernel/linux/compile.txt:WARNING: kmod-can-usb-ems is not available in the kernel config - generating empty package
logs/package/kernel/linux/compile.txt:WARNING: kmod-can-usb-kvaser is not available in the kernel config - generating empty package
logs/package/kernel/linux/compile.txt:WARNING: kmod-can-usb-peak is not available in the kernel config - generating empty package

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-03-14 20:56:11 +01:00
Hauke Mehrtens
d249635c5b kernel: kmod-can-flexcan: Fix flexcan.ko location
The flexcan.ko file was moved in upstream Linux:
https://git.kernel.org/linus/bfd00e021cf162049946a9e0047b0997d2b35fec
This fixes the build with kernel >= 5.17. This module was never build
with kernel 6.1 before.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-03-14 20:53:34 +01:00
Hauke Mehrtens
712cda1351 kernel: kmod-can-slcan: Fix can-slcan.ko location
The slcan.ko file was moved in upstream Linux:
https://git.kernel.org/linus/98b12064591d635db86da4957b547067dc6897cc
This fixes the build with kernel >= 6.0. This module was never build
with kernel 6.1 before.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-03-14 20:53:34 +01:00
Hauke Mehrtens
c00fbba57c kernel: kmod-crypto-gf128: Fix build with kernel 6.6
The gf128mul.ko module was moved in kernel 6.2:
https://git.kernel.org/linus/61c581a46a9668747d355436bd4b2505594539bd

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-03-14 20:53:34 +01:00
Hauke Mehrtens
091897fad2 kernel: kmod-crypto-user: Add missing dependency
The algif_rng.ko kernel module depends on the rng.ko kernel module with
kernel 6.6 when compiling for MIPS malta.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-03-14 20:53:34 +01:00
Daniel Golle
f7a68458b4 kernel: modules: don't override NLS dependencies
Recent changes for Linux 6.6 broke things when building with older
kernels:
Package kmod-fs-jfs is missing dependencies for the following libraries:
nls_base.ko

Fix this by adding NLS dependencies after the added dependency applying
on Linux 6.6.

Fixes: f9198480da ("kernel: modules: fs: adapt for kernel 6.6")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-03-11 23:49:25 +00:00
Robert Marko
729ad2feb3 kernel: crypto: add kmod-crypto-geniv as dependency to modules that use it
Now that geniv is packaged separately for kernel 6.6, we need to add it
as a dependency to kmod-crypto-seqiv and kmod-crypto-echainiv that require
it under kernel 6.6.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-11 20:17:26 +01:00
Robert Marko
e129450321 kernel: crypto: remove geniv from aead with kernel 6.6
geniv was separated intentionally from aead in kernel 6.5, and since
we now have it packaged separately as well remove it from kmod-aead
in 6.6.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-11 20:17:26 +01:00
Robert Marko
b065981e15 kernel: crypto: package geniv as a separate module for 6.6
In kernel 6.5 geniv was split from AEAD config symbol, in order to manage
its dependencies on other code.

So, lets do the same in OpenWrt and split it from aead module so others
can depend on geniv directly.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-11 20:17:26 +01:00
Tan Zien
faf3d80bf1 kernel: modules: hwmon: adapt for kernel 6.6
Adapt hwmon kmods for building under kernel 6.6:
* ad7418 now requires regmap
* Invert criteria to allow adt7410 be built with Linux 6.1 as well
  as Linux 6.6.

Signed-off-by: Tan Zien <nabsdh9@gmail.com>
2024-03-11 20:17:26 +01:00
Weijie Gao
35b04bafa1 kernel: modules: crypto: adapt for kernel 6.6
Adapt crypto kmods for building under kernel 6.6:
* mpi.ko moved from lib/mpi/mpi.ko to lib/crypto/mpi/mpi.ko
* jitterentropy_rng requires SHA3 support for kernel 6.6

Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Tan Zien <nabsdh9@gmail.com>
Signed-off-by: Weijie Gao <hackpascal@gmail.com>
2024-03-11 20:17:26 +01:00
Weijie Gao
5b08b56007 kernel: modules: video: adapt for kernel 6.6
Adapt video kmods for building under kernel 6.6:
* Add drm_exec.ko and drm_suballoc_helper.ko for kmod-drm as they
are added since 6.6 and 6.4
* Add uvc.ko for kmod-video-uvc as related contents was split as a
new module since 6.3

Signed-off-by: Tan Zien <nabsdh9@gmail.com>
Signed-off-by: Weijie Gao <hackpascal@gmail.com>
2024-03-11 20:17:26 +01:00
Weijie Gao
85ede9291b kernel: modules: block: adapt for kernel 6.6
Adapt block kmods for building under kernel 6.6:
* To build scsi_transport_iscsi.ko, change CONFIG_SCSI_ISCSI_ATTRS
from =y to =m as this config is always tristate since 2.6.

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
2024-03-11 20:17:26 +01:00
Weijie Gao
f9198480da kernel: modules: fs: adapt for kernel 6.6
Adapt fs kmods for building under kernel 6.6:
* Add kmod-fs-netfs as dependency for kmod-fs-9p
* Add kmod-fs-netfs as dependency for fs-smbfs-common as netfs is
required for cifs since 6.3
* Add new kmod-nls-ucs2-utils as dependency for smbfs/jfs as UCS2
support was split as new module since 6.6.
* Add kmod-lib-zlib-deflate and kmod-lib-zlib-inflate as
dependencies for kmod-pstore due to crypto API compression was
replaced with zlib_deflate library calls since 6.6
* Remove nfs_ssc.ko from kmod-fs-nfs-common. The nfs_ssc was no
longer a kernel module described by NFS_V4_2_SSC_HELPER since 5.13 [1]

Link:
[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/fs/Kconfig?id=d9092b4bb2109502eb8972021a3f74febc931a63

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
2024-03-11 20:17:26 +01:00
Weijie Gao
ef523fdb07 kernel: modules: usb: adapt for kernel 6.6
Adapt usb kmods for building under kernel 6.6:
* Add kmod-phylink as dependency for usb-net-asix
* Add kmod-net-selftests as dependency for usb-net-smsc95xx
* Add kmod-iio-core as dependency for usb-hid-mcp2221 as ADC/DAC
support was added since 6.2 which requires IIO.

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
2024-03-11 20:17:26 +01:00
Daniel Golle
ad2906b405 kernel: modules: netdevices: adapt for kernel 6.6
Adapt netdevices kmods for building under kernel 6.6:
* Add missing module dependency for kmod-stmmac-core on kmod-of-mdio.
* Invert criteria to allow Airoha EN8811H PHY driver to build with
  Linux 6.1 as well as Linux 6.6.
* Mellanox mlx5 driver started exposing thermal sensors and now it requires
  hwmon

Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-03-11 20:17:26 +01:00
Weijie Gao
48b52d51dc kernel: modules: netsupport: adapt for kernel 6.6
Adapt netsupport kmods for building under kernel 6.6:
* common part of mqprio was split into a new Kconfig since 6.3.
Add new kmod-sched-mqprio-common as dependency for kmod-sched-mqprio.

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
2024-03-11 20:17:26 +01:00
Weijie Gao
0c98d99c5e kernel: modules: input: adapt for kernel 6.6
Adapt input kmods for building under kernel 6.6:
* kmod-input-touchscreen-edt-ft5x06 depends on kmod-regmap-i2c
from 6.3 as it starts to use regmap to access registers
* CONFIG_HID_SUPPORT needs to be set in addition to CONFIG_HID.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Weijie Gao <hackpascal@gmail.com>
2024-03-11 20:17:26 +01:00
Weijie Gao
8d83b9ee2d kernel: modules: iio: adapt for kernel 6.6
Adapt iio kmods for building under kernel 6.6:
* kmod-iio-lsm6dsx depends on kmod-kmod-industrialio-triggered-buffer
from 6.2

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
2024-03-11 20:17:26 +01:00
Zoltan HERPAI
db0d7cf6a1 usb: add cdns3 support
CDNS3 is a SuperSpeed (SS) USB 3.0 Dual-Role-Device (DRD) controller from
Cadence. Add support for this device, and add the required symbols into
the generic configs.

Compile-tested: apm821xx, bcm4908, imx, mpc85xx, pistachio, starfive

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-03-10 18:21:41 +01:00
Robert Marko
ce2b302ca4 kernel: crypto: use ARM64 SHA256 CE optimized module for more targets
At start I only set qualcommax to use the Crypto Extensions optimized
version of SHA256 as I knew it supports the optional Crypto Extensions.

However, after looking into the tree there are more targets/subtargets
that I could find at least a specification sheet that says the support
Cryptographic Extensions, so lets add them.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-08 17:16:18 +01:00
Robert Marko
90c09ede93 kernel: crypto: use ARM64 SHA1 CE optimized module for more targets
At start I only set qualcommax to use the Crypto Extensions optimized
version of SHA1 as I knew it supports the optional Crypto Extensions.

However, after looking into the tree there are more targets/subtargets
that I could find at least a specification sheet that says the support
Cryptographic Extensions, so lets add them.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-08 17:16:18 +01:00
Robert Marko
5b1d6d4607 kernel: crypto: add SHA512 ARM64 ASM optimized module
Kernel has an ASM optimized version of SHA512 that was ported from
OpenSSL, so lets package it as it provides significant perfomance
improvement compared to the generic implementation.

There is a Cryptographic Extension based version as well, but that relies
on ARMv8.2 ISA which I am not aware any of the OpenWrt supported SoC-s use.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-06 22:00:58 +01:00
Robert Marko
4443470a57 kernel: crypto: add SHA2(224 and 256) ARM64 CE optimized module
Kernel has optimized version of SHA2(224 and 256) using the ARMv8 Crypto
Extensions, so lets package it.

Use it by default for qualcommax as it uses Cortex-A53 core and has ARMv8
CE extensions present.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-06 18:38:28 +01:00
Robert Marko
09207c0348 kernel: crypto: add SHA256 ARM64 ASM optimized module
Kernel has an ASM optimized version of SHA256 that was ported from
OpenSSL, so lets package it as it provides significant perfomance
improvement compared to the generic implementation.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-06 18:30:21 +01:00
Robert Marko
9425064bdb kernel: crypto: add SHA1 ARM64 CE optimized module
Kernel has optimized version of SHA1 using the ARMv8 Crypto Extensions,
so lets package it.

Use it by default for qualcommax as it uses Cortex-A53 core and has ARMv8
CE extensions present.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-06 12:16:11 +01:00
Robert Marko
3e6f64d443 kernel: crypto: package SHA3
SHA3 is now required by jitterentropy_rng in kernel 6.6, so lets start
preparing by packaging SHA3 support as its supported in 5.15 and 6.1
kernels as well.

AFAIK, only ARMv8.2 has a crypto extension for SHA3, however I am not aware
of any SoC we support that uses ARMv8.2 ISA so its not enabled currently.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-05 20:23:46 +01:00