Add kernel packages for DesignWare SPI core and MMIO controllers.
This is needed for the RP1 SoC found on RPi 5 devices.
Tested with a Microchip ENC28J60 Ethernet controller on a RPi 5.
Signed-off-by: Albrecht Lohofener <albrechtloh@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19049
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
building with CONFIG_ALL_KMODS unearthed all sorts of interesting
failures
ERROR: module 'crypto/chacha-x86_64.ko' is missing.
ERROR: module 'crypto/poly1305-x86_64.ko' is missing.
ERROR: module 'crypto/curve25519-x86_64.ko' is missing.
ERROR: module 'crypto/camellia-x86_64.ko' is missing.
These stem from the main UML Makefile.
|# UML only makes sense on linux
|ifeq ($(HOST_OS),Linux)
| ifeq ($(HOST_ARCH),x86_64)
|
|ARCH:=x86_64
|BOARD:=uml
The modules in question define x86_64 optimized version and
the OpenWrt's buildsystem expects that these modules will be present.
SPI is not available due to the UML Architecture not setting HAS_IOMEM.
In the future, UML could get (virtualized) IOMEM and/or SPI could drop
the HAS_IOMEM dependency. A patch for the latter has been sent:
<https://lore.kernel.org/linux-spi/20250530234941.950431-1-chunkeey@gmail.com/T/#u>
mt76: Unfortunately, the firmware packages are picked up, but the
associated drivers can't be build because iowrite32+ioread32 are
not defined.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
The initial 6.12 merge leaves package/zram menuconfig behaviour confusing.
Selecting "kmod-zram" opens a submenu of the available algorithms to build
and the actual algo to use. However, when "lzo-rle" is shown as the default
used, it still remains missing from the available list. Only enabling a
_different_ compression algo to build will also reveal "lzo-rle" as
available.
Update the Kconfig to show "lzo-rle" as available if used/referenced.
Fixes: 4708057e27 ("package/zram: update for kernel 6.12")
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18712
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The driver tries to access ioports (0x2f9!!) which UML doesn't have.
This causes lots of warnings to appear on boot:
| WARNING: CPU: 0 PID: 1 at lib/logic_iomem.c:188 serial8250_config_port+0x20a/0x1260
| Invalid writeqb of 0xff at address 2f9
| Modules linked in:
| CPU: 0 UID: 0 PID: 1 Comm: swapper Tainted: G W 6.12.25 #0
| Tainted: [W]=WARN
| Stack:
| Call Trace:
| [<60001000>] ? set_reset_devices+0x0/0x16
| [<60452cba>] ? serial8250_config_port+0x20a/0x1260
| [<6071e91f>] ? dump_stack_lvl+0x55/0x71
| [<606e127c>] ? _printk+0x0/0x4f
| [<60044bbb>] ? __warn+0x11b/0x120
| [<6003b5d0>] ? um_set_signals+0x0/0x40
| [<606de721>] ? warn_slowpath_fmt+0x81/0x8c
| [<606de6a0>] ? warn_slowpath_fmt+0x0/0x8c
| [<60452cba>] ? serial8250_config_port+0x20a/0x1260
(they are even recursive!)
Now, the situation gets more confusing. Because from what I can tell,
this was seemingly done intenionally. Upstream patches in related areas:
|commit ddd268c42871b78c75e12a5c28207fb481138f41
|Author: Niklas Schnelle <schnelle@linux.ibm.com>
|Date: Wed Apr 3 14:43:00 2024 +0200
|
| um: Select HAS_IOREMAP for UML_IOMEM_EMULATION
|
| In a future patch HAS_IOPORT=n will disable inb()/outb() and friends at
| compile time. UML supports these via its UML_IOMEM_EMULATION so let that
| select HAS_IOPORT and also reflect this in NO_IOPORT_MAP.
hint that there's ongoing work in this area. But unfortunately, this future
hasn't arrived yet. Once this future arrives, please nuke this patch.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Currently, MaxLinear/Exar USB serial devices are supported via out-of-tree
usb-serial-xr_usb_serial_common driver which is broken on 6.12.
So since upstream has support for these devices since 6.5 lets package
the in-tree driver to be able to drop the out-of-tree one.
Link: https://github.com/openwrt/openwrt/pull/18926
Signed-off-by: Robert Marko <robimarko@gmail.com>
Define define fb-io-fops module - Fbdev helpers for framebuffers in I/O memory
By creating a hidden module it is possible to load fb_io_fops.ko
according to the kernel version.
Fixes: 5048c9d ("kernel: modules: adjust the object files of kmod-fb ")
Package kmod-drm-radeon is missing dependencies for the following libraries:
fb_io_fops.ko
make[2]: *** [modules/video.mk:620: /__w/openwrt/openwrt/openwrt/bin/targets/x86/geode/packages/kmod-drm-radeon-6.12.28-r1.apk] Error 1
time: package/kernel/linux/compile#45.35#40.01#75.34
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18771
Signed-off-by: Robert Marko <robimarko@gmail.com>
Commit 7db0748b7b ("kernel: modules: split package fs-fscache") modified
the KCONFIG section of KernelPackage/fs-netfs but missed to add a
backslash to escape a linebreak. Add it now.
Fixes: 7db0748b7b ("kernel: modules: split package fs-fscache")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
With kernel 6.11 iio-core gained a dependency to DMA_SHARED_BUFFER,
so add the appropriate dependency.
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
With kernel 6.11 several mtk usb functions were moved from btusb to
btmtk, adding a usb core depdendency to btmtk (if enabled).
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
This reverts commit 5687f448a4.
This unfortunately is currently breaking all targets during building
as in 6.6 kernel there is
no CONFIG_NET_DSA_TAG_VSC73XX_8021Q, it was added in 6.11 AFAIK.
So they will all fail due to $(LINUX_DIR)/net/dsa/tag_vsc73xx_8021q.ko missing.
So revert until kmod is fixed.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Sets the boot flag for the i40e network device driver
to load it at a more early stage of the boot process.
With commit 0a47d518df,
I added a boot priority for the mlx4 and mlx5 drivers.
Also, increase those priorities because I think they
are too low since there is currently no "room" for
built-in network device drivers.
That can cause interface order, i.e., name inconsistencies,
when Mellanox ConnectX cards are inserted or removed.
Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/17990
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The CONFIG_NET_SWITCHDEV option is needed by CONFIG_DSA and some other
options. It is boolean, we have to compile it into the kernel it self.
Activate it for all targets in the generic configuration, it is already
activated for most of them. This allows to install DSA drivers as a
module.
On the ramips/mt7620 target the kernel would grown by 4.5kB.
For some small targets which do not support a DSA switch by default the
option is deactivated.
Link: https://github.com/openwrt/openwrt/pull/17668
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>