svn commit: r324038 - in head/sys: dev/bnxt dev/drm dev/drm2/i915 dev/drm2/radeon dev/e1000 net
Conrad Meyer
cem at FreeBSD.org
Tue Sep 26 23:24:00 UTC 2017
Author: cem
Date: Tue Sep 26 23:23:58 2017
New Revision: 324038
URL: https://svnweb.freebsd.org/changeset/base/324038
Log:
Add PNP metadata to more drivers
GPUs: radeonkms, i915kms
NICs: if_em, if_igb, if_bnxt
This metadata isn't used yet, but it will be handy to have later to
implement automatic module loading.
Reviewed by: imp, mmacy
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D12488
Modified:
head/sys/dev/bnxt/if_bnxt.c
head/sys/dev/drm/drmP.h
head/sys/dev/drm2/i915/i915_drv.c
head/sys/dev/drm2/radeon/radeon_drv.c
head/sys/dev/e1000/if_em.c
head/sys/net/iflib.h
Modified: head/sys/dev/bnxt/if_bnxt.c
==============================================================================
--- head/sys/dev/bnxt/if_bnxt.c Tue Sep 26 23:12:32 2017 (r324037)
+++ head/sys/dev/bnxt/if_bnxt.c Tue Sep 26 23:23:58 2017 (r324038)
@@ -243,6 +243,8 @@ MODULE_DEPEND(bnxt, pci, 1, 1, 1);
MODULE_DEPEND(bnxt, ether, 1, 1, 1);
MODULE_DEPEND(bnxt, iflib, 1, 1, 1);
+IFLIB_PNP_INFO(pci, bnxt, bnxt_vendor_info_array);
+
static device_method_t bnxt_iflib_methods[] = {
DEVMETHOD(ifdi_tx_queues_alloc, bnxt_tx_queues_alloc),
DEVMETHOD(ifdi_rx_queues_alloc, bnxt_rx_queues_alloc),
Modified: head/sys/dev/drm/drmP.h
==============================================================================
--- head/sys/dev/drm/drmP.h Tue Sep 26 23:12:32 2017 (r324037)
+++ head/sys/dev/drm/drmP.h Tue Sep 26 23:23:58 2017 (r324038)
@@ -321,7 +321,7 @@ typedef struct drm_pci_id_list
{
int vendor;
int device;
- long driver_private;
+ intptr_t driver_private;
char *name;
} drm_pci_id_list_t;
Modified: head/sys/dev/drm2/i915/i915_drv.c
==============================================================================
--- head/sys/dev/drm2/i915/i915_drv.c Tue Sep 26 23:12:32 2017 (r324037)
+++ head/sys/dev/drm2/i915/i915_drv.c Tue Sep 26 23:23:58 2017 (r324038)
@@ -1236,6 +1236,8 @@ MODULE_DEPEND(i915kms, agp, 1, 1, 1);
MODULE_DEPEND(i915kms, iicbus, 1, 1, 1);
MODULE_DEPEND(i915kms, iic, 1, 1, 1);
MODULE_DEPEND(i915kms, iicbb, 1, 1, 1);
+MODULE_PNP_INFO("U32:vendor;U32:device;P;D:human", vgapci, i915, pciidlist,
+ sizeof(pciidlist[0]), nitems(pciidlist));
/* We give fast paths for the really cool registers */
#define NEEDS_FORCE_WAKE(dev_priv, reg) \
Modified: head/sys/dev/drm2/radeon/radeon_drv.c
==============================================================================
--- head/sys/dev/drm2/radeon/radeon_drv.c Tue Sep 26 23:12:32 2017 (r324037)
+++ head/sys/dev/drm2/radeon/radeon_drv.c Tue Sep 26 23:23:58 2017 (r324038)
@@ -401,3 +401,5 @@ MODULE_DEPEND(radeonkms, iicbus, 1, 1, 1);
MODULE_DEPEND(radeonkms, iic, 1, 1, 1);
MODULE_DEPEND(radeonkms, iicbb, 1, 1, 1);
MODULE_DEPEND(radeonkms, firmware, 1, 1, 1);
+MODULE_PNP_INFO("U32:vendor;U32:device;P;D:human", vgapci, radeonkms,
+ pciidlist, sizeof(pciidlist[0]), nitems(pciidlist));
Modified: head/sys/dev/e1000/if_em.c
==============================================================================
--- head/sys/dev/e1000/if_em.c Tue Sep 26 23:12:32 2017 (r324037)
+++ head/sys/dev/e1000/if_em.c Tue Sep 26 23:23:58 2017 (r324038)
@@ -339,6 +339,8 @@ MODULE_DEPEND(em, pci, 1, 1, 1);
MODULE_DEPEND(em, ether, 1, 1, 1);
MODULE_DEPEND(em, iflib, 1, 1, 1);
+IFLIB_PNP_INFO(pci, em, em_vendor_info_array);
+
static driver_t igb_driver = {
"igb", igb_methods, sizeof(struct adapter),
};
@@ -350,6 +352,7 @@ MODULE_DEPEND(igb, pci, 1, 1, 1);
MODULE_DEPEND(igb, ether, 1, 1, 1);
MODULE_DEPEND(igb, iflib, 1, 1, 1);
+IFLIB_PNP_INFO(pci, igb, igb_vendor_info_array);
static device_method_t em_if_methods[] = {
DEVMETHOD(ifdi_attach_pre, em_if_attach_pre),
Modified: head/sys/net/iflib.h
==============================================================================
--- head/sys/net/iflib.h Tue Sep 26 23:12:32 2017 (r324037)
+++ head/sys/net/iflib.h Tue Sep 26 23:23:58 2017 (r324038)
@@ -173,6 +173,11 @@ typedef struct pci_vendor_info {
#define PVID_OEM(vendor, devid, svid, sdevid, revid, name) {vendor, devid, svid, sdevid, revid, 0, name}
#define PVID_END {0, 0, 0, 0, 0, 0, NULL}
+#define IFLIB_PNP_DESCR "U32:vendor;U32:device;U32:subvendor;U32:subdevice;" \
+ "U32:revision;U32:class;D:human"
+#define IFLIB_PNP_INFO(b, u, t) \
+ MODULE_PNP_INFO(IFLIB_PNP_DESCR, b, u, t, sizeof(t[0]), nitems(t))
+
typedef struct if_txrx {
int (*ift_txd_encap) (void *, if_pkt_info_t);
void (*ift_txd_flush) (void *, uint16_t, qidx_t pidx);
More information about the svn-src-all
mailing list