svn commit: r347954 - in stable/12/sys/compat/linuxkpi/common: include/linux src
Johannes Lundberg
johalun at FreeBSD.org
Sat May 18 13:27:10 UTC 2019
Author: johalun
Date: Sat May 18 13:27:09 2019
New Revision: 347954
URL: https://svnweb.freebsd.org/changeset/base/347954
Log:
MFC
------------------------------------------------------------------------
r347470 | johalun | 2019-05-10 16:10:22 -0700 (Fri, 10 May 2019) | 9 lines
Implement linux_pci_unregister_drm_driver in linuxkpi so that drm drivers
can be unloaded.
This patch is a part of D19565.
Reviewed by: hps
Approved by: imp (mentor), hps
MFC after: 1 week
------------------------------------------------------------------------
Modified:
stable/12/sys/compat/linuxkpi/common/include/linux/pci.h
stable/12/sys/compat/linuxkpi/common/src/linux_pci.c
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/compat/linuxkpi/common/include/linux/pci.h
==============================================================================
--- stable/12/sys/compat/linuxkpi/common/include/linux/pci.h Sat May 18 12:27:22 2019 (r347953)
+++ stable/12/sys/compat/linuxkpi/common/include/linux/pci.h Sat May 18 13:27:09 2019 (r347954)
@@ -521,6 +521,7 @@ pci_write_config_dword(struct pci_dev *pdev, int where
int linux_pci_register_driver(struct pci_driver *pdrv);
int linux_pci_register_drm_driver(struct pci_driver *pdrv);
void linux_pci_unregister_driver(struct pci_driver *pdrv);
+void linux_pci_unregister_drm_driver(struct pci_driver *pdrv);
#define pci_register_driver(pdrv) linux_pci_register_driver(pdrv)
#define pci_unregister_driver(pdrv) linux_pci_unregister_driver(pdrv)
Modified: stable/12/sys/compat/linuxkpi/common/src/linux_pci.c
==============================================================================
--- stable/12/sys/compat/linuxkpi/common/src/linux_pci.c Sat May 18 12:27:22 2019 (r347953)
+++ stable/12/sys/compat/linuxkpi/common/src/linux_pci.c Sat May 18 13:27:09 2019 (r347954)
@@ -330,3 +330,19 @@ linux_pci_unregister_driver(struct pci_driver *pdrv)
devclass_delete_driver(bus, &pdrv->bsddriver);
mtx_unlock(&Giant);
}
+
+void
+linux_pci_unregister_drm_driver(struct pci_driver *pdrv)
+{
+ devclass_t bus;
+
+ bus = devclass_find("vgapci");
+
+ spin_lock(&pci_lock);
+ list_del(&pdrv->links);
+ spin_unlock(&pci_lock);
+ mtx_lock(&Giant);
+ if (bus != NULL)
+ devclass_delete_driver(bus, &pdrv->bsddriver);
+ mtx_unlock(&Giant);
+}
More information about the svn-src-all
mailing list