On Wed, Sep 27, 2017 at 1:23 AM, Conrad Meyer <c...@freebsd.org> wrote:

> 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"
>
This will be MODULE_PNP_INFO.



> +#define IFLIB_PNP_INFO(b, u, t) \
> +    MODULE_PNP_INFO(IFLIB_PNP_DESCR, b, u, t, sizeof(t[0]), nitems(t))
>
And this IFLIB_PNP_DESCR.


> +
>  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"
>
_______________________________________________
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"

Reply via email to