Package: linux-source Severity: normal Tags: patch X-Debbugs-Cc: corcodel.mar...@gmail.com
Hi Bellow i explain simple method used only for research purpose used as countermeasure in order to run MODULE_DEVICE_TABLE macro whithout .ko file, just fixing stringfy problems ,like: ld: drivers/usb/host/ehci-pci.o:(.rodata+0x0): multiple definition of `__mod_pci__pci_ids_device_table'; drivers/tty/serial/8250/8250_mid.o:(.rodata+0x0): first defined here ld: drivers/usb/host/ohci-pci.o:(.rodata+0x0): multiple definition of `__mod_pci__pci_ids_device_table'; drivers/tty/serial/8250/8250_mid.o:(.rodata+0x0): first defined here -- System Information: Debian Release: 12.9 APT prefers stable APT policy: (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 6.12.5+ (SMP w/8 CPU threads; PREEMPT) Kernel taint flags: TAINT_OOT_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) Versions of packages linux-source depends on: pn linux-source-6.1 <none> linux-source recommends no packages. linux-source suggests no packages.
>From 50aca464b8042c0805431cf1bd6ea9dc946ee481 Mon Sep 17 00:00:00 2001 From: Corcodel Marian <corcodel.mar...@gmail.com> Date: Sat, 1 Mar 2025 23:56:17 +0100 Subject: [PATCH] Avoid multiple definition on loader Short example how to avoid multiple definition on loader, problems stringfy. --- drivers/tty/serial/8250/8250_lpss.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/tty/serial/8250/8250_lpss.c b/drivers/tty/serial/8250/8250_lpss.c index 776ec1ef2..05aebfdc5 100644 --- a/drivers/tty/serial/8250/8250_lpss.c +++ b/drivers/tty/serial/8250/8250_lpss.c @@ -402,7 +402,7 @@ static const struct lpss8250_board qrk_board = { .exit = qrk_serial_exit, }; -static const struct pci_device_id pci_ids[] = { +static const struct pci_device_id pci_idsa[] = { { PCI_DEVICE_DATA(INTEL, QRK_UARTx, &qrk_board) }, { PCI_DEVICE_DATA(INTEL, EHL_UART0, &ehl_board) }, { PCI_DEVICE_DATA(INTEL, EHL_UART1, &ehl_board) }, @@ -418,11 +418,11 @@ static const struct pci_device_id pci_ids[] = { { PCI_DEVICE_DATA(INTEL, BDW_UART2, &byt_board) }, { } }; -MODULE_DEVICE_TABLE(pci, pci_ids); +MODULE_DEVICE_TABLE(pci, pci_idsa); static struct pci_driver lpss8250_pci_driver = { .name = "8250_lpss", - .id_table = pci_ids, + .id_table = pci_idsa, .probe = lpss8250_probe, .remove = lpss8250_remove, }; -- 2.39.5