On Sunday, January 03, 2016 06:09:47 PM Garrett Cooper wrote:
> Author: ngie
> Date: Sun Jan  3 18:09:46 2016
> New Revision: 293112
> URL: https://svnweb.freebsd.org/changeset/base/293112
> 
> Log:
>   Fix ixl(4) compilation with PCI_IOV pre-r266974
>   
>   stable/10 doesn't have the if_getdrvflags(9) KPI. Reference the field in the
>   structure directly if the __FreeBSD_version is < 1100022, so the driver can
>   be built with PCI_IOV support on stable/10, without backporting all of
>   r266974 (which requires additional changes due to projects/ifnet, etc)
>   
>   Differential Revision: https://reviews.freebsd.org/D4759
>   Reviewed by: erj, sbruno
>   Sponsored by: EMC / Isilon Storage Division
> 
> Modified:
>   head/sys/dev/ixl/if_ixl.c
> 
> Modified: head/sys/dev/ixl/if_ixl.c
> ==============================================================================
> --- head/sys/dev/ixl/if_ixl.c Sun Jan  3 17:58:11 2016        (r293111)
> +++ head/sys/dev/ixl/if_ixl.c Sun Jan  3 18:09:46 2016        (r293112)
> @@ -6606,7 +6606,11 @@ ixl_iov_uninit(device_t dev)
>               pf->veb_seid = 0;
>       }
>  
> +#if __FreeBSD_version > 1100022
>       if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0)
> +#else
> +     if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0)
> +#endif
>               ixl_disable_intr(vsi);

FWIW, it is probably simpler to do something like this in an ixl header instead:

#if __FreeBSD_version <= 1100022
#define if_getdrvflags(ifp)     (ifp)->if_drv_flags
#endif

In the past when the Intel drivers have used compat shims they have preferred 
this
method (defining compat macros for "new" APIs on old OS versions) instead of 
using
#ifdef's in the code itself.

-- 
John Baldwin
_______________________________________________
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