(split) Replace the homegrown implementation of nitems() with calls to nitems()
(param.h).

Operating systems that don't have nitems() can easily define it on their own
net80211 OS-specific header file.

Discussed with:		adrian
(split) Merge branch 'master' of https://github.com/freebsd/freebsd
Split 'sys/net80211/' into commit '12a63a74aa9b50eac954621bb0a9e8b6e8b11e25'

git-subtree-dir: sys/net80211
git-subtree-mainline: c0b39a3926cf69cda8b2024824b9b9a54aa0bcb6
git-subtree-split: 12a63a74aa9b50eac954621bb0a9e8b6e8b11e25
Don't let user specified DESTDIR, break building our chosen make.
Fix some USB controller names according to pciconf output.

MFC after:	1 week
Submitted by:	Dmitry Luhtionov <dmitryluhtionov@gmail.com>
Remove the arbitrary binding of the pagedaemon threads to the domains,
update the comment accordingly and make it more precise.

Requested and reviewed by:	jeff (previous version)
Unbreak rwhod(8):

- It did not work with GENERIC kernel after r250603 because
  options PROCDESC was required for pdfork(2).  It now just uses fork(2)
  instead when this syscall is not available.

- Fix verify().  This function was broken in r250602 because the outermost
  "()" was removed from the condition !(isalnum() || ispunct()).
  It prevented hostnames including "-", for example.
Return 0 in nbi->expire when la_expire == 0.  Conversion from time_uptime to
time_second should not be performed in this case.
Remove redundant variable.
In r114945 the line 'nmp = TAILQ_NEXT(mp, mnt_list);' was duplicated.
Instead of just removing the duplicate, convert the loop to TAILQ_FOREACH().
Make pdfork(2), pdkill(2) and pdgetpid(2) syscalls available for 32bit
binaries running under 64bit kernel.

Sponsored by:	The FreeBSD Foundation
Regenerate after r254447.

Sponsored by:	The FreeBSD Foundation
Silence a warning that is incorrect on ARMv6 and later. In the smull, umull,
smlal, and umlal the output registers are allowed to be the same as either
input registers, where in ARMv4 and ARMv5 they could only be the same as the
last input register.
Ensure we set all fpu registers to zero by using the address and size of
the union over one of its members.
Remove unused FPE code. This is not enabled anywhere as it is the only
file I can find containing FAST_FPE. It appears this would not work as
want_resched is not defined anywhere.
Remove fpe_sp_state as we don't support fpe.
Correct function name and return value.
Remove the ARMFPE option. It is unsupported, and appears to be broken as
arm_fpe_core_changecontext is not a function.
Remove the armfpe config options. These files don't exist on FreeBSD.
Do not use potentially stale thread in kthread_add()

When an existing process is provided, the thread selected to use
to initialize the new thread could have exited and be reaped.
Acquire the proc lock earlier to ensure the thread remains valid.

Reviewed by:	jhb, julian (previous version)
MFC after:	3 days