4834f513d8
-#if defined(__FreeBSD__) && __FreeBSD_version__ >= 500023 +#if defined(__FreeBSD__) && __FreeBSD_version >= 500023 is a genuine bug -- __FreeBSD_version__ does not exist. The other one: -#if (__FreeBSD__ < 5) +#if (__FreeBSD_version < 500000) pops out when you cross-compile the code: __FreeBSD__ is a compiler predefine, __FreeBSD_version is defined in <sys/param.h> . Given that in this case (and all others in sys/dev/usb and sys/i4b) the goal is to adapt to a different kernel interface, and not to a compiler feature, I believe the correct form is the second one (in the best case the two are synonyms so the change does not break anything anyways).