diff options
| author | Danish Khateeb <danishkhateeb03@gmail.com> | 2026-09-26 11:35:06 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2026-10-01 11:11:04 +0200 |
| commit | c44a4925cdac02af781ebfae96df68a7bf3580b0 (patch) | |
| tree | cc1bb4bba64870ab7f23a0557328f55624f00f59 /drivers/tty/serial | |
| parent | b290393074a149ed2f45da6759c94719c06b48c4 (diff) | |
serial: 8250: Fix section mismatch with CONFIG_MODULES=n
Without CONFIG_MODULES, __init_or_module means __init, so
serial8250_pnp_exit() and serial8250_hub6_exit() end up in .init.text.
They are also called from serial8250_exit(), which is __exit, and
modpost warns:
WARNING: modpost: vmlinux: section mismatch in reference: serial8250_exit+0x2a (section: .exit.text) -> serial8250_pnp_exit (section: .init.text)
The exit code never runs in such a kernel, so nothing breaks at runtime.
But a function that is called from both __init and __exit code can't
carry either annotation, so drop it.
Fixes: a300273c458c ("serial: 8250: hub6: Add cleanup code")
Fixes: 4cf187f9dea9 ("serial: 8250: pnp: Annotate init and exit functions for conditional discarding")
Assisted-by: LLM
Signed-off-by: Danish Khateeb <danishkhateeb03@gmail.com>
Link: https://patch.msgid.link/20260926163506.487201-1-danishkhateeb03@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial')
| -rw-r--r-- | drivers/tty/serial/8250/8250_hub6.c | 2 | ||||
| -rw-r--r-- | drivers/tty/serial/8250/8250_pnp.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/tty/serial/8250/8250_hub6.c b/drivers/tty/serial/8250/8250_hub6.c index 4d4c54c951cb..848d9723ac56 100644 --- a/drivers/tty/serial/8250/8250_hub6.c +++ b/drivers/tty/serial/8250/8250_hub6.c @@ -54,7 +54,7 @@ int __init serial8250_hub6_init(void) return platform_device_register(&hub6_device); } -void __init_or_module serial8250_hub6_exit(void) +void serial8250_hub6_exit(void) { platform_device_unregister(&hub6_device); } diff --git a/drivers/tty/serial/8250/8250_pnp.c b/drivers/tty/serial/8250/8250_pnp.c index 7decf62400ab..a6257cd6e246 100644 --- a/drivers/tty/serial/8250/8250_pnp.c +++ b/drivers/tty/serial/8250/8250_pnp.c @@ -531,7 +531,7 @@ int __init serial8250_pnp_init(void) return pnp_register_driver(&serial_pnp_driver); } -void __init_or_module serial8250_pnp_exit(void) +void serial8250_pnp_exit(void) { pnp_unregister_driver(&serial_pnp_driver); } |
