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); _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"