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>.
Include <linux/atomic.h> and <linux/uidgid.h> in <drm/drmP.h>.
Remove now unused <drm/drm_os_linux.h> shim.