diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index fdd90ffae8d..9afc1df5451 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -138,7 +138,7 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3.10.0 - name: Log in to the GitHub container registry - uses: docker/login-action@v3.3.0 + uses: docker/login-action@v3.4.0 with: registry: ghcr.io username: ${{ github.repository_owner }} diff --git a/Documentation/kernel.md b/Documentation/kernel.md index 3ad6f9ccc3e..8e8036f2676 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -3,7 +3,7 @@ | Board | Version | |-------|---------| -| Open Virtual Appliance | 6.12.18 | +| Open Virtual Appliance | 6.12.20 | | Raspberry Pi | 6.6.74 | | Raspberry Pi 0-W | 6.6.74 | | Raspberry Pi 2 | 6.6.74 | @@ -11,14 +11,14 @@ | Raspberry Pi 4 | 6.6.74 | | Raspberry Pi 5 | 6.6.74 | | Home Assistant Yellow | 6.6.74 | -| Home Assistant Green | 6.12.18 | -| Tinker Board | 6.12.18 | -| ODROID-C2 | 6.12.18 | -| ODROID-C4 | 6.12.18 | -| ODROID-M1 | 6.12.18 | -| ODROID-M1S | 6.12.18 | -| ODROID-N2 | 6.12.18 | -| ODROID-XU4 | 6.12.18 | -| Generic aarch64 | 6.12.18 | -| Generic x86-64 | 6.12.18 | -| Khadas VIM3 | 6.12.18 | +| Home Assistant Green | 6.12.20 | +| Tinker Board | 6.12.20 | +| ODROID-C2 | 6.12.20 | +| ODROID-C4 | 6.12.20 | +| ODROID-M1 | 6.12.20 | +| ODROID-M1S | 6.12.20 | +| ODROID-N2 | 6.12.20 | +| ODROID-XU4 | 6.12.20 | +| Generic aarch64 | 6.12.20 | +| Generic x86-64 | 6.12.20 | +| Khadas VIM3 | 6.12.20 | diff --git a/buildroot b/buildroot index 3914f8cad5a..4cd211162de 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit 3914f8cad5a87a3aa1ba3aa04733887a869b87fe +Subproject commit 4cd211162de8b74461c2684bd89b89047f0ecb61 diff --git a/buildroot-external/board/hardkernel/patches-meson/0001-HACK-mmc-meson-gx-limit-f_max-to-24-MHz-on-the-first.patch b/buildroot-external/board/hardkernel/patches-meson/uboot/0001-HACK-mmc-meson-gx-limit-f_max-to-24-MHz-on-the-first.patch similarity index 100% rename from buildroot-external/board/hardkernel/patches-meson/0001-HACK-mmc-meson-gx-limit-f_max-to-24-MHz-on-the-first.patch rename to buildroot-external/board/hardkernel/patches-meson/uboot/0001-HACK-mmc-meson-gx-limit-f_max-to-24-MHz-on-the-first.patch diff --git a/buildroot-external/board/pc/generic-x86-64/kernel.config b/buildroot-external/board/pc/generic-x86-64/kernel.config index 772b6b53bfb..0390ebc4a52 100644 --- a/buildroot-external/board/pc/generic-x86-64/kernel.config +++ b/buildroot-external/board/pc/generic-x86-64/kernel.config @@ -28,6 +28,8 @@ CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y CONFIG_DRM=y CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_AMDGPU=m +CONFIG_DRM_AMDGPU_SI=y +CONFIG_DRM_AMDGPU_CIK=y CONFIG_DRM_I915=m CONFIG_DRM_I915_CAPTURE_ERROR=y CONFIG_DRM_I915_COMPRESS_ERROR=y diff --git a/buildroot-external/board/pc/ova/kernel.config b/buildroot-external/board/pc/ova/kernel.config index 570c7287693..4fe4be70a52 100644 --- a/buildroot-external/board/pc/ova/kernel.config +++ b/buildroot-external/board/pc/ova/kernel.config @@ -90,6 +90,8 @@ CONFIG_FB_EFI=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +CONFIG_DRM_I915=m + CONFIG_MMC=y CONFIG_MMC_BLOCK=y CONFIG_MMC_SDHCI=y diff --git a/buildroot-external/board/raspberrypi/config.txt b/buildroot-external/board/raspberrypi/config.txt index 440bd67326e..97d915bdbc8 100644 --- a/buildroot-external/board/raspberrypi/config.txt +++ b/buildroot-external/board/raspberrypi/config.txt @@ -71,6 +71,10 @@ kernel=u-boot.bin # Enable audio (loads snd_bcm2835) dtparam=audio=on +[pi3] +# Added to fix #3965 +initial_turbo=0 + [pi4] # Enable DRM VC4 V3D driver on top of the dispmanx display stack dtoverlay=vc4-fkms-v3d diff --git a/buildroot-external/board/raspberrypi/patches/linux/0005-misc-rp1-pio-Error-out-on-incompatible-firmware.patch b/buildroot-external/board/raspberrypi/patches/linux/0005-misc-rp1-pio-Error-out-on-incompatible-firmware.patch new file mode 100644 index 00000000000..eaf408bbe76 --- /dev/null +++ b/buildroot-external/board/raspberrypi/patches/linux/0005-misc-rp1-pio-Error-out-on-incompatible-firmware.patch @@ -0,0 +1,44 @@ +From ab1d73e2b5101689fcd1737e588119b4fde3a5ff Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 3 Feb 2025 14:44:08 +0000 +Subject: [PATCH] misc: rp1-pio: Error out on incompatible firmware + +If the RP1 firmware has reported an error then return that from the PIO +probe function, otherwise defer the probing. + +Link: https://github.com/raspberrypi/linux/issues/6642 + +Signed-off-by: Phil Elwell +--- + drivers/misc/rp1-pio.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/drivers/misc/rp1-pio.c b/drivers/misc/rp1-pio.c +index dbf69279e313d..7e875811509f8 100644 +--- a/drivers/misc/rp1-pio.c ++++ b/drivers/misc/rp1-pio.c +@@ -1268,8 +1268,10 @@ static int rp1_pio_probe(struct platform_device *pdev) + return dev_err_probe(dev, pdev->id, "alias is missing\n"); + + fw = devm_rp1_firmware_get(dev, dev->of_node); +- if (IS_ERR_OR_NULL(fw)) +- return dev_err_probe(dev, -ENOENT, "failed to contact RP1 firmware\n"); ++ if (!fw) ++ return dev_err_probe(dev, -EPROBE_DEFER, "failed to find RP1 firmware driver\n"); ++ if (IS_ERR(fw)) ++ return dev_err_probe(dev, PTR_ERR(fw), "failed to contact RP1 firmware\n"); + ret = rp1_firmware_get_feature(fw, FOURCC_PIO, &op_base, &op_count); + if (ret < 0) + return ret; +@@ -1346,6 +1348,11 @@ static void rp1_pio_remove(struct platform_device *pdev) + + if (g_pio == pio) + g_pio = NULL; ++ ++ device_destroy(pio->dev_class, pio->dev_num); ++ cdev_del(&pio->cdev); ++ class_destroy(pio->dev_class); ++ unregister_chrdev_region(pio->dev_num, 1); + } + + static const struct of_device_id rp1_pio_ids[] = { diff --git a/buildroot-external/board/raspberrypi/patches/linux/0006-firmware-rp1-Linger-on-firmware-failure.patch b/buildroot-external/board/raspberrypi/patches/linux/0006-firmware-rp1-Linger-on-firmware-failure.patch new file mode 100644 index 00000000000..6fcec2f1c27 --- /dev/null +++ b/buildroot-external/board/raspberrypi/patches/linux/0006-firmware-rp1-Linger-on-firmware-failure.patch @@ -0,0 +1,105 @@ +From b1bcedb44c54a65a8e494158385eb23199572217 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 3 Feb 2025 14:51:52 +0000 +Subject: [PATCH] firmware: rp1: Linger on firmware failure + +To avoid pointless retries, let the probe function succeed if the +firmware interface is configured correctly but the firmware is +incompatible. The value of the private drvdata field holds the outcome. + +Link: https://github.com/raspberrypi/linux/issues/6642 + +Signed-off-by: Phil Elwell +--- + drivers/firmware/rp1.c | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/drivers/firmware/rp1.c b/drivers/firmware/rp1.c +index 0b0760ca77764..a258452c8b33e 100644 +--- a/drivers/firmware/rp1.c ++++ b/drivers/firmware/rp1.c +@@ -114,7 +114,8 @@ static void rp1_firmware_delete(struct kref *kref) + + void rp1_firmware_put(struct rp1_firmware *fw) + { +- kref_put(&fw->consumers, rp1_firmware_delete); ++ if (!IS_ERR_OR_NULL(fw)) ++ kref_put(&fw->consumers, rp1_firmware_delete); + } + EXPORT_SYMBOL_GPL(rp1_firmware_put); + +@@ -157,7 +158,7 @@ struct rp1_firmware *rp1_firmware_get(struct device_node *client) + const char *match = rp1_firmware_of_match[0].compatible; + struct platform_device *pdev; + struct device_node *fwnode; +- struct rp1_firmware *fw; ++ struct rp1_firmware *fw = NULL; + + if (!client) + return NULL; +@@ -166,17 +167,17 @@ struct rp1_firmware *rp1_firmware_get(struct device_node *client) + return NULL; + if (!of_device_is_compatible(fwnode, match)) { + of_node_put(fwnode); +- return NULL; ++ return ERR_PTR(-ENXIO); + } + + pdev = of_find_device_by_node(fwnode); + of_node_put(fwnode); + + if (!pdev) +- goto err_exit; ++ return ERR_PTR(-ENXIO); + + fw = platform_get_drvdata(pdev); +- if (!fw) ++ if (IS_ERR_OR_NULL(fw)) + goto err_exit; + + if (!kref_get_unless_zero(&fw->consumers)) +@@ -188,7 +189,7 @@ struct rp1_firmware *rp1_firmware_get(struct device_node *client) + + err_exit: + put_device(&pdev->dev); +- return NULL; ++ return fw; + } + EXPORT_SYMBOL_GPL(rp1_firmware_get); + +@@ -204,8 +205,8 @@ struct rp1_firmware *devm_rp1_firmware_get(struct device *dev, struct device_nod + int ret; + + fw = rp1_firmware_get(client); +- if (!fw) +- return NULL; ++ if (IS_ERR_OR_NULL(fw)) ++ return fw; + + ret = devm_add_action_or_reset(dev, devm_rp1_firmware_put, fw); + if (ret) +@@ -270,19 +271,18 @@ static int rp1_firmware_probe(struct platform_device *pdev) + init_completion(&fw->c); + kref_init(&fw->consumers); + +- platform_set_drvdata(pdev, fw); +- + ret = rp1_firmware_message(fw, GET_FIRMWARE_VERSION, + NULL, 0, &version, sizeof(version)); + if (ret == sizeof(version)) { + dev_info(dev, "RP1 Firmware version %08x%08x%08x%08x%08x\n", + version[0], version[1], version[2], version[3], version[4]); +- ret = 0; +- } else if (ret >= 0) { +- ret = -EIO; ++ platform_set_drvdata(pdev, fw); ++ } else { ++ rp1_firmware_put(fw); ++ platform_set_drvdata(pdev, ERR_PTR(-ENOENT)); + } + +- return ret; ++ return 0; + } + + static int rp1_firmware_remove(struct platform_device *pdev) diff --git a/buildroot-external/board/raspberrypi/patches/linux/0007-mailbox-rp1-Don-t-claim-channels-in-of_xlate.patch b/buildroot-external/board/raspberrypi/patches/linux/0007-mailbox-rp1-Don-t-claim-channels-in-of_xlate.patch new file mode 100644 index 00000000000..e8555f3848b --- /dev/null +++ b/buildroot-external/board/raspberrypi/patches/linux/0007-mailbox-rp1-Don-t-claim-channels-in-of_xlate.patch @@ -0,0 +1,32 @@ +From 97e6955cef61340165e8ec276084841d335335e9 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 4 Feb 2025 13:18:45 +0000 +Subject: [PATCH] mailbox: rp1: Don't claim channels in of_xlate + +The of_xlate method saves the calculated event mask in the con_priv +field. It also rejects subsequent attempt to use that channel because +the mask is non-zero, which causes a repeated instantiation of a client +driver to fail. + +The of_xlate method is not meant to be a point of resource acquisition. +Leave the con_priv initialisation, but drop the test that it was +previously zero. + +Signed-off-by: Phil Elwell +--- + drivers/mailbox/rp1-mailbox.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/drivers/mailbox/rp1-mailbox.c b/drivers/mailbox/rp1-mailbox.c +index bf71db1dd9fae..0e8af098b62b2 100644 +--- a/drivers/mailbox/rp1-mailbox.c ++++ b/drivers/mailbox/rp1-mailbox.c +@@ -133,8 +133,6 @@ static struct mbox_chan *rp1_mbox_xlate(struct mbox_controller *mbox, + return ERR_PTR(-EINVAL); + + chan = &mbox->chans[doorbell]; +- if (chan->con_priv) +- return ERR_PTR(-EBUSY); + + chan->con_priv = (void *)(uintptr_t)(1 << doorbell); + diff --git a/buildroot-external/board/raspberrypi/patches/linux/0008-misc-rp1-pio-Demote-fw-probe-error-to-warning.patch b/buildroot-external/board/raspberrypi/patches/linux/0008-misc-rp1-pio-Demote-fw-probe-error-to-warning.patch new file mode 100644 index 00000000000..6233a3249c1 --- /dev/null +++ b/buildroot-external/board/raspberrypi/patches/linux/0008-misc-rp1-pio-Demote-fw-probe-error-to-warning.patch @@ -0,0 +1,34 @@ +From c8cf0694d8ecd5acaa03c26fc404e66dea9308fd Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Tue, 25 Feb 2025 12:16:33 +0000 +Subject: [PATCH] misc: rp1-pio: Demote fw probe error to warning + +Support for the RP1 firmware mailbox API is rolling out to Pi 5 EEPROM +images. For most users, the fact that the PIO is not available is no +cause for alarm. Change the message to a warning, so that it does not +appear with "quiet" in cmdline.txt. + +Link: https://github.com/raspberrypi/linux/issues/6642 + +Signed-off-by: Phil Elwell +--- + drivers/misc/rp1-pio.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/drivers/misc/rp1-pio.c b/drivers/misc/rp1-pio.c +index 7e875811509f8..a04dc8edcf5b8 100644 +--- a/drivers/misc/rp1-pio.c ++++ b/drivers/misc/rp1-pio.c +@@ -1270,8 +1270,10 @@ static int rp1_pio_probe(struct platform_device *pdev) + fw = devm_rp1_firmware_get(dev, dev->of_node); + if (!fw) + return dev_err_probe(dev, -EPROBE_DEFER, "failed to find RP1 firmware driver\n"); +- if (IS_ERR(fw)) +- return dev_err_probe(dev, PTR_ERR(fw), "failed to contact RP1 firmware\n"); ++ if (IS_ERR(fw)) { ++ dev_warn(dev, "failed to contact RP1 firmware\n"); ++ return PTR_ERR(fw); ++ } + ret = rp1_firmware_get_feature(fw, FOURCC_PIO, &op_base, &op_count); + if (ret < 0) + return ret; diff --git a/buildroot-external/configs/generic_aarch64_defconfig b/buildroot-external/configs/generic_aarch64_defconfig index cd318843c4d..6c9cc78b731 100644 --- a/buildroot-external/configs/generic_aarch64_defconfig +++ b/buildroot-external/configs/generic_aarch64_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64 $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.20" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/generic_x86_64_defconfig b/buildroot-external/configs/generic_x86_64_defconfig index b3c04c820c0..ec164d2bf50 100644 --- a/buildroot-external/configs/generic_x86_64_defconfig +++ b/buildroot-external/configs/generic_x86_64_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.20" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/green_defconfig b/buildroot-external/configs/green_defconfig index df4869b07ca..0d83f28be91 100755 --- a/buildroot-external/configs/green_defconfig +++ b/buildroot-external/configs/green_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.20" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/nabucasa/green/kernel.config" diff --git a/buildroot-external/configs/khadas_vim3_defconfig b/buildroot-external/configs/khadas_vim3_defconfig index 4eeb238f5bb..a34a97de5fd 100644 --- a/buildroot-external/configs/khadas_vim3_defconfig +++ b/buildroot-external/configs/khadas_vim3_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3 $(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.20" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/kernel-vim.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index 684727e8a2b..ef68b723cac 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -4,7 +4,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/patches-meson" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/patches-meson" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.20" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_c4_defconfig b/buildroot-external/configs/odroid_c4_defconfig index de712714cd3..fb5113b37d3 100644 --- a/buildroot-external/configs/odroid_c4_defconfig +++ b/buildroot-external/configs/odroid_c4_defconfig @@ -4,7 +4,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/patches-meson" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/patches-meson" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.20" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/configs/odroid_m1_defconfig b/buildroot-external/configs/odroid_m1_defconfig index c0c2e764789..fd1115fe9f5 100644 --- a/buildroot-external/configs/odroid_m1_defconfig +++ b/buildroot-external/configs/odroid_m1_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.20" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1/kernel.config" diff --git a/buildroot-external/configs/odroid_m1s_defconfig b/buildroot-external/configs/odroid_m1s_defconfig index 39bd2dfdbee..956081c334f 100644 --- a/buildroot-external/configs/odroid_m1s_defconfig +++ b/buildroot-external/configs/odroid_m1s_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.20" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/kernel-arm64-rockchip.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-m1s/kernel.config" diff --git a/buildroot-external/configs/odroid_n2_defconfig b/buildroot-external/configs/odroid_n2_defconfig index e678228920a..a91a7924f8b 100644 --- a/buildroot-external/configs/odroid_n2_defconfig +++ b/buildroot-external/configs/odroid_n2_defconfig @@ -4,7 +4,7 @@ BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" BR2_ENABLE_LTO=y -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/patches-meson" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/patches-meson" BR2_SSP_REGULAR=y BR2_TARGET_GENERIC_HOSTNAME="homeassistant" BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.20" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/kernel.config" diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index fcfa310e52b..7061df2551c 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -17,7 +17,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.20" BR2_LINUX_KERNEL_DEFCONFIG="exynos" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index 9e01c3f33d9..37fb2fc84d8 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -16,7 +16,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.20" BR2_LINUX_KERNEL_DEFCONFIG="x86_64" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless-pci.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/kernel.config" BR2_LINUX_KERNEL_LZ4=y diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index fc26806692f..9a4db1b26b9 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -18,7 +18,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker $(BR2_EXTERNAL_HASSOS_PATH)/board/asus/hassos-hook.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.18" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.20" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker/kernel.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/v6.12.y/device-support-wireless.config" diff --git a/buildroot-external/kernel/v6.12.y/device-support-pci.config b/buildroot-external/kernel/v6.12.y/device-support-pci.config index 3b9f0da0241..e2412a6531e 100644 --- a/buildroot-external/kernel/v6.12.y/device-support-pci.config +++ b/buildroot-external/kernel/v6.12.y/device-support-pci.config @@ -26,6 +26,11 @@ CONFIG_NET_VENDOR_STMICRO=y CONFIG_STMMAC_ETH=m CONFIG_STMMAC_PCI=m +# Mellanox ConnectX-3 NIC support +CONFIG_MLX4_EN=m +# CONFIG_MLX4_DEBUG is not set +CONFIG_MLX4_CORE_GEN2=y + CONFIG_MEDIA_PCI_SUPPORT=y # PCI sound drivers diff --git a/buildroot-external/meta b/buildroot-external/meta index 8cd67cb0d0b..384b0f2b976 100644 --- a/buildroot-external/meta +++ b/buildroot-external/meta @@ -1,6 +1,6 @@ VERSION_MAJOR="15" -VERSION_MINOR="0" -VERSION_SUFFIX="rc2" +VERSION_MINOR="1" +VERSION_SUFFIX="rc1" HASSOS_NAME="Home Assistant OS" HASSOS_ID="haos" diff --git a/buildroot-external/ota/rauc-hook b/buildroot-external/ota/rauc-hook index 661c7575069..f5417a9a7fd 100755 --- a/buildroot-external/ota/rauc-hook +++ b/buildroot-external/ota/rauc-hook @@ -53,6 +53,21 @@ install_boot() { fi fi + # Fix for Pi3 not booting from some SD cards with now default initial_turbo=60 + # see: https://github.com/home-assistant/operating-system/issues/3965 + if [ "$RAUC_SYSTEM_COMPATIBLE" = "haos-rpi3" ] || [ "$RAUC_SYSTEM_COMPATIBLE" = "haos-rpi3-64" ]; then + # Don't change anything if initial_turbo is already set anywhere + if ! grep -q "^initial_turbo=" "${BOOT_MNT}/config.txt"; then + if grep -q '^\[pi3\]' "${BOOT_MNT}/config.txt"; then + echo "Adding initial_turbo=0 to [pi3] section of config.txt" + sed -i '/^\[pi3\]/a # Added to fix #3965\ninitial_turbo=0' "${BOOT_MNT}/config.txt" + else + echo "Adding [pi3] section with initial_turbo=0 to config.txt" + sed -i 's/^\[all\]/\[pi3\]\n# Added to fix #3965\ninitial_turbo=0\n\n\[all\]/' "${BOOT_MNT}/config.txt" + fi + fi + fi + # Prepare rauc.db for migration, should be removed in HAOS 16 # (along with raucdb-migrate.service and related raucdb-update changes) if [ -f /mnt/data/rauc.db ]; then diff --git a/buildroot-external/package/eq3_char_loop/0004-Fix-eq3_char_loop-driver-build-on-Linux-6.12.patch b/buildroot-external/package/eq3_char_loop/0004-Fix-eq3_char_loop-driver-build-on-Linux-6.12.patch index b56548a13ae..0251c0555e3 100644 --- a/buildroot-external/package/eq3_char_loop/0004-Fix-eq3_char_loop-driver-build-on-Linux-6.12.patch +++ b/buildroot-external/package/eq3_char_loop/0004-Fix-eq3_char_loop-driver-build-on-Linux-6.12.patch @@ -1,16 +1,17 @@ -Remove llseek NULL'd in 6.0 (868941b) removed in 6.12 (cb787f4) +Upstream: Not applicable -Signed-off-by: Nick Venenga -Upstream: https://github.com/jens-maus/occu/pull/1 +Signed-off-by: Alexander Reinert --- a/KernelDrivers/eq3_char_loop.c +++ b/KernelDrivers/eq3_char_loop.c -@@ -898,7 +898,9 @@ static int eq3loop_open(struct inode *inode, struct file *filp) +@@ -917,7 +917,11 @@ static int eq3loop_open(struct inode *inode, struct file *filp) static struct file_operations eq3loop_fops = { .owner = THIS_MODULE, -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0) - .llseek = no_llseek, ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 12, 0)) ++ .llseek = noop_llseek, ++#else + .llseek = no_llseek, +#endif .read = eq3loop_read, .write = eq3loop_write, diff --git a/buildroot-external/package/generic_raw_uart/0002-Linux-6.12-llseek.patch b/buildroot-external/package/generic_raw_uart/0002-Linux-6.12-llseek.patch deleted file mode 100644 index 6422ddd9e71..00000000000 --- a/buildroot-external/package/generic_raw_uart/0002-Linux-6.12-llseek.patch +++ /dev/null @@ -1,17 +0,0 @@ -Remove llseek NULL'd in 6.0 (868941b) removed in 6.12 (cb787f4) - -Signed-off-by: Nick Venenga -Upstream: https://github.com/alexreinert/piVCCU/pull/533 - ---- a/kernel/generic_raw_uart.c -+++ b/kernel/generic_raw_uart.c -@@ -147,7 +147,9 @@ static int generic_raw_uart_get_device_type(struct generic_raw_uart_instance *in - static struct file_operations generic_raw_uart_fops = - { - .owner = THIS_MODULE, -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0) - .llseek = no_llseek, -+#endif - .read = generic_raw_uart_read, - .write = generic_raw_uart_write, - .open = generic_raw_uart_open, diff --git a/buildroot-external/package/generic_raw_uart/0003-Linux-6.11-gpio-data.patch b/buildroot-external/package/generic_raw_uart/0003-Linux-6.11-gpio-data.patch deleted file mode 100644 index a84154b45e8..00000000000 --- a/buildroot-external/package/generic_raw_uart/0003-Linux-6.11-gpio-data.patch +++ /dev/null @@ -1,19 +0,0 @@ -Replace `gpiochip_add` removed in 6.11 (3ff1180) with `gpiochip_add_data` added in 4.5 (b08ea35) - -Signed-off-by: Nick Venenga -Upstream: https://github.com/alexreinert/piVCCU/pull/533 - ---- a/kernel/hb_rf_eth.c -+++ b/kernel/hb_rf_eth.c -@@ -715,7 +715,11 @@ static int __init hb_rf_eth_init(void) - gc.base = -1; - gc.can_sleep = false; - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 5, 0) - err = gpiochip_add(&gc); -+#else -+ err = gpiochip_add_data(&gc, NULL); -+#endif - if (err) - goto failed_gc_create; - diff --git a/buildroot-external/package/generic_raw_uart/0004-Linux-6.11-uart_remove.patch b/buildroot-external/package/generic_raw_uart/0004-Linux-6.11-uart_remove.patch deleted file mode 100644 index 79ef2f7f725..00000000000 --- a/buildroot-external/package/generic_raw_uart/0004-Linux-6.11-uart_remove.patch +++ /dev/null @@ -1,87 +0,0 @@ -Change raw_uart_driver remove macro to define the function as void as in kernel 6.11 -the platform_device remove function was changed to void (0edb555). - -Upstream: Not applicable - -Signed-off-by: Jens Maus - -diff --git a/kernel/generic_raw_uart.h b/kernel/generic_raw_uart.h -index b865e22..791e5d0 100644 ---- a/kernel/generic_raw_uart.h 2025-01-10 13:19:08.697184514 +0100 -+++ b/kernel/generic_raw_uart.h 2025-01-10 13:28:43.311159893 +0100 -@@ -93,6 +93,8 @@ - - extern bool generic_raw_uart_verify_dkey(struct device *dev, unsigned char *dkey, int dkey_len, unsigned char *skey, uint32_t *pkey, int bytes); - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0) -+ - #define module_raw_uart_driver(__module_name, __raw_uart_driver, __of_match) \ - static struct generic_raw_uart *__raw_uart_driver##_raw_uart; \ - static int __##__raw_uart_driver##_probe(struct platform_device *pdev) \ -@@ -121,7 +123,7 @@ - int err; \ - struct device *dev = &pdev->dev; \ - \ -- err = generic_raw_uart_remove(__raw_uart_driver##_raw_uart); \ -+ err = generic_raw_uart_remove(__raw_uart_driver##_raw_uart); \ - if (err) \ - { \ - dev_err(dev, "failed to remove generic_raw_uart module"); \ -@@ -143,3 +145,57 @@ - \ - module_platform_driver(__raw_uart_driver_platform_driver); \ - MODULE_DEVICE_TABLE(of, __of_match); -+ -+#else -+ -+#define module_raw_uart_driver(__module_name, __raw_uart_driver, __of_match) \ -+ static struct generic_raw_uart *__raw_uart_driver##_raw_uart; \ -+ static int __##__raw_uart_driver##_probe(struct platform_device *pdev) \ -+ { \ -+ struct device *dev = &pdev->dev; \ -+ int err = __raw_uart_driver##_probe(pdev); \ -+ \ -+ if (err) \ -+ { \ -+ dev_err(dev, "failed to initialize generic_raw_uart module"); \ -+ return err; \ -+ } \ -+ \ -+ __raw_uart_driver##_raw_uart = generic_raw_uart_probe(dev, &__raw_uart_driver, NULL); \ -+ if (IS_ERR_OR_NULL(__raw_uart_driver##_raw_uart)) \ -+ { \ -+ dev_err(dev, "failed to initialize generic_raw_uart module"); \ -+ return PTR_ERR(__raw_uart_driver##_raw_uart); \ -+ } \ -+ \ -+ return 0; \ -+ } \ -+ \ -+ static void __##__raw_uart_driver##_remove(struct platform_device *pdev) \ -+ { \ -+ int err; \ -+ struct device *dev = &pdev->dev; \ -+ \ -+ err = generic_raw_uart_remove(__raw_uart_driver##_raw_uart); \ -+ if (err) \ -+ { \ -+ dev_err(dev, "failed to remove generic_raw_uart module"); \ -+ } \ -+ \ -+ __raw_uart_driver##_remove(pdev); \ -+ } \ -+ \ -+ static struct platform_driver __raw_uart_driver_platform_driver = { \ -+ .probe = __##__raw_uart_driver##_probe, \ -+ .remove = __##__raw_uart_driver##_remove, \ -+ .driver = { \ -+ .owner = THIS_MODULE, \ -+ .name = __module_name, \ -+ .of_match_table = __of_match, \ -+ }, \ -+ }; \ -+ \ -+ module_platform_driver(__raw_uart_driver_platform_driver); \ -+ MODULE_DEVICE_TABLE(of, __of_match); -+ -+#endif diff --git a/buildroot-external/package/generic_raw_uart/generic_raw_uart.hash b/buildroot-external/package/generic_raw_uart/generic_raw_uart.hash index 2215b15b46f..e2e9a2130bc 100644 --- a/buildroot-external/package/generic_raw_uart/generic_raw_uart.hash +++ b/buildroot-external/package/generic_raw_uart/generic_raw_uart.hash @@ -1,3 +1,3 @@ # Locally computed sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE -sha256 f1741dfe9ea6ea37213c35c735aa899f11e4c2961bccd6d8198d4051b3c42c5d generic_raw_uart-f691101c32435921a70c96075233b6d5e5eeab7d.tar.gz +sha256 1a99e87c48e95c173ce6f43b8783ac359022886265bb2ed86f67c6d05cf12658 generic_raw_uart-b80aacfb75e9689d14d4e2c94380728816c6313e.tar.gz diff --git a/buildroot-external/package/generic_raw_uart/generic_raw_uart.mk b/buildroot-external/package/generic_raw_uart/generic_raw_uart.mk index 791519c10ab..867e4427adc 100644 --- a/buildroot-external/package/generic_raw_uart/generic_raw_uart.mk +++ b/buildroot-external/package/generic_raw_uart/generic_raw_uart.mk @@ -13,7 +13,7 @@ # ################################################################################ -GENERIC_RAW_UART_VERSION = f691101c32435921a70c96075233b6d5e5eeab7d +GENERIC_RAW_UART_VERSION = b80aacfb75e9689d14d4e2c94380728816c6313e GENERIC_RAW_UART_SITE = $(call github,alexreinert,piVCCU,$(GENERIC_RAW_UART_VERSION)) GENERIC_RAW_UART_LICENSE = GPL2 GENERIC_RAW_UART_LICENSE_FILES = LICENSE diff --git a/tests/smoke_test/test_basic.py b/tests/smoke_test/test_basic.py index 1b275685ebd..ce73f677f9a 100644 --- a/tests/smoke_test/test_basic.py +++ b/tests/smoke_test/test_basic.py @@ -65,6 +65,12 @@ def test_supervisor_logs(shell): _LOGGER.info("%s", "\n".join(output)) +@pytest.mark.dependency(depends=["test_init"]) +def test_landing_page(shell): + web_index = shell.run_check("curl http://localhost:8123") + assert "" in " ".join(web_index) + + def test_systemctl_status(shell): output = shell.run_check("systemctl --no-pager -l status -a || true") _LOGGER.info("%s", "\n".join(output))