openwrt-pf/package/kernel/linux/modules
Joshua Covington 11de7145c9
kernel: i2c-designware: disable core on 32-bit bcm27xx targets on 6.18
The bcm27xx/bcm2708 all-kmods CI build fails when modpost reaches the
DesignWare I2C core module:

  ERROR: modpost: "__aeabi_uldivmod"
  [drivers/i2c/busses/i2c-designware-core.ko] undefined!

This is triggered by CONFIG_ALL_KMODS=y. The old 32-bit Raspberry Pi
subtargets do not normally select this driver for runtime use, but all-kmods
forces the kmod package to be built anyway. On 32-bit ARM, raw 64-bit
division in a module can cause GCC to emit the ARM EABI helper
__aeabi_uldivmod, which is not available as a kernel module symbol.

The failing reference comes from i2c-designware-master.c, where clock_calc()
uses raw u64 division for SCL timing calculations (introduced with commit
3805d13c3ead21494f7d00aa44f10e3656363d4c in rpi-6.18.y / "i2c: designware:
Support non-standard bus speeds"). That is a kernel-side portability issue,
but these old bcm27xx subtargets do not use DesignWare I2C hardware. They
use the Broadcom I2C controller instead.

The failure is emitted for i2c-designware-core.ko, so guard the hidden core
package itself rather than only guarding the platform or PCI frontend package.
This prevents CONFIG_ALL_KMODS from selecting the failing core module directly
on the affected 32-bit bcm27xx subtargets.

DesignWare I2C is relevant for newer Raspberry Pi 5 / RP1 based systems, so
keep it available for bcm2712.

A similar issue was reported by NixOS for Raspberry Pi ARM builds, where
i2c-designware-core.ko failed with the same unresolved __aeabi_uldivmod symbol.
Their workaround was to disable the DesignWare I2C symbols for older Raspberry
Pi targets that do not need them.
Link: https://github.com/NixOS/nixpkgs/issues/464515

Until the underlying ARM32 kernel-side issue is fixed, avoid building
the DesignWare core package on bcm2708, bcm2709 and bcm2710.

Signed-off-by: Joshua Covington <joshuacov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23703
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-07-07 08:48:40 +02:00
..
001-depends.mk
block.mk packages: 6.18: update modules files 2026-03-28 11:51:10 +01:00
bluetooth.mk packages: remove dependencies for kernel 6.6 and 6.12 2025-11-27 12:35:13 +01:00
can.mk
crypto.mk kernel: crypto-sha512-arm64: do not package with kernel 6.18 2026-05-28 10:15:20 +02:00
firewire.mk
fs.mk fs: rpsec: add missing modules for CRYPTO_KRB5 2026-06-28 22:09:37 +02:00
gpio.mk generic: drop downstream gpio-cascade driver 2026-03-06 11:33:05 +01:00
hwmon.mk kernel: add kmod-hwmon-corsair-cpro 2026-05-23 18:45:20 +02:00
i2c.mk kernel: i2c-designware: disable core on 32-bit bcm27xx targets on 6.18 2026-07-07 08:48:40 +02:00
iio.mk kernel: iio: add kmod-iio-ad7405 package 2026-06-09 09:10:23 +02:00
input.mk rockchip: enable SARADC; add buttons hotplug and ADC kmods to default packages 2026-05-14 17:52:56 +02:00
leds.mk leds: add "network" LED trigger (lan/wan/wlan) 2026-06-05 20:30:34 +02:00
lib.mk packages: 6.18: update modules files 2026-03-28 11:51:10 +01:00
multiplexer.mk kernel: modules: mux-mmio: add missing regmap-mmio dependency 2026-07-02 10:06:12 +02:00
netdevices.mk generic: 6.18: drop downstream RTL8261N driver 2026-05-21 17:04:55 +01:00
netfilter.mk kernel: split nf-nathelper-extra into individual packages 2026-06-24 13:26:32 +02:00
netsupport.mk kernel: minimize kmod-sched-connmark dependencies 2026-07-06 09:04:10 +02:00
nls.mk
other.mk kernel: other: no longer package OSLEC for Linux 6.18 2026-05-17 13:29:47 +01:00
pcmcia.mk
pse-pd.mk kernel: pse-pd: auto-select kmod-pse-pd from AddDepends helper 2026-05-20 10:38:35 +02:00
rtc.mk kernel/modules: add RV3028 I2C RTC kernel module support 2026-06-01 17:49:36 +02:00
sound.mk kernel: sound: fix kmod-sound-midi2 packaging 2026-05-10 12:45:41 +02:00
spi.mk
usb.mk modules: generate plain module names via version filters 2026-04-12 23:56:07 +02:00
video.mk kernel-packages: video: remove path variables 2026-07-06 11:22:01 +02:00
virt.mk kernel: add kmods for vsockets over virtio 2026-03-01 19:54:12 +01:00
w1.mk
wpan.mk