Update to match VOP_READDIR() changes: no more cookies, but d_off instead.

Prodding and initial diff from espie@
add static back to functions that originally had it
reduces the diff to linux
use DRM_MEMORYBARRIER() for smp_mb__*
Correct the list of supported boards.
From Juan Francisco Cantero Hurtado.

ok patrick@
fb refcount must be initialised to 1 not 0 to match the behaviour
of the linux kref functions.

Switch to using the FreeBSD refcount api for the fb refcount while here.
There is no need to call arc4random_addrandom() and feed it some
stupid seed that bind has decided on..
All the instances of arc4random_stir() are bogus, since arc4random()
does this itself, inside itself, and has for a very long time..  Actually,
this was probably reducing the entropy available.
ok djm
NSD v3.2.4
DELL MD3060e works
Adapt drm(4) after recent changes.

ok jsg@
radeondrm attaches to pci now
Only free the per-protocol descriptor if a touchpad cannot be correctly
identified during attach.  This prevents the driver to downgrade itself
to use the standard mouse protocol and reattach a new wsmouse child if
something bad happens when we re-query the hardware (during resume for
example).

Discussed with and ok stsp@
update to NSD 3.2.16, ok deraadt@ brad@
merge NSD 3.2.16
When /dev/wsmouse is opened right after resume, some synaptics touchpads
are still taking time to wake up. So make the pms(4) driver wait a little
longer before giving up on them. Fixes mouse after resume on my x130e TP.
ok mpi, earlier versions tested by weerd with no regressions seen
Use satosin() rather than the local SIN macro, no functional change.

ok mikeb@