]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
uio: uio_pdrv_genirq: Remove MODULE_DEVICE_TABLE
authorVivian Wang <wangruikang@iscas.ac.cn>
Tue, 26 Aug 2025 10:34:40 +0000 (18:34 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 6 Sep 2025 13:57:11 +0000 (15:57 +0200)
The struct of_device_id list here is filled in at load time since
commit 05c3e0bb5629 ("UIO: allow binding uio_pdrv_genirq.c to devices using
command line option").

However, this does not work with MODULE_DEVICE_TABLE, which generates an
alias at build time.  In this case, it generates the aliases "of:N*T*"
and "of:N*T*C*", which matches *any* OF device node, which is obviously
not intended. It confuses userspace into loading this module for any OF
device, and confuses anyone trying to resolve an OF modalias.

Remove this broken MODULE_DEVICE_TABLE.

Suggested-by: Emily <hello@emily.moe>
Fixes: 05c3e0bb5629 ("UIO: allow binding uio_pdrv_genirq.c to devices using command line option")
Signed-off-by: Vivian Wang <wangruikang@iscas.ac.cn>
Link: https://lore.kernel.org/r/20250826-uio-no-modalias-v2-1-495afa9e8a5b@iscas.ac.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/uio/uio_pdrv_genirq.c

index 2ec7d25e826490999404382e6aa69e4af56f7fe8..633ab6b916719e783d0f82cb2f8decac35a37054 100644 (file)
@@ -276,7 +276,6 @@ static struct of_device_id uio_of_genirq_match[] = {
        { /* This is filled with module_parm */ },
        { /* Sentinel */ },
 };
-MODULE_DEVICE_TABLE(of, uio_of_genirq_match);
 module_param_string(of_id, uio_of_genirq_match[0].compatible, 128, 0);
 MODULE_PARM_DESC(of_id, "Openfirmware id of the device to be handled by uio");
 #endif