sync with HEAD
sync with HEAD and actually get the drm2 import
Add drm2 module makefile.
Add stubs for Linux header files for drm.
Make stub Linux header files visible to drm2.
Add types u8, u16, u32 to drm2's <linux/types.h> shim.
Implement atomic_t and atomic_read in drm2's <linux/atomic.h> shim.
Define dma_addr_t to be bus_addr_t in drm2's <linux/dma-mapping.h> shim.
Define __printf in drm2's <linux/kernel.h> shim.
Implement Linux spin lock in terms of kmutex_t in drm2's <linux/spinlock.h>.

Currently a spin lock will be an adaptive mutex, until I identify
cases in drm2 that actually require spinning and interrupt deferral.
Add type-unsafe container_of to drm2's <linux/kernel.h>.
Add initial draft of Linux list and hlist to <linux/list.h>.

Implemented in terms of TAILQ and LIST, respectively.
Not yet tested.
Avoid BITS_PER_LONG in drm_bufs.c.
Dumb implementation of a subset of Linux's idr abstraction.

An idr maintains a mapping from integers to data, like file descriptors
to struct file pointers.
Define __user to be empty in <linux/kernel.h>.

__user qualifies a pointer into userspace for static analyzers.
Include <linux/kernel.h> and <linux/types.h> in <drm/drm_hashtab.h>.
Add <drm/drm_os_netbsd.h> and include it in <drm/drmP.h>.
Include <linux/spinlock.h> in <drm/drm_mm.h>.
Omit unused drm_mm_initialized, which uses list internals.
Add shim <linux/uidgid.h>.