Re: [poky] [PATCH] linux-yocto: fix compilation of 6.16 kernel on genericarm64

Bruce Ashfield <[email protected]> Wed, 27 Aug 2025 10:55:14 -0300
Newsgroups org.yoctoproject.lists.poky
Message-ID <CADkTA4Na0w8tVNaM8uJkhqPShggKvAyVcr-Kg2aCkeLmqD6K7w@mail.gmail.com>
On Wed, Aug 27, 2025 at 7:11 AM Mikko Rapeli via lists.yoctoproject.org
<[email protected]> wrote:

> If the TI serial console revert is still needed, which needs
> to be confirmed separately, then one extra revert is needed
> for 6.16 kernel to compile for genericarm64 machine.
> Tested boot and oeqa runtime tests on arm64 build machine
> with qemu and qemu kvm on AMD KV260:
>

Are those different from ones on 6.12. or the same ? I just ask (i didn't
find anything in a quick search), since if I dropped them, that is my
mistake (When I merge patches that are to be carried forward, they
go into kernel-cache master and will always be in the next version).

The real reason I ask is that we shouldn't be patching linux-yocto
like this in a bbappend. I can simply to the reverts and apply the
patches on the BSP branch or v6.16/standard/base if they are
appropriate for all boards.

Bruce



>
> https://ledge.validation.linaro.org/scheduler/job/119012
>
> Depends on yocto-kernel-cache change to fix do_kernel_configcheck
> warnings.
>
> Signed-off-by: Mikko Rapeli <[email protected]>
> ---
>  ...50-unexport-serial8250_rpm_-function.patch | 96 +++++++++++++++++++
>  .../linux/linux-yocto_6.16.bbappend           | 14 +++
>  2 files changed, 110 insertions(+)
>  create mode 100644
> meta-yocto-bsp/recipes-kernel/linux/files/0001-Revert-serial-8250-unexport-serial8250_rpm_-function.patch
>  create mode 100644
> meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.16.bbappend
>
> diff --git
> a/meta-yocto-bsp/recipes-kernel/linux/files/0001-Revert-serial-8250-unexport-serial8250_rpm_-function.patch
> b/meta-yocto-bsp/recipes-kernel/linux/files/0001-Revert-serial-8250-unexport-serial8250_rpm_-function.patch
> new file mode 100644
> index 000000000000..b64488458238
> --- /dev/null
> +++
> b/meta-yocto-bsp/recipes-kernel/linux/files/0001-Revert-serial-8250-unexport-serial8250_rpm_-function.patch
> @@ -0,0 +1,96 @@
> +From 4fa6940b9891b0107abef9b3b01583332156878c Mon Sep 17 00:00:00 2001
> +From: Mikko Rapeli <[email protected]>
> +Date: Wed, 27 Aug 2025 06:55:58 +0000
> +Subject: [PATCH] Revert "serial: 8250: unexport serial8250_rpm_*()
> functions"
> +
> +This reverts commit 7ba4f02e12e6f2409c5b2afae2963089b5673482.
> +Needed by revert of 8700a7ea5519fb0b3bad2362adfeac358c2119ce
> +which causes kernel hangs when starting getty's on BeaglePlay.
> +
> +[ YOCTO #15704 ]
> +
> +Signed-off-by: Mikko Rapeli <[email protected]>
> +---
> + drivers/tty/serial/8250/8250.h      |  6 ++++++
> + drivers/tty/serial/8250/8250_port.c | 12 ++++++++----
> + 2 files changed, 14 insertions(+), 4 deletions(-)
> +
> +Upstream-Status: Inappropriate
> +
> +diff --git a/drivers/tty/serial/8250/8250.h
> b/drivers/tty/serial/8250/8250.h
> +index 18530c31a598..b861585ca02a 100644
> +--- a/drivers/tty/serial/8250/8250.h
> ++++ b/drivers/tty/serial/8250/8250.h
> +@@ -223,6 +223,12 @@ static inline bool serial8250_clear_THRI(struct
> uart_8250_port *up)
> + struct uart_8250_port *serial8250_setup_port(int index);
> + struct uart_8250_port *serial8250_get_port(int line);
> +
> ++void serial8250_rpm_get(struct uart_8250_port *p);
> ++void serial8250_rpm_put(struct uart_8250_port *p);
> ++
> ++void serial8250_rpm_get_tx(struct uart_8250_port *p);
> ++void serial8250_rpm_put_tx(struct uart_8250_port *p);
> ++
> + int serial8250_em485_config(struct uart_port *port, struct ktermios
> *termios,
> +                           struct serial_rs485 *rs485);
> + void serial8250_em485_start_tx(struct uart_8250_port *p, bool
> toggle_ier);
> +diff --git a/drivers/tty/serial/8250/8250_port.c
> b/drivers/tty/serial/8250/8250_port.c
> +index 6d7b8c4667c9..8d9bb91d4bae 100644
> +--- a/drivers/tty/serial/8250/8250_port.c
> ++++ b/drivers/tty/serial/8250/8250_port.c
> +@@ -517,20 +517,22 @@ void serial8250_clear_and_reinit_fifos(struct
> uart_8250_port *p)
> + }
> + EXPORT_SYMBOL_GPL(serial8250_clear_and_reinit_fifos);
> +
> +-static void serial8250_rpm_get(struct uart_8250_port *p)
> ++void serial8250_rpm_get(struct uart_8250_port *p)
> + {
> +       if (!(p->capabilities & UART_CAP_RPM))
> +               return;
> +       pm_runtime_get_sync(p->port.dev);
> + }
> ++EXPORT_SYMBOL_GPL(serial8250_rpm_get);
> +
> +-static void serial8250_rpm_put(struct uart_8250_port *p)
> ++void serial8250_rpm_put(struct uart_8250_port *p)
> + {
> +       if (!(p->capabilities & UART_CAP_RPM))
> +               return;
> +       pm_runtime_mark_last_busy(p->port.dev);
> +       pm_runtime_put_autosuspend(p->port.dev);
> + }
> ++EXPORT_SYMBOL_GPL(serial8250_rpm_put);
> +
> + /**
> +  *    serial8250_em485_init() - put uart_8250_port into rs485 emulating
> +@@ -645,7 +647,7 @@ EXPORT_SYMBOL_GPL(serial8250_em485_config);
> +  * once and disable_runtime_pm_tx() will still disable RPM because the
> fifo is
> +  * empty and the HW can idle again.
> +  */
> +-static void serial8250_rpm_get_tx(struct uart_8250_port *p)
> ++void serial8250_rpm_get_tx(struct uart_8250_port *p)
> + {
> +       unsigned char rpm_active;
> +
> +@@ -657,8 +659,9 @@ static void serial8250_rpm_get_tx(struct
> uart_8250_port *p)
> +               return;
> +       pm_runtime_get_sync(p->port.dev);
> + }
> ++EXPORT_SYMBOL_GPL(serial8250_rpm_get_tx);
> +
> +-static void serial8250_rpm_put_tx(struct uart_8250_port *p)
> ++void serial8250_rpm_put_tx(struct uart_8250_port *p)
> + {
> +       unsigned char rpm_active;
> +
> +@@ -671,6 +674,7 @@ static void serial8250_rpm_put_tx(struct
> uart_8250_port *p)
> +       pm_runtime_mark_last_busy(p->port.dev);
> +       pm_runtime_put_autosuspend(p->port.dev);
> + }
> ++EXPORT_SYMBOL_GPL(serial8250_rpm_put_tx);
> +
> + /*
> +  * IER sleep support.  UARTs which have EFRs need the "extended
> +--
> +2.43.0
> +
> diff --git a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.16.bbappend
> b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.16.bbappend
> new file mode 100644
> index 000000000000..ef5f84cfc3aa
> --- /dev/null
> +++ b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.16.bbappend
> @@ -0,0 +1,14 @@
> +COMPATIBLE_MACHINE:genericarm64 = "genericarm64"
> +COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
> +COMPATIBLE_MACHINE:genericx86 = "genericx86"
> +COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
> +
> +KMACHINE:beaglebone-yocto ?= "beaglebone"
> +KMACHINE:genericx86 ?= "common-pc"
> +KMACHINE:genericx86-64 ?= "common-pc-64"
> +
> +FILESEXTRAPATHS:prepend:genericarm64 := "${THISDIR}/files:"
> +SRC_URI:append:genericarm64 = " \
> +
> file://0001-Revert-serial-8250-unexport-serial8250_rpm_-function.patch \
> +    file://0001-Revert-serial-8250_omap-Drop-pm_runtime_irq_safe.patch \
> +"
> --
> 2.43.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#13730):
> https://lists.yoctoproject.org/g/poky/message/13730
> Mute This Topic: https://lists.yoctoproject.org/mt/114914972/1050810
> Group Owner: [email protected]
> Unsubscribe: https://lists.yoctoproject.org/g/poky/unsub [
> [email protected]]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>

-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end
- "Use the force Harry" - Gandalf, Star Trek II