The dependencies for drm.ko, ttm.ko and nouveau.ko can be checked from the
file drivers/gpu/drm/Kconfig. All "depends" and "select" features must be
enabled. If you make e.g. nouveau.ko built-in, all the dependencies must
be built-in, too.

Here is a list of the usual options you might be missing:

DRM depends on
	I2C
	I2C_ALGOBIT

NOUVEAU depends on
	FB
	FRAMEBUFFER_CONSOLE	(for console with KMS)
	BACKLIGHT_LCD_SUPPORT
	BACKLIGHT_CLASS_DEVICE
	FB_CFB_FILLRECT
	FB_CFB_COPYAREA
	FB_CFB_IMAGEBLIT

For Nouveau, the last three may be a problem, since there is no menuconfig
entry to enable them. You can get them by enabling another driver, that
depends on (selects) them, e.g. CONFIG_FB_SAVAGE. It is recommended to
build FB and FRAMEBUFFER_CONSOLE into the kernel if you plan on using KMS.

