diff --git a/graphics/nvidia-drm-61-kmod-devel/Makefile b/graphics/nvidia-drm-61-kmod-devel/Makefile index 9d2138ba50bd..96d0c7d006d9 100644 --- a/graphics/nvidia-drm-61-kmod-devel/Makefile +++ b/graphics/nvidia-drm-61-kmod-devel/Makefile @@ -1,7 +1,7 @@ NVIDIA_DISTVERSION?= 580.82.07 # Explicitly set PORTREVISION as it can be overridden by the master port -PORTREVISION= 1 +PORTREVISION= 2 MASTERDIR= ${.CURDIR}/../nvidia-drm-61-kmod PKGNAMESUFFIX= -devel .include "${MASTERDIR}/Makefile" diff --git a/graphics/nvidia-drm-61-kmod/Makefile b/graphics/nvidia-drm-61-kmod/Makefile index 33aa61bc2023..7e5747d7622d 100644 --- a/graphics/nvidia-drm-61-kmod/Makefile +++ b/graphics/nvidia-drm-61-kmod/Makefile @@ -1,12 +1,12 @@ PORTNAME= nvidia-drm-61-kmod -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= graphics BUILD_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-61-kmod RUN_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-61-kmod CONFLICTS_INSTALL= nvidia-drm-510-kmod* nvidia-drm-515-kmod* nvidia-drm-66-kmod* .include "${.CURDIR}/../drm-61-kmod/Makefile.version" .include "${.CURDIR}/../nvidia-drm-kmod/Makefile.common" .include diff --git a/graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01 b/graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01 new file mode 100644 index 000000000000..c703950a0c88 --- /dev/null +++ b/graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01 @@ -0,0 +1,47 @@ +--- nvidia-drm-freebsd-lkpi.c.orig 2025-08-27 17:59:14 UTC ++++ nvidia-drm-freebsd-lkpi.c +@@ -104,6 +104,35 @@ lkpinew_pci_dev(device_t dev) + * FreeBSD linuxkpi based loading support code. + *************************************************************************/ + ++static int ++dummy_nv_pci_probe(struct pci_dev *pci_dev __unused, ++ const struct pci_device_id *id_table __unused) ++{ ++ return (0); ++} ++ ++static void ++dummy_nv_pci_remove(struct pci_dev *pci_dev __unused) ++{ ++} ++ ++static void ++dummy_nv_pci_shutdown(struct pci_dev *pci_dev __unused) ++{ ++} ++ ++struct pci_driver nv_pci_driver = { ++ .name = "drmn", ++ .id_table = nv_pci_table, ++ .probe = dummy_nv_pci_probe, ++ .remove = dummy_nv_pci_remove, ++ .shutdown = dummy_nv_pci_shutdown, ++#if defined(__FreeBSD__) ++ /* FreeBSD internal/specifc. */ ++ .isdrm = true, ++#endif ++}; ++ + static struct pci_dev *nv_lkpi_pci_devs[NV_MAX_DEVICES]; + + int nv_drm_probe_devices(void) +@@ -153,7 +182,7 @@ int nv_drm_probe_devices(void) + return -ENOMEM; + } + +- if (linux_pci_attach_device(sc->dev, NULL, NULL, pdev)) { ++ if (linux_pci_attach_device(sc->dev, &nv_pci_driver, NULL, pdev)) { + NV_DRM_LOG_ERR("Failed to attach linuxkpi PCI device"); + free(pdev, M_DEVBUF); + return -ENOMEM; diff --git a/graphics/nvidia-drm-66-kmod-devel/Makefile b/graphics/nvidia-drm-66-kmod-devel/Makefile index 0732d38c767c..7941985a9c4b 100644 --- a/graphics/nvidia-drm-66-kmod-devel/Makefile +++ b/graphics/nvidia-drm-66-kmod-devel/Makefile @@ -1,7 +1,7 @@ NVIDIA_DISTVERSION?= 580.82.07 # Explicitly set PORTREVISION as it can be overridden by the master port -PORTREVISION= 1 +PORTREVISION= 2 MASTERDIR= ${.CURDIR}/../nvidia-drm-66-kmod PKGNAMESUFFIX= -devel .include "${MASTERDIR}/Makefile" diff --git a/graphics/nvidia-drm-66-kmod/Makefile b/graphics/nvidia-drm-66-kmod/Makefile index 1b8560063184..19636dc722bc 100644 --- a/graphics/nvidia-drm-66-kmod/Makefile +++ b/graphics/nvidia-drm-66-kmod/Makefile @@ -1,12 +1,12 @@ PORTNAME= nvidia-drm-66-kmod -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= graphics BUILD_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-66-kmod RUN_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-66-kmod CONFLICTS_INSTALL= nvidia-drm-510-kmod* nvidia-drm-515-kmod* nvidia-drm-61-kmod* .include "${.CURDIR}/../drm-66-kmod/Makefile.version" .include "${.CURDIR}/../nvidia-drm-kmod/Makefile.common" .include diff --git a/graphics/nvidia-drm-66-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01 b/graphics/nvidia-drm-66-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01 new file mode 100644 index 000000000000..c703950a0c88 --- /dev/null +++ b/graphics/nvidia-drm-66-kmod/files/patch-nvidia-drm-freebsd-lkpi.c-20250918-01 @@ -0,0 +1,47 @@ +--- nvidia-drm-freebsd-lkpi.c.orig 2025-08-27 17:59:14 UTC ++++ nvidia-drm-freebsd-lkpi.c +@@ -104,6 +104,35 @@ lkpinew_pci_dev(device_t dev) + * FreeBSD linuxkpi based loading support code. + *************************************************************************/ + ++static int ++dummy_nv_pci_probe(struct pci_dev *pci_dev __unused, ++ const struct pci_device_id *id_table __unused) ++{ ++ return (0); ++} ++ ++static void ++dummy_nv_pci_remove(struct pci_dev *pci_dev __unused) ++{ ++} ++ ++static void ++dummy_nv_pci_shutdown(struct pci_dev *pci_dev __unused) ++{ ++} ++ ++struct pci_driver nv_pci_driver = { ++ .name = "drmn", ++ .id_table = nv_pci_table, ++ .probe = dummy_nv_pci_probe, ++ .remove = dummy_nv_pci_remove, ++ .shutdown = dummy_nv_pci_shutdown, ++#if defined(__FreeBSD__) ++ /* FreeBSD internal/specifc. */ ++ .isdrm = true, ++#endif ++}; ++ + static struct pci_dev *nv_lkpi_pci_devs[NV_MAX_DEVICES]; + + int nv_drm_probe_devices(void) +@@ -153,7 +182,7 @@ int nv_drm_probe_devices(void) + return -ENOMEM; + } + +- if (linux_pci_attach_device(sc->dev, NULL, NULL, pdev)) { ++ if (linux_pci_attach_device(sc->dev, &nv_pci_driver, NULL, pdev)) { + NV_DRM_LOG_ERR("Failed to attach linuxkpi PCI device"); + free(pdev, M_DEVBUF); + return -ENOMEM;