summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore36
-rw-r--r--Makefile49
-rw-r--r--Makefile.am5
-rwxr-xr-xautogen.sh12
-rw-r--r--bin/.gitignore5
-rw-r--r--bin/Makefile12
-rw-r--r--bin/Makefile.am13
-rw-r--r--configure.ac107
-rw-r--r--drm/.gitignore7
-rw-r--r--drm/Kbuild400
-rw-r--r--drm/Makefile4
-rw-r--r--drm/nouveau.config0
-rw-r--r--drm/nouveau/Kbuild66
-rw-r--r--drm/nouveau/Kconfig (renamed from drm/Kconfig)0
-rw-r--r--drm/nouveau/dispnv04/Kbuild (renamed from drm/dispnv04/Makefile)0
-rw-r--r--drm/nouveau/dispnv04/arb.c (renamed from drm/dispnv04/arb.c)0
-rw-r--r--drm/nouveau/dispnv04/crtc.c (renamed from drm/dispnv04/crtc.c)0
-rw-r--r--drm/nouveau/dispnv04/cursor.c (renamed from drm/dispnv04/cursor.c)0
-rw-r--r--drm/nouveau/dispnv04/dac.c (renamed from drm/dispnv04/dac.c)0
-rw-r--r--drm/nouveau/dispnv04/dfp.c (renamed from drm/dispnv04/dfp.c)0
-rw-r--r--drm/nouveau/dispnv04/disp.c (renamed from drm/dispnv04/disp.c)0
-rw-r--r--drm/nouveau/dispnv04/disp.h (renamed from drm/dispnv04/disp.h)0
-rw-r--r--drm/nouveau/dispnv04/hw.c (renamed from drm/dispnv04/hw.c)0
-rw-r--r--drm/nouveau/dispnv04/hw.h (renamed from drm/dispnv04/hw.h)0
-rw-r--r--drm/nouveau/dispnv04/nvreg.h (renamed from drm/dispnv04/nvreg.h)0
-rw-r--r--drm/nouveau/dispnv04/overlay.c (renamed from drm/dispnv04/overlay.c)0
-rw-r--r--drm/nouveau/dispnv04/tvmodesnv17.c (renamed from drm/dispnv04/tvmodesnv17.c)0
-rw-r--r--drm/nouveau/dispnv04/tvnv04.c (renamed from drm/dispnv04/tvnv04.c)0
-rw-r--r--drm/nouveau/dispnv04/tvnv17.c (renamed from drm/dispnv04/tvnv17.c)0
-rw-r--r--drm/nouveau/dispnv04/tvnv17.h (renamed from drm/dispnv04/tvnv17.h)0
-rw-r--r--drm/nouveau/include/nvif/class.h (renamed from nvif/class.h)0
-rw-r--r--drm/nouveau/include/nvif/client.h (renamed from nvif/client.h)2
-rw-r--r--drm/nouveau/include/nvif/device.h (renamed from nvif/device.h)4
-rw-r--r--drm/nouveau/include/nvif/driver.h (renamed from nvif/driver.h)0
-rw-r--r--drm/nouveau/include/nvif/event.h (renamed from nvif/event.h)0
-rw-r--r--drm/nouveau/include/nvif/ioctl.h (renamed from nvif/ioctl.h)0
-rw-r--r--drm/nouveau/include/nvif/notify.h (renamed from nvif/notify.h)0
-rw-r--r--drm/nouveau/include/nvif/object.h (renamed from nvif/object.h)6
-rw-r--r--drm/nouveau/include/nvif/os.h (renamed from drm/core/os.h)0
-rw-r--r--drm/nouveau/include/nvif/unpack.h (renamed from nvif/unpack.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/client.h (renamed from nvkm/include/core/client.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/debug.h (renamed from nvkm/include/core/debug.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/device.h (renamed from nvkm/include/core/device.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/engctx.h (renamed from nvkm/include/core/engctx.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/engine.h (renamed from nvkm/include/core/engine.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/enum.h (renamed from nvkm/include/core/enum.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/event.h (renamed from nvkm/include/core/event.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/gpuobj.h (renamed from nvkm/include/core/gpuobj.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/handle.h (renamed from nvkm/include/core/handle.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/ioctl.h (renamed from nvkm/include/core/ioctl.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/mm.h (renamed from nvkm/include/core/mm.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/namedb.h (renamed from nvkm/include/core/namedb.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/notify.h (renamed from nvkm/include/core/notify.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/object.h (renamed from nvkm/include/core/object.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/option.h (renamed from nvkm/include/core/option.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/os.h4
-rw-r--r--drm/nouveau/include/nvkm/core/parent.h (renamed from nvkm/include/core/parent.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/printk.h (renamed from nvkm/include/core/printk.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/ramht.h (renamed from nvkm/include/core/ramht.h)0
-rw-r--r--drm/nouveau/include/nvkm/core/subdev.h (renamed from nvkm/include/core/subdev.h)0
-rw-r--r--drm/nouveau/include/nvkm/engine/bsp.h (renamed from nvkm/include/engine/bsp.h)0
-rw-r--r--drm/nouveau/include/nvkm/engine/copy.h (renamed from nvkm/include/engine/copy.h)0
-rw-r--r--drm/nouveau/include/nvkm/engine/crypt.h (renamed from nvkm/include/engine/crypt.h)0
-rw-r--r--drm/nouveau/include/nvkm/engine/device.h (renamed from nvkm/include/engine/device.h)0
-rw-r--r--drm/nouveau/include/nvkm/engine/disp.h (renamed from nvkm/include/engine/disp.h)0
-rw-r--r--drm/nouveau/include/nvkm/engine/dmaobj.h (renamed from nvkm/include/engine/dmaobj.h)0
-rw-r--r--drm/nouveau/include/nvkm/engine/falcon.h (renamed from nvkm/include/engine/falcon.h)0
-rw-r--r--drm/nouveau/include/nvkm/engine/fifo.h (renamed from nvkm/include/engine/fifo.h)0
-rw-r--r--drm/nouveau/include/nvkm/engine/graph.h (renamed from nvkm/include/engine/graph.h)0
-rw-r--r--drm/nouveau/include/nvkm/engine/mpeg.h (renamed from nvkm/include/engine/mpeg.h)0
-rw-r--r--drm/nouveau/include/nvkm/engine/perfmon.h (renamed from nvkm/include/engine/perfmon.h)0
-rw-r--r--drm/nouveau/include/nvkm/engine/ppp.h (renamed from nvkm/include/engine/ppp.h)0
-rw-r--r--drm/nouveau/include/nvkm/engine/software.h (renamed from nvkm/include/engine/software.h)0
-rw-r--r--drm/nouveau/include/nvkm/engine/vp.h (renamed from nvkm/include/engine/vp.h)0
-rw-r--r--drm/nouveau/include/nvkm/engine/xtensa.h (renamed from nvkm/include/engine/xtensa.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bar.h (renamed from nvkm/include/subdev/bar.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios.h (renamed from nvkm/include/subdev/bios.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/M0203.h (renamed from nvkm/include/subdev/bios/M0203.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/M0205.h (renamed from nvkm/include/subdev/bios/M0205.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/M0209.h (renamed from nvkm/include/subdev/bios/M0209.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/P0260.h (renamed from nvkm/include/subdev/bios/P0260.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/bit.h (renamed from nvkm/include/subdev/bios/bit.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/bmp.h (renamed from nvkm/include/subdev/bios/bmp.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/boost.h (renamed from nvkm/include/subdev/bios/boost.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/conn.h (renamed from nvkm/include/subdev/bios/conn.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/cstep.h (renamed from nvkm/include/subdev/bios/cstep.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/dcb.h (renamed from nvkm/include/subdev/bios/dcb.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/disp.h (renamed from nvkm/include/subdev/bios/disp.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/dp.h (renamed from nvkm/include/subdev/bios/dp.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/extdev.h (renamed from nvkm/include/subdev/bios/extdev.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/fan.h (renamed from nvkm/include/subdev/bios/fan.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/gpio.h (renamed from nvkm/include/subdev/bios/gpio.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/i2c.h (renamed from nvkm/include/subdev/bios/i2c.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/image.h (renamed from nvkm/include/subdev/bios/image.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/init.h (renamed from nvkm/include/subdev/bios/init.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/mxm.h (renamed from nvkm/include/subdev/bios/mxm.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/npde.h (renamed from nvkm/include/subdev/bios/npde.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/pcir.h (renamed from nvkm/include/subdev/bios/pcir.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/perf.h (renamed from nvkm/include/subdev/bios/perf.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/pll.h (renamed from nvkm/include/subdev/bios/pll.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/pmu.h (renamed from nvkm/include/subdev/bios/pmu.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/ramcfg.h (renamed from nvkm/include/subdev/bios/ramcfg.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/rammap.h (renamed from nvkm/include/subdev/bios/rammap.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/therm.h (renamed from nvkm/include/subdev/bios/therm.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/timing.h (renamed from nvkm/include/subdev/bios/timing.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/vmap.h (renamed from nvkm/include/subdev/bios/vmap.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/volt.h (renamed from nvkm/include/subdev/bios/volt.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bios/xpio.h (renamed from nvkm/include/subdev/bios/xpio.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/bus.h (renamed from nvkm/include/subdev/bus.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/clock.h (renamed from nvkm/include/subdev/clock.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/devinit.h (renamed from nvkm/include/subdev/devinit.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/fb.h (renamed from nvkm/include/subdev/fb.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/fuse.h (renamed from nvkm/include/subdev/fuse.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/gpio.h (renamed from nvkm/include/subdev/gpio.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/i2c.h (renamed from nvkm/include/subdev/i2c.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/ibus.h (renamed from nvkm/include/subdev/ibus.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/instmem.h (renamed from nvkm/include/subdev/instmem.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/ltc.h (renamed from nvkm/include/subdev/ltc.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/mc.h (renamed from nvkm/include/subdev/mc.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/mxm.h (renamed from nvkm/include/subdev/mxm.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/pwr.h (renamed from nvkm/include/subdev/pwr.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/therm.h (renamed from nvkm/include/subdev/therm.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/timer.h (renamed from nvkm/include/subdev/timer.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/vga.h (renamed from nvkm/include/subdev/vga.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/vm.h (renamed from nvkm/include/subdev/vm.h)0
-rw-r--r--drm/nouveau/include/nvkm/subdev/volt.h (renamed from nvkm/include/subdev/volt.h)0
-rw-r--r--drm/nouveau/include/uapi/drm/nouveau_drm.h (renamed from drm/uapi/drm/nouveau_drm.h)0
-rw-r--r--drm/nouveau/nouveau_abi16.c (renamed from drm/nouveau_abi16.c)0
-rw-r--r--drm/nouveau/nouveau_abi16.h (renamed from drm/nouveau_abi16.h)0
-rw-r--r--drm/nouveau/nouveau_acpi.c (renamed from drm/nouveau_acpi.c)0
-rw-r--r--drm/nouveau/nouveau_acpi.h (renamed from drm/nouveau_acpi.h)0
-rw-r--r--drm/nouveau/nouveau_agp.c (renamed from drm/nouveau_agp.c)0
-rw-r--r--drm/nouveau/nouveau_agp.h (renamed from drm/nouveau_agp.h)0
-rw-r--r--drm/nouveau/nouveau_backlight.c (renamed from drm/nouveau_backlight.c)0
-rw-r--r--drm/nouveau/nouveau_bios.c (renamed from drm/nouveau_bios.c)0
-rw-r--r--drm/nouveau/nouveau_bios.h (renamed from drm/nouveau_bios.h)0
-rw-r--r--drm/nouveau/nouveau_bo.c (renamed from drm/nouveau_bo.c)0
-rw-r--r--drm/nouveau/nouveau_bo.h (renamed from drm/nouveau_bo.h)0
-rw-r--r--drm/nouveau/nouveau_chan.c (renamed from drm/nouveau_chan.c)0
-rw-r--r--drm/nouveau/nouveau_chan.h (renamed from drm/nouveau_chan.h)0
-rw-r--r--drm/nouveau/nouveau_connector.c (renamed from drm/nouveau_connector.c)0
-rw-r--r--drm/nouveau/nouveau_connector.h (renamed from drm/nouveau_connector.h)0
-rw-r--r--drm/nouveau/nouveau_crtc.h (renamed from drm/nouveau_crtc.h)0
-rw-r--r--drm/nouveau/nouveau_debugfs.c (renamed from drm/nouveau_debugfs.c)0
-rw-r--r--drm/nouveau/nouveau_debugfs.h (renamed from drm/nouveau_debugfs.h)0
-rw-r--r--drm/nouveau/nouveau_display.c (renamed from drm/nouveau_display.c)0
-rw-r--r--drm/nouveau/nouveau_display.h (renamed from drm/nouveau_display.h)0
-rw-r--r--drm/nouveau/nouveau_dma.c (renamed from drm/nouveau_dma.c)0
-rw-r--r--drm/nouveau/nouveau_dma.h (renamed from drm/nouveau_dma.h)0
-rw-r--r--drm/nouveau/nouveau_dp.c (renamed from drm/nouveau_dp.c)0
-rw-r--r--drm/nouveau/nouveau_drm.c (renamed from drm/nouveau_drm.c)0
-rw-r--r--drm/nouveau/nouveau_drm.h (renamed from drm/nouveau_drm.h)0
-rw-r--r--drm/nouveau/nouveau_encoder.h (renamed from drm/nouveau_encoder.h)0
-rw-r--r--drm/nouveau/nouveau_fbcon.c (renamed from drm/nouveau_fbcon.c)0
-rw-r--r--drm/nouveau/nouveau_fbcon.h (renamed from drm/nouveau_fbcon.h)0
-rw-r--r--drm/nouveau/nouveau_fence.c (renamed from drm/nouveau_fence.c)0
-rw-r--r--drm/nouveau/nouveau_fence.h (renamed from drm/nouveau_fence.h)0
-rw-r--r--drm/nouveau/nouveau_gem.c (renamed from drm/nouveau_gem.c)0
-rw-r--r--drm/nouveau/nouveau_gem.h (renamed from drm/nouveau_gem.h)0
-rw-r--r--drm/nouveau/nouveau_hwmon.c (renamed from drm/nouveau_hwmon.c)0
-rw-r--r--drm/nouveau/nouveau_hwmon.h (renamed from drm/nouveau_hwmon.h)0
-rw-r--r--drm/nouveau/nouveau_ioc32.c (renamed from drm/nouveau_ioc32.c)0
-rw-r--r--drm/nouveau/nouveau_ioctl.h (renamed from drm/nouveau_ioctl.h)0
-rw-r--r--drm/nouveau/nouveau_nvif.c (renamed from drm/nouveau_nvif.c)0
-rw-r--r--drm/nouveau/nouveau_platform.c (renamed from drm/nouveau_platform.c)0
-rw-r--r--drm/nouveau/nouveau_platform.h (renamed from drm/nouveau_platform.h)0
-rw-r--r--drm/nouveau/nouveau_prime.c (renamed from drm/nouveau_prime.c)0
-rw-r--r--drm/nouveau/nouveau_reg.h (renamed from drm/nouveau_reg.h)0
-rw-r--r--drm/nouveau/nouveau_sgdma.c (renamed from drm/nouveau_sgdma.c)0
-rw-r--r--drm/nouveau/nouveau_sysfs.c (renamed from drm/nouveau_sysfs.c)0
-rw-r--r--drm/nouveau/nouveau_sysfs.h (renamed from drm/nouveau_sysfs.h)0
-rw-r--r--drm/nouveau/nouveau_ttm.c (renamed from drm/nouveau_ttm.c)2
-rw-r--r--drm/nouveau/nouveau_ttm.h (renamed from drm/nouveau_ttm.h)0
-rw-r--r--drm/nouveau/nouveau_usif.c (renamed from drm/nouveau_usif.c)0
-rw-r--r--drm/nouveau/nouveau_usif.h (renamed from drm/nouveau_usif.h)0
-rw-r--r--drm/nouveau/nouveau_vga.c (renamed from drm/nouveau_vga.c)0
-rw-r--r--drm/nouveau/nouveau_vga.h (renamed from drm/nouveau_vga.h)0
-rw-r--r--drm/nouveau/nv04_fbcon.c (renamed from drm/nv04_fbcon.c)0
-rw-r--r--drm/nouveau/nv04_fence.c (renamed from drm/nv04_fence.c)0
-rw-r--r--drm/nouveau/nv10_fence.c (renamed from drm/nv10_fence.c)0
-rw-r--r--drm/nouveau/nv10_fence.h (renamed from drm/nv10_fence.h)0
-rw-r--r--drm/nouveau/nv17_fence.c (renamed from drm/nv17_fence.c)0
-rw-r--r--drm/nouveau/nv50_display.c (renamed from drm/nv50_display.c)0
-rw-r--r--drm/nouveau/nv50_display.h (renamed from drm/nv50_display.h)0
-rw-r--r--drm/nouveau/nv50_fbcon.c (renamed from drm/nv50_fbcon.c)0
-rw-r--r--drm/nouveau/nv50_fence.c (renamed from drm/nv50_fence.c)0
-rw-r--r--drm/nouveau/nv84_fence.c (renamed from drm/nv84_fence.c)0
-rw-r--r--drm/nouveau/nvc0_fbcon.c (renamed from drm/nvc0_fbcon.c)0
-rw-r--r--drm/nouveau/nvc0_fence.c (renamed from drm/nvc0_fence.c)0
-rw-r--r--drm/nouveau/nvif/Kbuild4
-rw-r--r--drm/nouveau/nvif/client.c (renamed from nvif/client.c)6
-rw-r--r--drm/nouveau/nvif/device.c (renamed from nvif/device.c)2
-rw-r--r--drm/nouveau/nvif/notify.c (renamed from nvif/notify.c)0
-rw-r--r--drm/nouveau/nvif/object.c (renamed from nvif/object.c)8
-rw-r--r--drm/nouveau/nvkm/Kbuild3
-rw-r--r--drm/nouveau/nvkm/core/Kbuild17
-rw-r--r--drm/nouveau/nvkm/core/client.c (renamed from nvkm/core/client.c)0
-rw-r--r--drm/nouveau/nvkm/core/engctx.c (renamed from nvkm/core/engctx.c)0
-rw-r--r--drm/nouveau/nvkm/core/engine.c (renamed from nvkm/core/engine.c)0
-rw-r--r--drm/nouveau/nvkm/core/enum.c (renamed from nvkm/core/enum.c)0
-rw-r--r--drm/nouveau/nvkm/core/event.c (renamed from nvkm/core/event.c)0
-rw-r--r--drm/nouveau/nvkm/core/gpuobj.c (renamed from nvkm/core/gpuobj.c)0
-rw-r--r--drm/nouveau/nvkm/core/handle.c (renamed from nvkm/core/handle.c)0
-rw-r--r--drm/nouveau/nvkm/core/ioctl.c (renamed from nvkm/core/ioctl.c)0
-rw-r--r--drm/nouveau/nvkm/core/mm.c (renamed from nvkm/core/mm.c)0
-rw-r--r--drm/nouveau/nvkm/core/namedb.c (renamed from nvkm/core/namedb.c)0
-rw-r--r--drm/nouveau/nvkm/core/notify.c (renamed from nvkm/core/notify.c)0
-rw-r--r--drm/nouveau/nvkm/core/object.c (renamed from nvkm/core/object.c)0
-rw-r--r--drm/nouveau/nvkm/core/option.c (renamed from nvkm/core/option.c)0
-rw-r--r--drm/nouveau/nvkm/core/parent.c (renamed from nvkm/core/parent.c)0
-rw-r--r--drm/nouveau/nvkm/core/printk.c (renamed from nvkm/core/printk.c)0
-rw-r--r--drm/nouveau/nvkm/core/ramht.c (renamed from nvkm/core/ramht.c)0
-rw-r--r--drm/nouveau/nvkm/core/subdev.c (renamed from nvkm/core/subdev.c)0
-rw-r--r--drm/nouveau/nvkm/engine/Kbuild16
-rw-r--r--drm/nouveau/nvkm/engine/bsp/Kbuild4
-rw-r--r--drm/nouveau/nvkm/engine/bsp/nv84.c (renamed from nvkm/engine/bsp/nv84.c)0
-rw-r--r--drm/nouveau/nvkm/engine/bsp/nv98.c (renamed from nvkm/engine/bsp/nv98.c)0
-rw-r--r--drm/nouveau/nvkm/engine/bsp/nvc0.c (renamed from nvkm/engine/bsp/nvc0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/bsp/nve0.c (renamed from nvkm/engine/bsp/nve0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/copy/Kbuild3
-rw-r--r--drm/nouveau/nvkm/engine/copy/fuc/com.fuc (renamed from nvkm/engine/copy/fuc/nva3.fuc)41
-rw-r--r--drm/nouveau/nvkm/engine/copy/fuc/nva3.fuc32
-rw-r--r--drm/nouveau/nvkm/engine/copy/fuc/nva3.fuc3.h (renamed from nvkm/engine/copy/fuc/nva3.fuc.h)0
-rw-r--r--drm/nouveau/nvkm/engine/copy/fuc/nvc0.fuc32
-rw-r--r--drm/nouveau/nvkm/engine/copy/fuc/nvc0.fuc3.h (renamed from nvkm/engine/copy/fuc/nvc0.fuc.h)0
-rw-r--r--drm/nouveau/nvkm/engine/copy/nva3.c (renamed from nvkm/engine/copy/nva3.c)2
-rw-r--r--drm/nouveau/nvkm/engine/copy/nvc0.c (renamed from nvkm/engine/copy/nvc0.c)2
-rw-r--r--drm/nouveau/nvkm/engine/copy/nve0.c (renamed from nvkm/engine/copy/nve0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/crypt/Kbuild2
-rw-r--r--drm/nouveau/nvkm/engine/crypt/fuc/nv98.fuc0s (renamed from nvkm/engine/crypt/fuc/nv98.fuc)0
-rw-r--r--drm/nouveau/nvkm/engine/crypt/fuc/nv98.fuc0s.h (renamed from nvkm/engine/crypt/fuc/nv98.fuc.h)0
-rw-r--r--drm/nouveau/nvkm/engine/crypt/nv84.c (renamed from nvkm/engine/crypt/nv84.c)0
-rw-r--r--drm/nouveau/nvkm/engine/crypt/nv98.c (renamed from nvkm/engine/crypt/nv98.c)2
-rw-r--r--drm/nouveau/nvkm/engine/device/Kbuild12
-rw-r--r--drm/nouveau/nvkm/engine/device/acpi.c (renamed from nvkm/engine/device/acpi.c)0
-rw-r--r--drm/nouveau/nvkm/engine/device/acpi.h (renamed from nvkm/engine/device/acpi.h)0
-rw-r--r--drm/nouveau/nvkm/engine/device/base.c (renamed from nvkm/engine/device/base.c)0
-rw-r--r--drm/nouveau/nvkm/engine/device/ctrl.c (renamed from nvkm/engine/device/ctrl.c)0
-rw-r--r--drm/nouveau/nvkm/engine/device/gm100.c (renamed from nvkm/engine/device/gm100.c)0
-rw-r--r--drm/nouveau/nvkm/engine/device/nv04.c (renamed from nvkm/engine/device/nv04.c)0
-rw-r--r--drm/nouveau/nvkm/engine/device/nv10.c (renamed from nvkm/engine/device/nv10.c)0
-rw-r--r--drm/nouveau/nvkm/engine/device/nv20.c (renamed from nvkm/engine/device/nv20.c)0
-rw-r--r--drm/nouveau/nvkm/engine/device/nv30.c (renamed from nvkm/engine/device/nv30.c)0
-rw-r--r--drm/nouveau/nvkm/engine/device/nv40.c (renamed from nvkm/engine/device/nv40.c)0
-rw-r--r--drm/nouveau/nvkm/engine/device/nv50.c (renamed from nvkm/engine/device/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/engine/device/nvc0.c (renamed from nvkm/engine/device/nvc0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/device/nve0.c (renamed from nvkm/engine/device/nve0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/device/priv.h (renamed from nvkm/engine/device/priv.h)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/Kbuild29
-rw-r--r--drm/nouveau/nvkm/engine/disp/base.c (renamed from nvkm/engine/disp/base.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/conn.c (renamed from nvkm/engine/disp/conn.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/conn.h (renamed from nvkm/engine/disp/conn.h)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/dacnv50.c (renamed from nvkm/engine/disp/dacnv50.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/dport.c (renamed from nvkm/engine/disp/dport.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/dport.h (renamed from nvkm/engine/disp/dport.h)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/gm107.c (renamed from nvkm/engine/disp/gm107.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/gm204.c (renamed from nvkm/engine/disp/gm204.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/hdanva3.c (renamed from nvkm/engine/disp/hdanva3.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/hdanvd0.c (renamed from nvkm/engine/disp/hdanvd0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/hdminv84.c (renamed from nvkm/engine/disp/hdminv84.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/hdminva3.c (renamed from nvkm/engine/disp/hdminva3.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/hdminvd0.c (renamed from nvkm/engine/disp/hdminvd0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/hdminve0.c (renamed from nvkm/engine/disp/hdminve0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/nv04.c (renamed from nvkm/engine/disp/nv04.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/nv50.c (renamed from nvkm/engine/disp/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/nv50.h (renamed from nvkm/engine/disp/nv50.h)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/nv84.c (renamed from nvkm/engine/disp/nv84.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/nv94.c (renamed from nvkm/engine/disp/nv94.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/nva0.c (renamed from nvkm/engine/disp/nva0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/nva3.c (renamed from nvkm/engine/disp/nva3.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/nvd0.c (renamed from nvkm/engine/disp/nvd0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/nve0.c (renamed from nvkm/engine/disp/nve0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/nvf0.c (renamed from nvkm/engine/disp/nvf0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/outp.c (renamed from nvkm/engine/disp/outp.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/outp.h (renamed from nvkm/engine/disp/outp.h)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/outpdp.c (renamed from nvkm/engine/disp/outpdp.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/outpdp.h (renamed from nvkm/engine/disp/outpdp.h)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/piornv50.c (renamed from nvkm/engine/disp/piornv50.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/priv.h (renamed from nvkm/engine/disp/priv.h)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/sorgm204.c (renamed from nvkm/engine/disp/sorgm204.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/sornv50.c (renamed from nvkm/engine/disp/sornv50.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/sornv94.c (renamed from nvkm/engine/disp/sornv94.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/sornvd0.c (renamed from nvkm/engine/disp/sornvd0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/disp/vga.c (renamed from nvkm/engine/disp/vga.c)0
-rw-r--r--drm/nouveau/nvkm/engine/dmaobj/Kbuild5
-rw-r--r--drm/nouveau/nvkm/engine/dmaobj/base.c (renamed from nvkm/engine/dmaobj/base.c)0
-rw-r--r--drm/nouveau/nvkm/engine/dmaobj/nv04.c (renamed from nvkm/engine/dmaobj/nv04.c)0
-rw-r--r--drm/nouveau/nvkm/engine/dmaobj/nv50.c (renamed from nvkm/engine/dmaobj/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/engine/dmaobj/nvc0.c (renamed from nvkm/engine/dmaobj/nvc0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/dmaobj/nvd0.c (renamed from nvkm/engine/dmaobj/nvd0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/dmaobj/priv.h (renamed from nvkm/engine/dmaobj/priv.h)0
-rw-r--r--drm/nouveau/nvkm/engine/falcon.c (renamed from nvkm/engine/falcon.c)0
-rw-r--r--drm/nouveau/nvkm/engine/fifo/Kbuild11
-rw-r--r--drm/nouveau/nvkm/engine/fifo/base.c (renamed from nvkm/engine/fifo/base.c)0
-rw-r--r--drm/nouveau/nvkm/engine/fifo/gk20a.c (renamed from nvkm/engine/fifo/gk20a.c)0
-rw-r--r--drm/nouveau/nvkm/engine/fifo/nv04.c (renamed from nvkm/engine/fifo/nv04.c)0
-rw-r--r--drm/nouveau/nvkm/engine/fifo/nv04.h (renamed from nvkm/engine/fifo/nv04.h)0
-rw-r--r--drm/nouveau/nvkm/engine/fifo/nv10.c (renamed from nvkm/engine/fifo/nv10.c)0
-rw-r--r--drm/nouveau/nvkm/engine/fifo/nv108.c (renamed from nvkm/engine/fifo/nv108.c)0
-rw-r--r--drm/nouveau/nvkm/engine/fifo/nv17.c (renamed from nvkm/engine/fifo/nv17.c)0
-rw-r--r--drm/nouveau/nvkm/engine/fifo/nv40.c (renamed from nvkm/engine/fifo/nv40.c)0
-rw-r--r--drm/nouveau/nvkm/engine/fifo/nv50.c (renamed from nvkm/engine/fifo/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/engine/fifo/nv50.h (renamed from nvkm/engine/fifo/nv50.h)0
-rw-r--r--drm/nouveau/nvkm/engine/fifo/nv84.c (renamed from nvkm/engine/fifo/nv84.c)0
-rw-r--r--drm/nouveau/nvkm/engine/fifo/nvc0.c (renamed from nvkm/engine/fifo/nvc0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/fifo/nve0.c (renamed from nvkm/engine/fifo/nve0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/fifo/nve0.h (renamed from nvkm/engine/fifo/nve0.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/Kbuild36
-rw-r--r--drm/nouveau/nvkm/engine/graph/ctx.h (renamed from nvkm/engine/graph/ctx.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/ctxgk110b.c (renamed from nvkm/engine/graph/ctxgk110b.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/ctxgk20a.c (renamed from nvkm/engine/graph/ctxgk20a.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/ctxgm107.c (renamed from nvkm/engine/graph/ctxgm107.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/ctxnv108.c (renamed from nvkm/engine/graph/ctxnv108.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/ctxnv40.c (renamed from nvkm/engine/graph/ctxnv40.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/ctxnv50.c (renamed from nvkm/engine/graph/ctxnv50.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/ctxnvc0.c (renamed from nvkm/engine/graph/ctxnvc0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/ctxnvc0.h (renamed from nvkm/engine/graph/ctxnvc0.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/ctxnvc1.c (renamed from nvkm/engine/graph/ctxnvc1.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/ctxnvc4.c (renamed from nvkm/engine/graph/ctxnvc4.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/ctxnvc8.c (renamed from nvkm/engine/graph/ctxnvc8.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/ctxnvd7.c (renamed from nvkm/engine/graph/ctxnvd7.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/ctxnvd9.c (renamed from nvkm/engine/graph/ctxnvd9.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/ctxnve4.c (renamed from nvkm/engine/graph/ctxnve4.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/ctxnvf0.c (renamed from nvkm/engine/graph/ctxnvf0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/com.fuc (renamed from nvkm/engine/graph/fuc/com.fuc)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/gpc.fuc (renamed from nvkm/engine/graph/fuc/gpc.fuc)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/gpcgm107.fuc5 (renamed from nvkm/engine/graph/fuc/gpcgm107.fuc5)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/gpcgm107.fuc5.h (renamed from nvkm/engine/graph/fuc/gpcgm107.fuc5.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/gpcnv108.fuc5 (renamed from nvkm/engine/graph/fuc/gpcnv108.fuc5)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/gpcnv108.fuc5.h (renamed from nvkm/engine/graph/fuc/gpcnv108.fuc5.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/gpcnvc0.fuc3 (renamed from nvkm/engine/graph/fuc/gpcnvc0.fuc)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/gpcnvc0.fuc3.h (renamed from nvkm/engine/graph/fuc/gpcnvc0.fuc.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/gpcnvd7.fuc3 (renamed from nvkm/engine/graph/fuc/gpcnvd7.fuc)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/gpcnvd7.fuc3.h (renamed from nvkm/engine/graph/fuc/gpcnvd7.fuc.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/gpcnve0.fuc3 (renamed from nvkm/engine/graph/fuc/gpcnve0.fuc)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/gpcnve0.fuc3.h (renamed from nvkm/engine/graph/fuc/gpcnve0.fuc.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/gpcnvf0.fuc3 (renamed from nvkm/engine/graph/fuc/gpcnvf0.fuc)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/gpcnvf0.fuc3.h (renamed from nvkm/engine/graph/fuc/gpcnvf0.fuc.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/hub.fuc (renamed from nvkm/engine/graph/fuc/hub.fuc)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/hubgm107.fuc5 (renamed from nvkm/engine/graph/fuc/hubgm107.fuc5)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/hubgm107.fuc5.h (renamed from nvkm/engine/graph/fuc/hubgm107.fuc5.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/hubnv108.fuc5 (renamed from nvkm/engine/graph/fuc/hubnv108.fuc5)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/hubnv108.fuc5.h (renamed from nvkm/engine/graph/fuc/hubnv108.fuc5.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/hubnvc0.fuc3 (renamed from nvkm/engine/graph/fuc/hubnvc0.fuc)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/hubnvc0.fuc3.h (renamed from nvkm/engine/graph/fuc/hubnvc0.fuc.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/hubnvd7.fuc3 (renamed from nvkm/engine/graph/fuc/hubnvd7.fuc)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/hubnvd7.fuc3.h (renamed from nvkm/engine/graph/fuc/hubnvd7.fuc.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/hubnve0.fuc3 (renamed from nvkm/engine/graph/fuc/hubnve0.fuc)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/hubnve0.fuc3.h (renamed from nvkm/engine/graph/fuc/hubnve0.fuc.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/hubnvf0.fuc3 (renamed from nvkm/engine/graph/fuc/hubnvf0.fuc)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/hubnvf0.fuc3.h (renamed from nvkm/engine/graph/fuc/hubnvf0.fuc.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/macros.fuc (renamed from nvkm/engine/graph/fuc/macros.fuc)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/fuc/os.h (renamed from nvkm/engine/graph/fuc/os.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/gk110b.c (renamed from nvkm/engine/graph/gk110b.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/gk20a.c (renamed from nvkm/engine/graph/gk20a.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/gm107.c (renamed from nvkm/engine/graph/gm107.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nv04.c (renamed from nvkm/engine/graph/nv04.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nv10.c (renamed from nvkm/engine/graph/nv10.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nv108.c (renamed from nvkm/engine/graph/nv108.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nv20.c (renamed from nvkm/engine/graph/nv20.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nv20.h (renamed from nvkm/engine/graph/nv20.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nv25.c (renamed from nvkm/engine/graph/nv25.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nv2a.c (renamed from nvkm/engine/graph/nv2a.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nv30.c (renamed from nvkm/engine/graph/nv30.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nv34.c (renamed from nvkm/engine/graph/nv34.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nv35.c (renamed from nvkm/engine/graph/nv35.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nv40.c (renamed from nvkm/engine/graph/nv40.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nv40.h (renamed from nvkm/engine/graph/nv40.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nv50.c (renamed from nvkm/engine/graph/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nv50.h (renamed from nvkm/engine/graph/nv50.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nvc0.c (renamed from nvkm/engine/graph/nvc0.c)4
-rw-r--r--drm/nouveau/nvkm/engine/graph/nvc0.h (renamed from nvkm/engine/graph/nvc0.h)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nvc1.c (renamed from nvkm/engine/graph/nvc1.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nvc4.c (renamed from nvkm/engine/graph/nvc4.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nvc8.c (renamed from nvkm/engine/graph/nvc8.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nvd7.c (renamed from nvkm/engine/graph/nvd7.c)4
-rw-r--r--drm/nouveau/nvkm/engine/graph/nvd9.c (renamed from nvkm/engine/graph/nvd9.c)0
-rw-r--r--drm/nouveau/nvkm/engine/graph/nve4.c (renamed from nvkm/engine/graph/nve4.c)4
-rw-r--r--drm/nouveau/nvkm/engine/graph/nvf0.c (renamed from nvkm/engine/graph/nvf0.c)4
-rw-r--r--drm/nouveau/nvkm/engine/graph/regs.h (renamed from nvkm/engine/graph/regs.h)0
-rw-r--r--drm/nouveau/nvkm/engine/mpeg/Kbuild5
-rw-r--r--drm/nouveau/nvkm/engine/mpeg/nv31.c (renamed from nvkm/engine/mpeg/nv31.c)0
-rw-r--r--drm/nouveau/nvkm/engine/mpeg/nv31.h (renamed from nvkm/engine/mpeg/nv31.h)0
-rw-r--r--drm/nouveau/nvkm/engine/mpeg/nv40.c (renamed from nvkm/engine/mpeg/nv40.c)0
-rw-r--r--drm/nouveau/nvkm/engine/mpeg/nv44.c (renamed from nvkm/engine/mpeg/nv44.c)0
-rw-r--r--drm/nouveau/nvkm/engine/mpeg/nv50.c (renamed from nvkm/engine/mpeg/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/engine/mpeg/nv84.c (renamed from nvkm/engine/mpeg/nv84.c)0
-rw-r--r--drm/nouveau/nvkm/engine/perfmon/Kbuild9
-rw-r--r--drm/nouveau/nvkm/engine/perfmon/base.c (renamed from nvkm/engine/perfmon/base.c)0
-rw-r--r--drm/nouveau/nvkm/engine/perfmon/daemon.c (renamed from nvkm/engine/perfmon/daemon.c)0
-rw-r--r--drm/nouveau/nvkm/engine/perfmon/nv40.c (renamed from nvkm/engine/perfmon/nv40.c)0
-rw-r--r--drm/nouveau/nvkm/engine/perfmon/nv40.h (renamed from nvkm/engine/perfmon/nv40.h)0
-rw-r--r--drm/nouveau/nvkm/engine/perfmon/nv50.c (renamed from nvkm/engine/perfmon/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/engine/perfmon/nv84.c (renamed from nvkm/engine/perfmon/nv84.c)0
-rw-r--r--drm/nouveau/nvkm/engine/perfmon/nva3.c (renamed from nvkm/engine/perfmon/nva3.c)0
-rw-r--r--drm/nouveau/nvkm/engine/perfmon/nvc0.c (renamed from nvkm/engine/perfmon/nvc0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/perfmon/nvc0.h (renamed from nvkm/engine/perfmon/nvc0.h)0
-rw-r--r--drm/nouveau/nvkm/engine/perfmon/nve0.c (renamed from nvkm/engine/perfmon/nve0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/perfmon/nvf0.c (renamed from nvkm/engine/perfmon/nvf0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/perfmon/priv.h (renamed from nvkm/engine/perfmon/priv.h)0
-rw-r--r--drm/nouveau/nvkm/engine/ppp/Kbuild2
-rw-r--r--drm/nouveau/nvkm/engine/ppp/nv98.c (renamed from nvkm/engine/ppp/nv98.c)0
-rw-r--r--drm/nouveau/nvkm/engine/ppp/nvc0.c (renamed from nvkm/engine/ppp/nvc0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/software/Kbuild4
-rw-r--r--drm/nouveau/nvkm/engine/software/nv04.c (renamed from nvkm/engine/software/nv04.c)0
-rw-r--r--drm/nouveau/nvkm/engine/software/nv10.c (renamed from nvkm/engine/software/nv10.c)0
-rw-r--r--drm/nouveau/nvkm/engine/software/nv50.c (renamed from nvkm/engine/software/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/engine/software/nv50.h (renamed from nvkm/engine/software/nv50.h)0
-rw-r--r--drm/nouveau/nvkm/engine/software/nvc0.c (renamed from nvkm/engine/software/nvc0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/vp/Kbuild4
-rw-r--r--drm/nouveau/nvkm/engine/vp/nv84.c (renamed from nvkm/engine/vp/nv84.c)0
-rw-r--r--drm/nouveau/nvkm/engine/vp/nv98.c (renamed from nvkm/engine/vp/nv98.c)0
-rw-r--r--drm/nouveau/nvkm/engine/vp/nvc0.c (renamed from nvkm/engine/vp/nvc0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/vp/nve0.c (renamed from nvkm/engine/vp/nve0.c)0
-rw-r--r--drm/nouveau/nvkm/engine/xtensa.c (renamed from nvkm/engine/xtensa.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/Kbuild19
-rw-r--r--drm/nouveau/nvkm/subdev/bar/Kbuild4
-rw-r--r--drm/nouveau/nvkm/subdev/bar/base.c (renamed from nvkm/subdev/bar/base.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bar/gk20a.c (renamed from nvkm/subdev/bar/gk20a.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bar/nv50.c (renamed from nvkm/subdev/bar/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bar/nvc0.c (renamed from nvkm/subdev/bar/nvc0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bar/priv.h (renamed from nvkm/subdev/bar/priv.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/Kbuild37
-rw-r--r--drm/nouveau/nvkm/subdev/bios/M0203.c (renamed from nvkm/subdev/bios/M0203.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/M0205.c (renamed from nvkm/subdev/bios/M0205.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/M0209.c (renamed from nvkm/subdev/bios/M0209.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/P0260.c (renamed from nvkm/subdev/bios/P0260.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/base.c (renamed from nvkm/subdev/bios/base.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/bit.c (renamed from nvkm/subdev/bios/bit.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/boost.c (renamed from nvkm/subdev/bios/boost.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/conn.c (renamed from nvkm/subdev/bios/conn.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/cstep.c (renamed from nvkm/subdev/bios/cstep.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/dcb.c (renamed from nvkm/subdev/bios/dcb.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/disp.c (renamed from nvkm/subdev/bios/disp.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/dp.c (renamed from nvkm/subdev/bios/dp.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/extdev.c (renamed from nvkm/subdev/bios/extdev.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/fan.c (renamed from nvkm/subdev/bios/fan.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/gpio.c (renamed from nvkm/subdev/bios/gpio.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/i2c.c (renamed from nvkm/subdev/bios/i2c.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/image.c (renamed from nvkm/subdev/bios/image.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/init.c (renamed from nvkm/subdev/bios/init.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/mxm.c (renamed from nvkm/subdev/bios/mxm.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/npde.c (renamed from nvkm/subdev/bios/npde.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/pcir.c (renamed from nvkm/subdev/bios/pcir.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/perf.c (renamed from nvkm/subdev/bios/perf.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/pll.c (renamed from nvkm/subdev/bios/pll.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/pmu.c (renamed from nvkm/subdev/bios/pmu.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/priv.h (renamed from nvkm/subdev/bios/priv.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/ramcfg.c (renamed from nvkm/subdev/bios/ramcfg.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/rammap.c (renamed from nvkm/subdev/bios/rammap.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/shadow.c (renamed from nvkm/subdev/bios/shadow.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/shadowacpi.c (renamed from nvkm/subdev/bios/shadowacpi.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/shadowof.c (renamed from nvkm/subdev/bios/shadowof.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/shadowpci.c (renamed from nvkm/subdev/bios/shadowpci.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/shadowramin.c (renamed from nvkm/subdev/bios/shadowramin.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/shadowrom.c (renamed from nvkm/subdev/bios/shadowrom.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/therm.c (renamed from nvkm/subdev/bios/therm.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/timing.c (renamed from nvkm/subdev/bios/timing.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/vmap.c (renamed from nvkm/subdev/bios/vmap.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/volt.c (renamed from nvkm/subdev/bios/volt.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bios/xpio.c (renamed from nvkm/subdev/bios/xpio.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bus/Kbuild6
-rw-r--r--drm/nouveau/nvkm/subdev/bus/hwsq.c (renamed from nvkm/subdev/bus/hwsq.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bus/hwsq.h (renamed from nvkm/subdev/bus/hwsq.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/bus/nv04.c (renamed from nvkm/subdev/bus/nv04.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bus/nv04.h (renamed from nvkm/subdev/bus/nv04.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/bus/nv31.c (renamed from nvkm/subdev/bus/nv31.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bus/nv50.c (renamed from nvkm/subdev/bus/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bus/nv94.c (renamed from nvkm/subdev/bus/nv94.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/bus/nvc0.c (renamed from nvkm/subdev/bus/nvc0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/clock/Kbuild12
-rw-r--r--drm/nouveau/nvkm/subdev/clock/base.c (renamed from nvkm/subdev/clock/base.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/clock/gk20a.c (renamed from nvkm/subdev/clock/gk20a.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/clock/nv04.c (renamed from nvkm/subdev/clock/nv04.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/clock/nv40.c (renamed from nvkm/subdev/clock/nv40.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/clock/nv50.c (renamed from nvkm/subdev/clock/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/clock/nv50.h (renamed from nvkm/subdev/clock/nv50.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/clock/nv84.c (renamed from nvkm/subdev/clock/nv84.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/clock/nva3.c (renamed from nvkm/subdev/clock/nva3.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/clock/nva3.h (renamed from nvkm/subdev/clock/nva3.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/clock/nvaa.c (renamed from nvkm/subdev/clock/nvaa.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/clock/nvc0.c (renamed from nvkm/subdev/clock/nvc0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/clock/nve0.c (renamed from nvkm/subdev/clock/nve0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/clock/pll.h (renamed from nvkm/subdev/clock/pll.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/clock/pllnv04.c (renamed from nvkm/subdev/clock/pllnv04.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/clock/pllnva3.c (renamed from nvkm/subdev/clock/pllnva3.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/clock/seq.h (renamed from nvkm/subdev/clock/seq.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/Kbuild14
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/base.c (renamed from nvkm/subdev/devinit/base.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/fbmem.h (renamed from nvkm/subdev/devinit/fbmem.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/gm107.c (renamed from nvkm/subdev/devinit/gm107.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/gm204.c (renamed from nvkm/subdev/devinit/gm204.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/nv04.c (renamed from nvkm/subdev/devinit/nv04.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/nv04.h (renamed from nvkm/subdev/devinit/nv04.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/nv05.c (renamed from nvkm/subdev/devinit/nv05.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/nv10.c (renamed from nvkm/subdev/devinit/nv10.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/nv1a.c (renamed from nvkm/subdev/devinit/nv1a.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/nv20.c (renamed from nvkm/subdev/devinit/nv20.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/nv50.c (renamed from nvkm/subdev/devinit/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/nv50.h (renamed from nvkm/subdev/devinit/nv50.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/nv84.c (renamed from nvkm/subdev/devinit/nv84.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/nv98.c (renamed from nvkm/subdev/devinit/nv98.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/nva3.c (renamed from nvkm/subdev/devinit/nva3.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/nvaf.c (renamed from nvkm/subdev/devinit/nvaf.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/nvc0.c (renamed from nvkm/subdev/devinit/nvc0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/devinit/priv.h (renamed from nvkm/subdev/devinit/priv.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/Kbuild45
-rw-r--r--drm/nouveau/nvkm/subdev/fb/base.c (renamed from nvkm/subdev/fb/base.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/gddr3.c (renamed from nvkm/subdev/fb/gddr3.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/gddr5.c (renamed from nvkm/subdev/fb/gddr5.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/gk20a.c (renamed from nvkm/subdev/fb/gk20a.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/gm107.c (renamed from nvkm/subdev/fb/gm107.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv04.c (renamed from nvkm/subdev/fb/nv04.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv04.h (renamed from nvkm/subdev/fb/nv04.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv10.c (renamed from nvkm/subdev/fb/nv10.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv1a.c (renamed from nvkm/subdev/fb/nv1a.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv20.c (renamed from nvkm/subdev/fb/nv20.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv25.c (renamed from nvkm/subdev/fb/nv25.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv30.c (renamed from nvkm/subdev/fb/nv30.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv35.c (renamed from nvkm/subdev/fb/nv35.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv36.c (renamed from nvkm/subdev/fb/nv36.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv40.c (renamed from nvkm/subdev/fb/nv40.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv40.h (renamed from nvkm/subdev/fb/nv40.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv41.c (renamed from nvkm/subdev/fb/nv41.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv44.c (renamed from nvkm/subdev/fb/nv44.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv46.c (renamed from nvkm/subdev/fb/nv46.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv47.c (renamed from nvkm/subdev/fb/nv47.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv49.c (renamed from nvkm/subdev/fb/nv49.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv4e.c (renamed from nvkm/subdev/fb/nv4e.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv50.c (renamed from nvkm/subdev/fb/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv50.h (renamed from nvkm/subdev/fb/nv50.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nv84.c (renamed from nvkm/subdev/fb/nv84.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nva3.c (renamed from nvkm/subdev/fb/nva3.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nvaa.c (renamed from nvkm/subdev/fb/nvaa.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nvaf.c (renamed from nvkm/subdev/fb/nvaf.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nvc0.c (renamed from nvkm/subdev/fb/nvc0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nvc0.h (renamed from nvkm/subdev/fb/nvc0.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/nve0.c (renamed from nvkm/subdev/fb/nve0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/priv.h (renamed from nvkm/subdev/fb/priv.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramfuc.h (renamed from nvkm/subdev/fb/ramfuc.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramgk20a.c (renamed from nvkm/subdev/fb/ramgk20a.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramgm107.c (renamed from nvkm/subdev/fb/ramgm107.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramnv04.c (renamed from nvkm/subdev/fb/ramnv04.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramnv10.c (renamed from nvkm/subdev/fb/ramnv10.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramnv1a.c (renamed from nvkm/subdev/fb/ramnv1a.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramnv20.c (renamed from nvkm/subdev/fb/ramnv20.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramnv40.c (renamed from nvkm/subdev/fb/ramnv40.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramnv41.c (renamed from nvkm/subdev/fb/ramnv41.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramnv44.c (renamed from nvkm/subdev/fb/ramnv44.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramnv49.c (renamed from nvkm/subdev/fb/ramnv49.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramnv4e.c (renamed from nvkm/subdev/fb/ramnv4e.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramnv50.c (renamed from nvkm/subdev/fb/ramnv50.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramnva3.c (renamed from nvkm/subdev/fb/ramnva3.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramnvaa.c (renamed from nvkm/subdev/fb/ramnvaa.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramnvc0.c (renamed from nvkm/subdev/fb/ramnvc0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramnve0.c (renamed from nvkm/subdev/fb/ramnve0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/ramseq.h (renamed from nvkm/subdev/fb/ramseq.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/regsnv04.h (renamed from nvkm/include/subdev/fb/regsnv04.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/sddr2.c (renamed from nvkm/subdev/fb/sddr2.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fb/sddr3.c (renamed from nvkm/subdev/fb/sddr3.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fuse/Kbuild4
-rw-r--r--drm/nouveau/nvkm/subdev/fuse/base.c (renamed from nvkm/subdev/fuse/base.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fuse/g80.c (renamed from nvkm/subdev/fuse/g80.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fuse/gf100.c (renamed from nvkm/subdev/fuse/gf100.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fuse/gm107.c (renamed from nvkm/subdev/fuse/gm107.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/fuse/priv.h (renamed from nvkm/subdev/fuse/priv.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/gpio/Kbuild6
-rw-r--r--drm/nouveau/nvkm/subdev/gpio/base.c (renamed from nvkm/subdev/gpio/base.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/gpio/nv10.c (renamed from nvkm/subdev/gpio/nv10.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/gpio/nv50.c (renamed from nvkm/subdev/gpio/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/gpio/nv94.c (renamed from nvkm/subdev/gpio/nv94.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/gpio/nvd0.c (renamed from nvkm/subdev/gpio/nvd0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/gpio/nve0.c (renamed from nvkm/subdev/gpio/nve0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/gpio/priv.h (renamed from nvkm/subdev/gpio/priv.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/Kbuild16
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/anx9805.c (renamed from nvkm/subdev/i2c/anx9805.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/aux.c (renamed from nvkm/subdev/i2c/aux.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/base.c (renamed from nvkm/subdev/i2c/base.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/bit.c (renamed from nvkm/subdev/i2c/bit.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/gf117.c (renamed from nvkm/subdev/i2c/gf117.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/gm204.c (renamed from nvkm/subdev/i2c/gm204.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/nv04.c (renamed from nvkm/subdev/i2c/nv04.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/nv4e.c (renamed from nvkm/subdev/i2c/nv4e.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/nv50.c (renamed from nvkm/subdev/i2c/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/nv50.h (renamed from nvkm/subdev/i2c/nv50.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/nv94.c (renamed from nvkm/subdev/i2c/nv94.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/nvd0.c (renamed from nvkm/subdev/i2c/nvd0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/nve0.c (renamed from nvkm/subdev/i2c/nve0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/pad.c (renamed from nvkm/subdev/i2c/pad.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/pad.h (renamed from nvkm/subdev/i2c/pad.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/padgm204.c (renamed from nvkm/subdev/i2c/padgm204.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/padnv04.c (renamed from nvkm/subdev/i2c/padnv04.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/padnv94.c (renamed from nvkm/subdev/i2c/padnv94.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/port.h (renamed from nvkm/subdev/i2c/port.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/i2c/priv.h (renamed from nvkm/subdev/i2c/priv.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/ibus/Kbuild3
-rw-r--r--drm/nouveau/nvkm/subdev/ibus/gk20a.c (renamed from nvkm/subdev/ibus/gk20a.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/ibus/nvc0.c (renamed from nvkm/subdev/ibus/nvc0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/ibus/nve0.c (renamed from nvkm/subdev/ibus/nve0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/instmem/Kbuild4
-rw-r--r--drm/nouveau/nvkm/subdev/instmem/base.c (renamed from nvkm/subdev/instmem/base.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/instmem/nv04.c (renamed from nvkm/subdev/instmem/nv04.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/instmem/nv04.h (renamed from nvkm/subdev/instmem/nv04.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/instmem/nv40.c (renamed from nvkm/subdev/instmem/nv40.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/instmem/nv50.c (renamed from nvkm/subdev/instmem/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/instmem/priv.h (renamed from nvkm/subdev/instmem/priv.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/ltc/Kbuild4
-rw-r--r--drm/nouveau/nvkm/subdev/ltc/base.c (renamed from nvkm/subdev/ltc/base.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/ltc/gf100.c (renamed from nvkm/subdev/ltc/gf100.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/ltc/gk104.c (renamed from nvkm/subdev/ltc/gk104.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/ltc/gm107.c (renamed from nvkm/subdev/ltc/gm107.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/ltc/priv.h (renamed from nvkm/subdev/ltc/priv.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/mc/Kbuild11
-rw-r--r--drm/nouveau/nvkm/subdev/mc/base.c (renamed from nvkm/subdev/mc/base.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/mc/gk20a.c (renamed from nvkm/subdev/mc/gk20a.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/mc/nv04.c (renamed from nvkm/subdev/mc/nv04.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/mc/nv04.h (renamed from nvkm/subdev/mc/nv04.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/mc/nv40.c (renamed from nvkm/subdev/mc/nv40.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/mc/nv44.c (renamed from nvkm/subdev/mc/nv44.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/mc/nv4c.c (renamed from nvkm/subdev/mc/nv4c.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/mc/nv50.c (renamed from nvkm/subdev/mc/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/mc/nv94.c (renamed from nvkm/subdev/mc/nv94.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/mc/nv98.c (renamed from nvkm/subdev/mc/nv98.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/mc/nvc0.c (renamed from nvkm/subdev/mc/nvc0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/mc/nvc3.c (renamed from nvkm/subdev/mc/nvc3.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/mc/priv.h (renamed from nvkm/subdev/mc/priv.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/mxm/Kbuild3
-rw-r--r--drm/nouveau/nvkm/subdev/mxm/base.c (renamed from nvkm/subdev/mxm/base.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/mxm/mxms.c (renamed from nvkm/subdev/mxm/mxms.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/mxm/mxms.h (renamed from nvkm/subdev/mxm/mxms.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/mxm/nv50.c (renamed from nvkm/subdev/mxm/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/Kbuild8
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/base.c (renamed from nvkm/subdev/pwr/base.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/arith.fuc (renamed from nvkm/subdev/pwr/fuc/arith.fuc)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/host.fuc (renamed from nvkm/subdev/pwr/fuc/host.fuc)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/i2c_.fuc (renamed from nvkm/subdev/pwr/fuc/i2c_.fuc)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/idle.fuc (renamed from nvkm/subdev/pwr/fuc/idle.fuc)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/kernel.fuc (renamed from nvkm/subdev/pwr/fuc/kernel.fuc)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/macros.fuc (renamed from nvkm/subdev/pwr/fuc/macros.fuc)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/memx.fuc (renamed from nvkm/subdev/pwr/fuc/memx.fuc)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/nv108.fuc5 (renamed from nvkm/subdev/pwr/fuc/nv108.fuc)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/nv108.fuc5.h (renamed from nvkm/subdev/pwr/fuc/nv108.fuc.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/nva3.fuc3 (renamed from nvkm/subdev/pwr/fuc/nva3.fuc)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/nva3.fuc3.h (renamed from nvkm/subdev/pwr/fuc/nva3.fuc.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/nvc0.fuc3 (renamed from nvkm/subdev/pwr/fuc/nvc0.fuc)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/nvc0.fuc3.h (renamed from nvkm/subdev/pwr/fuc/nvc0.fuc.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/nvd0.fuc4 (renamed from nvkm/subdev/pwr/fuc/nvd0.fuc)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/nvd0.fuc4.h (renamed from nvkm/subdev/pwr/fuc/nvd0.fuc.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/os.h (renamed from nvkm/subdev/pwr/fuc/os.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/perf.fuc (renamed from nvkm/subdev/pwr/fuc/perf.fuc)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/fuc/test.fuc (renamed from nvkm/subdev/pwr/fuc/test.fuc)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/gk104.c (renamed from nvkm/subdev/pwr/gk104.c)2
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/gk20a.c (renamed from nvkm/subdev/pwr/gk20a.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/memx.c (renamed from nvkm/subdev/pwr/memx.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/nv108.c (renamed from nvkm/subdev/pwr/nv108.c)2
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/nva3.c (renamed from nvkm/subdev/pwr/nva3.c)2
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/nvc0.c (renamed from nvkm/subdev/pwr/nvc0.c)2
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/nvd0.c (renamed from nvkm/subdev/pwr/nvd0.c)2
-rw-r--r--drm/nouveau/nvkm/subdev/pwr/priv.h (renamed from nvkm/subdev/pwr/priv.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/therm/Kbuild13
-rw-r--r--drm/nouveau/nvkm/subdev/therm/base.c (renamed from nvkm/subdev/therm/base.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/therm/fan.c (renamed from nvkm/subdev/therm/fan.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/therm/fannil.c (renamed from nvkm/subdev/therm/fannil.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/therm/fanpwm.c (renamed from nvkm/subdev/therm/fanpwm.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/therm/fantog.c (renamed from nvkm/subdev/therm/fantog.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/therm/gm107.c (renamed from nvkm/subdev/therm/gm107.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/therm/ic.c (renamed from nvkm/subdev/therm/ic.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/therm/nv40.c (renamed from nvkm/subdev/therm/nv40.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/therm/nv50.c (renamed from nvkm/subdev/therm/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/therm/nv84.c (renamed from nvkm/subdev/therm/nv84.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/therm/nva3.c (renamed from nvkm/subdev/therm/nva3.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/therm/nvd0.c (renamed from nvkm/subdev/therm/nvd0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/therm/priv.h (renamed from nvkm/subdev/therm/priv.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/therm/temp.c (renamed from nvkm/subdev/therm/temp.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/timer/Kbuild3
-rw-r--r--drm/nouveau/nvkm/subdev/timer/base.c (renamed from nvkm/subdev/timer/base.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/timer/gk20a.c (renamed from nvkm/subdev/timer/gk20a.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/timer/nv04.c (renamed from nvkm/subdev/timer/nv04.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/timer/nv04.h (renamed from nvkm/subdev/timer/nv04.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/timer/priv.h (renamed from nvkm/subdev/timer/priv.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/vm/Kbuild6
-rw-r--r--drm/nouveau/nvkm/subdev/vm/base.c (renamed from nvkm/subdev/vm/base.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/vm/nv04.c (renamed from nvkm/subdev/vm/nv04.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/vm/nv04.h (renamed from nvkm/subdev/vm/nv04.h)0
-rw-r--r--drm/nouveau/nvkm/subdev/vm/nv41.c (renamed from nvkm/subdev/vm/nv41.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/vm/nv44.c (renamed from nvkm/subdev/vm/nv44.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/vm/nv50.c (renamed from nvkm/subdev/vm/nv50.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/vm/nvc0.c (renamed from nvkm/subdev/vm/nvc0.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/volt/Kbuild4
-rw-r--r--drm/nouveau/nvkm/subdev/volt/base.c (renamed from nvkm/subdev/volt/base.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/volt/gk20a.c (renamed from nvkm/subdev/volt/gk20a.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/volt/gpio.c (renamed from nvkm/subdev/volt/gpio.c)0
-rw-r--r--drm/nouveau/nvkm/subdev/volt/nv40.c (renamed from nvkm/subdev/volt/nv40.c)0
l---------include1
-rw-r--r--lib/.gitignore3
-rw-r--r--lib/Makefile75
-rw-r--r--lib/Makefile.am13
-rw-r--r--lib/drm.c (renamed from lib/kern.c)2
-rw-r--r--lib/include/nvif/list.h (renamed from lib/core/list.h)0
-rw-r--r--lib/include/nvif/os.h (renamed from lib/core/os.h)8
-rw-r--r--m4/.gitignore5
l---------nvif1
-rw-r--r--nvif/Makefile.am12
-rw-r--r--nvif/list.h353
l---------nvif/os.h1
l---------nvkm1
-rw-r--r--nvkm/Makefile.am8
-rw-r--r--nvkm/core/Makefile.am23
-rw-r--r--nvkm/engine/Makefile.am23
-rw-r--r--nvkm/engine/Makefile.engine4
-rw-r--r--nvkm/engine/bsp/Makefile.am8
-rw-r--r--nvkm/engine/copy/Makefile.am17
-rw-r--r--nvkm/engine/crypt/Makefile.am13
-rw-r--r--nvkm/engine/device/Makefile.am16
-rw-r--r--nvkm/engine/disp/Makefile.am33
-rw-r--r--nvkm/engine/dmaobj/Makefile.am9
-rw-r--r--nvkm/engine/fifo/Makefile.am15
-rw-r--r--nvkm/engine/graph/Makefile.am62
-rw-r--r--nvkm/engine/mpeg/Makefile.am9
-rw-r--r--nvkm/engine/perfmon/Makefile.am13
-rw-r--r--nvkm/engine/ppp/Makefile.am6
-rw-r--r--nvkm/engine/software/Makefile.am8
-rw-r--r--nvkm/engine/vp/Makefile.am8
-rw-r--r--nvkm/include/core/intr.h8
l---------nvkm/include/nvif/class.h1
l---------nvkm/include/nvif/event.h1
l---------nvkm/include/nvif/ioctl.h1
l---------nvkm/include/nvif/unpack.h1
-rw-r--r--nvkm/include/subdev/bios/dfp.h4
-rw-r--r--nvkm/subdev/Makefile.am25
-rw-r--r--nvkm/subdev/Makefile.subdev3
-rw-r--r--nvkm/subdev/bar/Makefile.am8
-rw-r--r--nvkm/subdev/bios/Makefile.am41
-rw-r--r--nvkm/subdev/bus/Makefile.am10
-rw-r--r--nvkm/subdev/clock/Makefile.am16
-rw-r--r--nvkm/subdev/devinit/Makefile.am18
-rw-r--r--nvkm/subdev/fb/Makefile.am36
-rw-r--r--nvkm/subdev/fuse/Makefile.am8
-rw-r--r--nvkm/subdev/gpio/Makefile.am10
-rw-r--r--nvkm/subdev/i2c/Makefile.am20
-rw-r--r--nvkm/subdev/ibus/Makefile.am7
-rw-r--r--nvkm/subdev/instmem/Makefile.am8
-rw-r--r--nvkm/subdev/ltc/Makefile.am8
-rw-r--r--nvkm/subdev/mc/Makefile.am15
-rw-r--r--nvkm/subdev/mxm/Makefile.am7
-rw-r--r--nvkm/subdev/pwr/Makefile.am46
-rw-r--r--nvkm/subdev/therm/Makefile.am17
-rw-r--r--nvkm/subdev/timer/Makefile.am7
-rw-r--r--nvkm/subdev/vm/Makefile.am10
-rw-r--r--nvkm/subdev/volt/Makefile.am8
-rwxr-xr-xscripts/nvkm-am42
751 files changed, 717 insertions, 1634 deletions
diff --git a/.gitignore b/.gitignore
index 805ec91d..1377554e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,37 +1 @@
-.deps
-.libs
-Makefile
-Makefile.in
-*.la
-*.lo
-*.o
-aclocal.m4
-autom4te.cache/
-config.guess
-config.sub
-config.h
-config.h.in
-config.log
-config.status
-config.sub
-configure
-depcomp
-install-sh
-libtool
-ltmain.sh
-missing
-stamp-h1
*.swp
-*.in
-
-*.cmd
-*.mod.c
-*.symvers
-*.order
-*.ko*
-.tmp_versions/
-
-bin/nv_*
-!bin/nv_*.c
-!bin/nv_*.h
-compile
diff --git a/Makefile b/Makefile
new file mode 100644
index 00000000..c003ff4e
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,49 @@
+.PHONY: all build clean install
+all: build
+
+prefix ?= /usr/local
+bindir ?= $(prefix)/bin
+libdir ?= $(prefix)/lib
+
+top := .
+drm := $(top)/drm/nouveau
+lib := $(top)/lib
+bin := $(top)/bin
+
+CFLAGS ?= -O0 -ggdb3
+CFLAGS += -I$(lib)/include -I$(drm)/include -I$(drm)/include/nvkm \
+ -I$(drm)/nvkm -I/usr/include/libdrm \
+ -fno-strict-aliasing -Wall -Wundef -Wstrict-prototypes \
+ -DCONFIG_NOUVEAU_DEBUG=7 \
+ -DCONFIG_NOUVEAU_DEBUG_DEFAULT=3 \
+ -DCONFIG_NOUVEAU_I2C_INTERNAL \
+ -DCONFIG_NOUVEAU_I2C_INTERNAL_DEFAULT
+ENVYAS ?= envyas
+ENVYPP = $(CC) -E -CC -xc $(1) | $(CC) -E - | sed -e "/^\#/d"
+INSTALL ?= install
+
+deps :=
+objs :=
+libs :=
+bins :=
+fws :=
+
+include $(lib)/Makefile
+include $(bin)/Makefile
+
+build: $(bins)
+
+clean:
+ @rm -f $(deps) $(objs) $(libs) $(bins)
+
+clean-fw:
+ @rm -f $(fws)
+
+install-lib = $(INSTALL) -D -m 755 $(1) $(libdir);
+install-bin = $(INSTALL) -D -m 755 $(1) $(bindir);
+install:
+ $(foreach lib,$(libs),$(call install-lib,$(lib)))
+ ldconfig $(libdir)
+ $(foreach bin,$(bins),$(call install-bin,$(bin)))
+
+-include $(deps)
diff --git a/Makefile.am b/Makefile.am
deleted file mode 100644
index bfd427ca..00000000
--- a/Makefile.am
+++ /dev/null
@@ -1,5 +0,0 @@
-AUTOMAKE_OPTIONS = foreign
-
-ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
-
-SUBDIRS = nvkm lib nvif bin
diff --git a/autogen.sh b/autogen.sh
deleted file mode 100755
index f033e047..00000000
--- a/autogen.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#! /bin/sh
-
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-ORIGDIR=`pwd`
-cd $srcdir
-
-autoreconf -v --force --install || exit 1
-cd $ORIGDIR || exit $?
-
-$srcdir/configure "$@"
diff --git a/bin/.gitignore b/bin/.gitignore
new file mode 100644
index 00000000..f59c0c66
--- /dev/null
+++ b/bin/.gitignore
@@ -0,0 +1,5 @@
+*.d
+*.o
+nv_*
+!nv_*.c
+!nv_*.h
diff --git a/bin/Makefile b/bin/Makefile
new file mode 100644
index 00000000..f64b3b83
--- /dev/null
+++ b/bin/Makefile
@@ -0,0 +1,12 @@
+BINNVIF_CC = $(CFLAGS)
+BINNVIF_LD = $(LDFLAGS) -lnvif -lncurses -lmenu -lform -L$(lib)
+
+srcs = $(wildcard $(bin)/*.c)
+outp = $(srcs:.c=)
+
+$(outp): %: %.c $(lib)/libnvif.so
+ @echo -e " CCLD $@"
+ @$(CC) $(BINNVIF_CC) $(BINNVIF_LD) -MMD -MP -o $@ $<
+
+deps += $(srcs:.c=.d)
+bins += $(outp)
diff --git a/bin/Makefile.am b/bin/Makefile.am
deleted file mode 100644
index 13f75fd5..00000000
--- a/bin/Makefile.am
+++ /dev/null
@@ -1,13 +0,0 @@
-bin_PROGRAMS = \
- nv_rd08 nv_rd16 nv_rd32 nv_wr08 nv_wr16 nv_wr32 \
- nv_rf08 nv_rf16 nv_rf32 nv_wf08 nv_wf16 nv_wf32 \
- nv_ri08 nv_ri16 nv_ri32 nv_wi08 nv_wi16 nv_wi32 \
- nv_rv08 nv_rv16 nv_rv32 nv_wv08 nv_wv16 nv_wv32 \
- nv_rs08 nv_rs16 nv_rs32 nv_ws08 nv_ws16 nv_ws32 \
- nv_disp nv_i2c nv_aux nv_init nv_rdfuc nv_perfmon
-
-AM_CPPFLAGS = -I$(top_srcdir)/nvkm/include \
- -I$(top_srcdir)/lib/ \
- -I$(top_srcdir)/
-
-LDFLAGS = $(top_srcdir)/nvif/libnvif.la -lncurses -lmenu -lform
diff --git a/configure.ac b/configure.ac
deleted file mode 100644
index b4404a5a..00000000
--- a/configure.ac
+++ /dev/null
@@ -1,107 +0,0 @@
-AC_INIT([nouveau], 1.0.2)
-AC_CONFIG_SRCDIR([configure.ac])
-AC_CONFIG_MACRO_DIR([m4])
-
-AC_PROG_CC
-AC_LANG_C
-AC_PROG_INSTALL
-AC_PROG_MAKE_SET
-AC_PROG_LIBTOOL
-
-AM_INIT_AUTOMAKE
-AM_SILENT_RULES([yes])
-
-PKG_CHECK_MODULES(PCIACCESS, pciaccess)
-AC_SUBST([PCIACCESS_CFLAGS])
-AC_SUBST([PCIACCESS_LIBS])
-
-AC_ARG_ENABLE([debug-level],
- [AS_HELP_STRING([--enable-debug-level=LEVEL],
- [select highest debug level to build support for
- (fatal, error, warning, info, debug,
- trace, paranoia, spam) [default = debug]])],
- [ debug=$enableval ],
- [ debug=debug ])
-
-AC_MSG_CHECKING([for maximum debug level to build])
-if test "x$debug" = "xfatal"; then
- AC_DEFINE([CONFIG_NOUVEAU_DEBUG], [0])
-elif test "x$debug" = "xerror"; then
- AC_DEFINE([CONFIG_NOUVEAU_DEBUG], [1])
-elif test "x$debug" = "xwarning"; then
- AC_DEFINE([CONFIG_NOUVEAU_DEBUG], [2])
-elif test "x$debug" = "xinfo"; then
- AC_DEFINE([CONFIG_NOUVEAU_DEBUG], [3])
-elif test "x$debug" = "xdebug"; then
- AC_DEFINE([CONFIG_NOUVEAU_DEBUG], [4])
-elif test "x$debug" = "xtrace"; then
- AC_DEFINE([CONFIG_NOUVEAU_DEBUG], [5])
-elif test "x$debug" = "xparanoia"; then
- AC_DEFINE([CONFIG_NOUVEAU_DEBUG], [6])
-elif test "x$debug" = "xspam"; then
- AC_DEFINE([CONFIG_NOUVEAU_DEBUG], [7])
-else
- AC_MSG_ERROR([invalid debug level specified])
-fi
-AC_MSG_RESULT($debug)
-AC_DEFINE([CONFIG_NOUVEAU_DEBUG_DEFAULT], [3])
-
-AC_ARG_ENABLE([internal-bitbang],
- [AS_HELP_STRING([--enable-internal-bitbang[[=default]]],
- [enable use of internal i2c bit-banging algo ])],
- [ bitbang=$enableval ],
- [ bitbang=default ])
-
-AC_MSG_CHECKING([whether to enable internal i2c bit-banging algo])
-if test "x$bitbang" = "xdefault"; then
- AC_DEFINE([CONFIG_NOUVEAU_I2C_INTERNAL], [1])
- AC_DEFINE([CONFIG_NOUVEAU_I2C_INTERNAL_DEFAULT], [1])
- AC_MSG_RESULT([default])
-elif test "x$bitbang" = "xyes"; then
- AC_DEFINE([CONFIG_NOUVEAU_I2C_INTERNAL], [1])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-AC_OUTPUT( Makefile \
- nvkm/Makefile \
- nvkm/core/Makefile \
- nvkm/subdev/Makefile \
- nvkm/subdev/bar/Makefile \
- nvkm/subdev/bios/Makefile \
- nvkm/subdev/bus/Makefile \
- nvkm/subdev/clock/Makefile \
- nvkm/subdev/devinit/Makefile \
- nvkm/subdev/fb/Makefile \
- nvkm/subdev/fuse/Makefile \
- nvkm/subdev/gpio/Makefile \
- nvkm/subdev/i2c/Makefile \
- nvkm/subdev/ibus/Makefile \
- nvkm/subdev/instmem/Makefile \
- nvkm/subdev/ltc/Makefile \
- nvkm/subdev/mc/Makefile \
- nvkm/subdev/mxm/Makefile \
- nvkm/subdev/pwr/Makefile \
- nvkm/subdev/therm/Makefile \
- nvkm/subdev/timer/Makefile \
- nvkm/subdev/vm/Makefile \
- nvkm/subdev/volt/Makefile \
- nvkm/engine/Makefile \
- nvkm/engine/bsp/Makefile \
- nvkm/engine/copy/Makefile \
- nvkm/engine/crypt/Makefile \
- nvkm/engine/device/Makefile \
- nvkm/engine/disp/Makefile \
- nvkm/engine/dmaobj/Makefile \
- nvkm/engine/fifo/Makefile \
- nvkm/engine/graph/Makefile \
- nvkm/engine/mpeg/Makefile \
- nvkm/engine/perfmon/Makefile \
- nvkm/engine/ppp/Makefile \
- nvkm/engine/software/Makefile \
- nvkm/engine/vp/Makefile \
- nvif/Makefile \
- lib/Makefile \
- bin/Makefile \
-)
diff --git a/drm/.gitignore b/drm/.gitignore
new file mode 100644
index 00000000..37bdc36a
--- /dev/null
+++ b/drm/.gitignore
@@ -0,0 +1,7 @@
+*.cmd
+*.mod.c
+*.symvers
+*.order
+*.ko*
+*.o
+.tmp_versions/
diff --git a/drm/Kbuild b/drm/Kbuild
deleted file mode 100644
index 1febf6ec..00000000
--- a/drm/Kbuild
+++ /dev/null
@@ -1,400 +0,0 @@
-#
-# Makefile for the drm device driver. This driver provides support for the
-# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
-
-ccflags-y := -Iinclude/drm
-ccflags-y += -I$(src)/core/include
-ccflags-y += -I$(src)/core
-ccflags-y += -I$(src)
-
-nouveau-y := core/core/client.o
-nouveau-y += core/core/engctx.o
-nouveau-y += core/core/engine.o
-nouveau-y += core/core/enum.o
-nouveau-y += core/core/event.o
-nouveau-y += core/core/gpuobj.o
-nouveau-y += core/core/handle.o
-nouveau-y += core/core/ioctl.o
-nouveau-y += core/core/mm.o
-nouveau-y += core/core/namedb.o
-nouveau-y += core/core/notify.o
-nouveau-y += core/core/object.o
-nouveau-y += core/core/option.o
-nouveau-y += core/core/parent.o
-nouveau-y += core/core/printk.o
-nouveau-y += core/core/ramht.o
-nouveau-y += core/core/subdev.o
-
-nouveau-y += core/subdev/bar/base.o
-nouveau-y += core/subdev/bar/nv50.o
-nouveau-y += core/subdev/bar/nvc0.o
-nouveau-y += core/subdev/bar/gk20a.o
-nouveau-y += core/subdev/bios/base.o
-nouveau-y += core/subdev/bios/bit.o
-nouveau-y += core/subdev/bios/boost.o
-nouveau-y += core/subdev/bios/conn.o
-nouveau-y += core/subdev/bios/cstep.o
-nouveau-y += core/subdev/bios/dcb.o
-nouveau-y += core/subdev/bios/disp.o
-nouveau-y += core/subdev/bios/dp.o
-nouveau-y += core/subdev/bios/extdev.o
-nouveau-y += core/subdev/bios/fan.o
-nouveau-y += core/subdev/bios/gpio.o
-nouveau-y += core/subdev/bios/i2c.o
-nouveau-y += core/subdev/bios/image.o
-nouveau-y += core/subdev/bios/init.o
-nouveau-y += core/subdev/bios/mxm.o
-nouveau-y += core/subdev/bios/npde.o
-nouveau-y += core/subdev/bios/pcir.o
-nouveau-y += core/subdev/bios/perf.o
-nouveau-y += core/subdev/bios/pll.o
-nouveau-y += core/subdev/bios/pmu.o
-nouveau-y += core/subdev/bios/ramcfg.o
-nouveau-y += core/subdev/bios/rammap.o
-nouveau-y += core/subdev/bios/shadow.o
-nouveau-y += core/subdev/bios/shadowacpi.o
-nouveau-y += core/subdev/bios/shadowof.o
-nouveau-y += core/subdev/bios/shadowpci.o
-nouveau-y += core/subdev/bios/shadowramin.o
-nouveau-y += core/subdev/bios/shadowrom.o
-nouveau-y += core/subdev/bios/timing.o
-nouveau-y += core/subdev/bios/therm.o
-nouveau-y += core/subdev/bios/vmap.o
-nouveau-y += core/subdev/bios/volt.o
-nouveau-y += core/subdev/bios/xpio.o
-nouveau-y += core/subdev/bios/M0203.o
-nouveau-y += core/subdev/bios/M0205.o
-nouveau-y += core/subdev/bios/M0209.o
-nouveau-y += core/subdev/bios/P0260.o
-nouveau-y += core/subdev/bus/hwsq.o
-nouveau-y += core/subdev/bus/nv04.o
-nouveau-y += core/subdev/bus/nv31.o
-nouveau-y += core/subdev/bus/nv50.o
-nouveau-y += core/subdev/bus/nv94.o
-nouveau-y += core/subdev/bus/nvc0.o
-nouveau-y += core/subdev/clock/base.o
-nouveau-y += core/subdev/clock/nv04.o
-nouveau-y += core/subdev/clock/nv40.o
-nouveau-y += core/subdev/clock/nv50.o
-nouveau-y += core/subdev/clock/nv84.o
-nouveau-y += core/subdev/clock/nva3.o
-nouveau-y += core/subdev/clock/nvaa.o
-nouveau-y += core/subdev/clock/nvc0.o
-nouveau-y += core/subdev/clock/nve0.o
-nouveau-y += core/subdev/clock/gk20a.o
-nouveau-y += core/subdev/clock/pllnv04.o
-nouveau-y += core/subdev/clock/pllnva3.o
-nouveau-y += core/subdev/devinit/base.o
-nouveau-y += core/subdev/devinit/nv04.o
-nouveau-y += core/subdev/devinit/nv05.o
-nouveau-y += core/subdev/devinit/nv10.o
-nouveau-y += core/subdev/devinit/nv1a.o
-nouveau-y += core/subdev/devinit/nv20.o
-nouveau-y += core/subdev/devinit/nv50.o
-nouveau-y += core/subdev/devinit/nv84.o
-nouveau-y += core/subdev/devinit/nv98.o
-nouveau-y += core/subdev/devinit/nva3.o
-nouveau-y += core/subdev/devinit/nvaf.o
-nouveau-y += core/subdev/devinit/nvc0.o
-nouveau-y += core/subdev/devinit/gm107.o
-nouveau-y += core/subdev/devinit/gm204.o
-nouveau-y += core/subdev/fb/base.o
-nouveau-y += core/subdev/fb/nv04.o
-nouveau-y += core/subdev/fb/nv10.o
-nouveau-y += core/subdev/fb/nv1a.o
-nouveau-y += core/subdev/fb/nv20.o
-nouveau-y += core/subdev/fb/nv25.o
-nouveau-y += core/subdev/fb/nv30.o
-nouveau-y += core/subdev/fb/nv35.o
-nouveau-y += core/subdev/fb/nv36.o
-nouveau-y += core/subdev/fb/nv40.o
-nouveau-y += core/subdev/fb/nv41.o
-nouveau-y += core/subdev/fb/nv44.o
-nouveau-y += core/subdev/fb/nv46.o
-nouveau-y += core/subdev/fb/nv47.o
-nouveau-y += core/subdev/fb/nv49.o
-nouveau-y += core/subdev/fb/nv4e.o
-nouveau-y += core/subdev/fb/nv50.o
-nouveau-y += core/subdev/fb/nv84.o
-nouveau-y += core/subdev/fb/nva3.o
-nouveau-y += core/subdev/fb/nvaa.o
-nouveau-y += core/subdev/fb/nvaf.o
-nouveau-y += core/subdev/fb/nvc0.o
-nouveau-y += core/subdev/fb/nve0.o
-nouveau-y += core/subdev/fb/gk20a.o
-nouveau-y += core/subdev/fb/gm107.o
-nouveau-y += core/subdev/fb/ramnv04.o
-nouveau-y += core/subdev/fb/ramnv10.o
-nouveau-y += core/subdev/fb/ramnv1a.o
-nouveau-y += core/subdev/fb/ramnv20.o
-nouveau-y += core/subdev/fb/ramnv40.o
-nouveau-y += core/subdev/fb/ramnv41.o
-nouveau-y += core/subdev/fb/ramnv44.o
-nouveau-y += core/subdev/fb/ramnv49.o
-nouveau-y += core/subdev/fb/ramnv4e.o
-nouveau-y += core/subdev/fb/ramnv50.o
-nouveau-y += core/subdev/fb/ramnva3.o
-nouveau-y += core/subdev/fb/ramnvaa.o
-nouveau-y += core/subdev/fb/ramnvc0.o
-nouveau-y += core/subdev/fb/ramnve0.o
-nouveau-y += core/subdev/fb/ramgk20a.o
-nouveau-y += core/subdev/fb/ramgm107.o
-nouveau-y += core/subdev/fb/sddr2.o
-nouveau-y += core/subdev/fb/sddr3.o
-nouveau-y += core/subdev/fb/gddr3.o
-nouveau-y += core/subdev/fb/gddr5.o
-nouveau-y += core/subdev/fuse/base.o
-nouveau-y += core/subdev/fuse/g80.o
-nouveau-y += core/subdev/fuse/gf100.o
-nouveau-y += core/subdev/fuse/gm107.o
-nouveau-y += core/subdev/gpio/base.o
-nouveau-y += core/subdev/gpio/nv10.o
-nouveau-y += core/subdev/gpio/nv50.o
-nouveau-y += core/subdev/gpio/nv94.o
-nouveau-y += core/subdev/gpio/nvd0.o
-nouveau-y += core/subdev/gpio/nve0.o
-nouveau-y += core/subdev/i2c/base.o
-nouveau-y += core/subdev/i2c/anx9805.o
-nouveau-y += core/subdev/i2c/aux.o
-nouveau-y += core/subdev/i2c/bit.o
-nouveau-y += core/subdev/i2c/pad.o
-nouveau-y += core/subdev/i2c/padnv04.o
-nouveau-y += core/subdev/i2c/padnv94.o
-nouveau-y += core/subdev/i2c/padgm204.o
-nouveau-y += core/subdev/i2c/nv04.o
-nouveau-y += core/subdev/i2c/nv4e.o
-nouveau-y += core/subdev/i2c/nv50.o
-nouveau-y += core/subdev/i2c/nv94.o
-nouveau-y += core/subdev/i2c/nvd0.o
-nouveau-y += core/subdev/i2c/gf117.o
-nouveau-y += core/subdev/i2c/nve0.o
-nouveau-y += core/subdev/i2c/gm204.o
-nouveau-y += core/subdev/ibus/nvc0.o
-nouveau-y += core/subdev/ibus/nve0.o
-nouveau-y += core/subdev/ibus/gk20a.o
-nouveau-y += core/subdev/instmem/base.o
-nouveau-y += core/subdev/instmem/nv04.o
-nouveau-y += core/subdev/instmem/nv40.o
-nouveau-y += core/subdev/instmem/nv50.o
-nouveau-y += core/subdev/ltc/base.o
-nouveau-y += core/subdev/ltc/gf100.o
-nouveau-y += core/subdev/ltc/gk104.o
-nouveau-y += core/subdev/ltc/gm107.o
-nouveau-y += core/subdev/mc/base.o
-nouveau-y += core/subdev/mc/nv04.o
-nouveau-y += core/subdev/mc/nv40.o
-nouveau-y += core/subdev/mc/nv44.o
-nouveau-y += core/subdev/mc/nv4c.o
-nouveau-y += core/subdev/mc/nv50.o
-nouveau-y += core/subdev/mc/nv94.o
-nouveau-y += core/subdev/mc/nv98.o
-nouveau-y += core/subdev/mc/nvc0.o
-nouveau-y += core/subdev/mc/nvc3.o
-nouveau-y += core/subdev/mc/gk20a.o
-nouveau-y += core/subdev/mxm/base.o
-nouveau-y += core/subdev/mxm/mxms.o
-nouveau-y += core/subdev/mxm/nv50.o
-nouveau-y += core/subdev/pwr/base.o
-nouveau-y += core/subdev/pwr/memx.o
-nouveau-y += core/subdev/pwr/nva3.o
-nouveau-y += core/subdev/pwr/nvc0.o
-nouveau-y += core/subdev/pwr/nvd0.o
-nouveau-y += core/subdev/pwr/gk104.o
-nouveau-y += core/subdev/pwr/nv108.o
-nouveau-y += core/subdev/pwr/gk20a.o
-nouveau-y += core/subdev/therm/base.o
-nouveau-y += core/subdev/therm/fan.o
-nouveau-y += core/subdev/therm/fannil.o
-nouveau-y += core/subdev/therm/fanpwm.o
-nouveau-y += core/subdev/therm/fantog.o
-nouveau-y += core/subdev/therm/ic.o
-nouveau-y += core/subdev/therm/temp.o
-nouveau-y += core/subdev/therm/nv40.o
-nouveau-y += core/subdev/therm/nv50.o
-nouveau-y += core/subdev/therm/nv84.o
-nouveau-y += core/subdev/therm/nva3.o
-nouveau-y += core/subdev/therm/nvd0.o
-nouveau-y += core/subdev/therm/gm107.o
-nouveau-y += core/subdev/timer/base.o
-nouveau-y += core/subdev/timer/nv04.o
-nouveau-y += core/subdev/timer/gk20a.o
-nouveau-y += core/subdev/vm/base.o
-nouveau-y += core/subdev/vm/nv04.o
-nouveau-y += core/subdev/vm/nv41.o
-nouveau-y += core/subdev/vm/nv44.o
-nouveau-y += core/subdev/vm/nv50.o
-nouveau-y += core/subdev/vm/nvc0.o
-nouveau-y += core/subdev/volt/base.o
-nouveau-y += core/subdev/volt/gpio.o
-nouveau-y += core/subdev/volt/nv40.o
-nouveau-y += core/subdev/volt/gk20a.o
-
-nouveau-y += core/engine/falcon.o
-nouveau-y += core/engine/xtensa.o
-nouveau-y += core/engine/dmaobj/base.o
-nouveau-y += core/engine/dmaobj/nv04.o
-nouveau-y += core/engine/dmaobj/nv50.o
-nouveau-y += core/engine/dmaobj/nvc0.o
-nouveau-y += core/engine/dmaobj/nvd0.o
-nouveau-y += core/engine/bsp/nv84.o
-nouveau-y += core/engine/bsp/nv98.o
-nouveau-y += core/engine/bsp/nvc0.o
-nouveau-y += core/engine/bsp/nve0.o
-nouveau-y += core/engine/copy/nva3.o
-nouveau-y += core/engine/copy/nvc0.o
-nouveau-y += core/engine/copy/nve0.o
-nouveau-y += core/engine/crypt/nv84.o
-nouveau-y += core/engine/crypt/nv98.o
-nouveau-y += core/engine/device/acpi.o
-nouveau-y += core/engine/device/base.o
-nouveau-y += core/engine/device/ctrl.o
-nouveau-y += core/engine/device/nv04.o
-nouveau-y += core/engine/device/nv10.o
-nouveau-y += core/engine/device/nv20.o
-nouveau-y += core/engine/device/nv30.o
-nouveau-y += core/engine/device/nv40.o
-nouveau-y += core/engine/device/nv50.o
-nouveau-y += core/engine/device/nvc0.o
-nouveau-y += core/engine/device/nve0.o
-nouveau-y += core/engine/device/gm100.o
-nouveau-y += core/engine/disp/base.o
-nouveau-y += core/engine/disp/conn.o
-nouveau-y += core/engine/disp/outp.o
-nouveau-y += core/engine/disp/outpdp.o
-nouveau-y += core/engine/disp/nv04.o
-nouveau-y += core/engine/disp/nv50.o
-nouveau-y += core/engine/disp/nv84.o
-nouveau-y += core/engine/disp/nv94.o
-nouveau-y += core/engine/disp/nva0.o
-nouveau-y += core/engine/disp/nva3.o
-nouveau-y += core/engine/disp/nvd0.o
-nouveau-y += core/engine/disp/nve0.o
-nouveau-y += core/engine/disp/nvf0.o
-nouveau-y += core/engine/disp/gm107.o
-nouveau-y += core/engine/disp/gm204.o
-nouveau-y += core/engine/disp/dacnv50.o
-nouveau-y += core/engine/disp/dport.o
-nouveau-y += core/engine/disp/hdanva3.o
-nouveau-y += core/engine/disp/hdanvd0.o
-nouveau-y += core/engine/disp/hdminv84.o
-nouveau-y += core/engine/disp/hdminva3.o
-nouveau-y += core/engine/disp/hdminvd0.o
-nouveau-y += core/engine/disp/hdminve0.o
-nouveau-y += core/engine/disp/piornv50.o
-nouveau-y += core/engine/disp/sornv50.o
-nouveau-y += core/engine/disp/sornv94.o
-nouveau-y += core/engine/disp/sornvd0.o
-nouveau-y += core/engine/disp/sorgm204.o
-nouveau-y += core/engine/disp/vga.o
-nouveau-y += core/engine/fifo/base.o
-nouveau-y += core/engine/fifo/nv04.o
-nouveau-y += core/engine/fifo/nv10.o
-nouveau-y += core/engine/fifo/nv17.o
-nouveau-y += core/engine/fifo/nv40.o
-nouveau-y += core/engine/fifo/nv50.o
-nouveau-y += core/engine/fifo/nv84.o
-nouveau-y += core/engine/fifo/nvc0.o
-nouveau-y += core/engine/fifo/nve0.o
-nouveau-y += core/engine/fifo/gk20a.o
-nouveau-y += core/engine/fifo/nv108.o
-nouveau-y += core/engine/graph/ctxnv40.o
-nouveau-y += core/engine/graph/ctxnv50.o
-nouveau-y += core/engine/graph/ctxnvc0.o
-nouveau-y += core/engine/graph/ctxnvc1.o
-nouveau-y += core/engine/graph/ctxnvc4.o
-nouveau-y += core/engine/graph/ctxnvc8.o
-nouveau-y += core/engine/graph/ctxnvd7.o
-nouveau-y += core/engine/graph/ctxnvd9.o
-nouveau-y += core/engine/graph/ctxnve4.o
-nouveau-y += core/engine/graph/ctxgk20a.o
-nouveau-y += core/engine/graph/ctxnvf0.o
-nouveau-y += core/engine/graph/ctxgk110b.o
-nouveau-y += core/engine/graph/ctxnv108.o
-nouveau-y += core/engine/graph/ctxgm107.o
-nouveau-y += core/engine/graph/nv04.o
-nouveau-y += core/engine/graph/nv10.o
-nouveau-y += core/engine/graph/nv20.o
-nouveau-y += core/engine/graph/nv25.o
-nouveau-y += core/engine/graph/nv2a.o
-nouveau-y += core/engine/graph/nv30.o
-nouveau-y += core/engine/graph/nv34.o
-nouveau-y += core/engine/graph/nv35.o
-nouveau-y += core/engine/graph/nv40.o
-nouveau-y += core/engine/graph/nv50.o
-nouveau-y += core/engine/graph/nvc0.o
-nouveau-y += core/engine/graph/nvc1.o
-nouveau-y += core/engine/graph/nvc4.o
-nouveau-y += core/engine/graph/nvc8.o
-nouveau-y += core/engine/graph/nvd7.o
-nouveau-y += core/engine/graph/nvd9.o
-nouveau-y += core/engine/graph/nve4.o
-nouveau-y += core/engine/graph/gk20a.o
-nouveau-y += core/engine/graph/nvf0.o
-nouveau-y += core/engine/graph/gk110b.o
-nouveau-y += core/engine/graph/nv108.o
-nouveau-y += core/engine/graph/gm107.o
-nouveau-y += core/engine/mpeg/nv31.o
-nouveau-y += core/engine/mpeg/nv40.o
-nouveau-y += core/engine/mpeg/nv44.o
-nouveau-y += core/engine/mpeg/nv50.o
-nouveau-y += core/engine/mpeg/nv84.o
-nouveau-y += core/engine/perfmon/base.o
-nouveau-y += core/engine/perfmon/daemon.o
-nouveau-y += core/engine/perfmon/nv40.o
-nouveau-y += core/engine/perfmon/nv50.o
-nouveau-y += core/engine/perfmon/nv84.o
-nouveau-y += core/engine/perfmon/nva3.o
-nouveau-y += core/engine/perfmon/nvc0.o
-nouveau-y += core/engine/perfmon/nve0.o
-nouveau-y += core/engine/perfmon/nvf0.o
-nouveau-y += core/engine/ppp/nv98.o
-nouveau-y += core/engine/ppp/nvc0.o
-nouveau-y += core/engine/software/nv04.o
-nouveau-y += core/engine/software/nv10.o
-nouveau-y += core/engine/software/nv50.o
-nouveau-y += core/engine/software/nvc0.o
-nouveau-y += core/engine/vp/nv84.o
-nouveau-y += core/engine/vp/nv98.o
-nouveau-y += core/engine/vp/nvc0.o
-nouveau-y += core/engine/vp/nve0.o
-
-# nvif
-nouveau-y += nvif/object.o
-nouveau-y += nvif/client.o
-nouveau-y += nvif/device.o
-nouveau-y += nvif/notify.o
-
-# drm/core
-nouveau-y += nouveau_drm.o nouveau_chan.o nouveau_dma.o nouveau_fence.o
-nouveau-y += nouveau_vga.o nouveau_agp.o
-nouveau-y += nouveau_ttm.o nouveau_sgdma.o nouveau_bo.o nouveau_gem.o
-nouveau-y += nouveau_prime.o nouveau_abi16.o
-nouveau-y += nouveau_nvif.o nouveau_usif.o
-nouveau-y += nv04_fence.o nv10_fence.o nv17_fence.o
-nouveau-y += nv50_fence.o nv84_fence.o nvc0_fence.o
-
-# drm/kms
-nouveau-y += nouveau_bios.o nouveau_fbcon.o nouveau_display.o
-nouveau-y += nouveau_connector.o nouveau_dp.o
-nouveau-y += nv04_fbcon.o nv50_fbcon.o nvc0_fbcon.o
-
-# drm/kms/nv04:nv50
-include $(src)/dispnv04/Makefile
-
-# drm/kms/nv50-
-nouveau-y += nv50_display.o
-
-# drm/pm
-nouveau-y += nouveau_hwmon.o nouveau_sysfs.o
-
-# other random bits
-nouveau-$(CONFIG_COMPAT) += nouveau_ioc32.o
-ifdef CONFIG_X86
-nouveau-$(CONFIG_ACPI) += nouveau_acpi.o
-endif
-nouveau-$(CONFIG_DRM_NOUVEAU_BACKLIGHT) += nouveau_backlight.o
-nouveau-$(CONFIG_DEBUG_FS) += nouveau_debugfs.o
-nouveau-$(CONFIG_NOUVEAU_PLATFORM_DRIVER) += nouveau_platform.o
-
-obj-$(CONFIG_DRM_NOUVEAU)+= nouveau.o
-
diff --git a/drm/Makefile b/drm/Makefile
index 60bd8764..f79c8ea1 100644
--- a/drm/Makefile
+++ b/drm/Makefile
@@ -9,8 +9,8 @@ LINUXDIR := $(shell if [ -e /lib/modules/$(LINUXVER)/source ]; \
)
endif
-KBUILD_OPTS := M=$(CURDIR)
-KBUILD_OPTS += KCPPFLAGS="$(shell cat nouveau.config)"
+KBUILD_OPTS := M=$(CURDIR)/nouveau
+KBUILD_OPTS += KCPPFLAGS=""
all: modules
diff --git a/drm/nouveau.config b/drm/nouveau.config
deleted file mode 100644
index e69de29b..00000000
--- a/drm/nouveau.config
+++ /dev/null
diff --git a/drm/nouveau/Kbuild b/drm/nouveau/Kbuild
new file mode 100644
index 00000000..2b765663
--- /dev/null
+++ b/drm/nouveau/Kbuild
@@ -0,0 +1,66 @@
+ccflags-y := -Iinclude/drm
+ccflags-y += -I$(src)/include
+ccflags-y += -I$(src)/include/nvkm
+ccflags-y += -I$(src)/nvkm
+ccflags-y += -I$(src)
+
+# NVKM - HW resource manager
+#- code also used by various userspace tools/tests
+include $(src)/nvif/Kbuild
+nouveau-y := $(nvif-y)
+
+# NVIF - NVKM interface library (NVKM user interface also defined here)
+#- code also used by various userspace tools/tests
+include $(src)/nvkm/Kbuild
+nouveau-y += $(nvkm-y)
+
+# DRM - general
+ifdef CONFIG_X86
+nouveau-$(CONFIG_ACPI) += nouveau_acpi.o
+endif
+nouveau-y += nouveau_agp.o
+nouveau-$(CONFIG_DEBUG_FS) += nouveau_debugfs.o
+nouveau-y += nouveau_drm.o
+nouveau-y += nouveau_hwmon.o
+nouveau-$(CONFIG_COMPAT) += nouveau_ioc32.o
+nouveau-y += nouveau_nvif.o
+nouveau-$(CONFIG_NOUVEAU_PLATFORM_DRIVER) += nouveau_platform.o
+nouveau-y += nouveau_sysfs.o
+nouveau-y += nouveau_usif.o # userspace <-> nvif
+nouveau-y += nouveau_vga.o
+
+# DRM - memory management
+nouveau-y += nouveau_bo.o
+nouveau-y += nouveau_gem.o
+nouveau-y += nouveau_prime.o
+nouveau-y += nouveau_sgdma.o
+nouveau-y += nouveau_ttm.o
+
+# DRM - modesetting
+nouveau-$(CONFIG_DRM_NOUVEAU_BACKLIGHT) += nouveau_backlight.o
+nouveau-y += nouveau_connector.o
+nouveau-y += nouveau_display.o
+nouveau-y += nv50_display.o
+nouveau-y += nouveau_dp.o
+nouveau-y += nouveau_fbcon.o
+nouveau-y += nv04_fbcon.o
+nouveau-y += nv50_fbcon.o
+nouveau-y += nvc0_fbcon.o
+
+# DRM - command submission
+nouveau-y += nouveau_abi16.o
+nouveau-y += nouveau_chan.o
+nouveau-y += nouveau_dma.o
+nouveau-y += nouveau_fence.o
+nouveau-y += nv04_fence.o
+nouveau-y += nv10_fence.o
+nouveau-y += nv17_fence.o
+nouveau-y += nv50_fence.o
+nouveau-y += nv84_fence.o
+nouveau-y += nvc0_fence.o
+
+# DRM - prehistoric modesetting (NV04-G7x)
+nouveau-y += nouveau_bios.o
+include $(src)/dispnv04/Kbuild
+
+obj-$(CONFIG_DRM_NOUVEAU) += nouveau.o
diff --git a/drm/Kconfig b/drm/nouveau/Kconfig
index 5ab13e79..5ab13e79 100644
--- a/drm/Kconfig
+++ b/drm/nouveau/Kconfig
diff --git a/drm/dispnv04/Makefile b/drm/nouveau/dispnv04/Kbuild
index 424a489d..424a489d 100644
--- a/drm/dispnv04/Makefile
+++ b/drm/nouveau/dispnv04/Kbuild
diff --git a/drm/dispnv04/arb.c b/drm/nouveau/dispnv04/arb.c
index c6361422..c6361422 100644
--- a/drm/dispnv04/arb.c
+++ b/drm/nouveau/dispnv04/arb.c
diff --git a/drm/dispnv04/crtc.c b/drm/nouveau/dispnv04/crtc.c
index 38402ade..38402ade 100644
--- a/drm/dispnv04/crtc.c
+++ b/drm/nouveau/dispnv04/crtc.c
diff --git a/drm/dispnv04/cursor.c b/drm/nouveau/dispnv04/cursor.c
index 4e61173c..4e61173c 100644
--- a/drm/dispnv04/cursor.c
+++ b/drm/nouveau/dispnv04/cursor.c
diff --git a/drm/dispnv04/dac.c b/drm/nouveau/dispnv04/dac.c
index 2d8056cd..2d8056cd 100644
--- a/drm/dispnv04/dac.c
+++ b/drm/nouveau/dispnv04/dac.c
diff --git a/drm/dispnv04/dfp.c b/drm/nouveau/dispnv04/dfp.c
index 42a54352..42a54352 100644
--- a/drm/dispnv04/dfp.c
+++ b/drm/nouveau/dispnv04/dfp.c
diff --git a/drm/dispnv04/disp.c b/drm/nouveau/dispnv04/disp.c
index bdf7cf49..bdf7cf49 100644
--- a/drm/dispnv04/disp.c
+++ b/drm/nouveau/dispnv04/disp.c
diff --git a/drm/dispnv04/disp.h b/drm/nouveau/dispnv04/disp.h
index 3ad3ee81..3ad3ee81 100644
--- a/drm/dispnv04/disp.h
+++ b/drm/nouveau/dispnv04/disp.h
diff --git a/drm/dispnv04/hw.c b/drm/nouveau/dispnv04/hw.c
index 3d4c1930..3d4c1930 100644
--- a/drm/dispnv04/hw.c
+++ b/drm/nouveau/dispnv04/hw.c
diff --git a/drm/dispnv04/hw.h b/drm/nouveau/dispnv04/hw.h
index 7f53c571..7f53c571 100644
--- a/drm/dispnv04/hw.h
+++ b/drm/nouveau/dispnv04/hw.h
diff --git a/drm/dispnv04/nvreg.h b/drm/nouveau/dispnv04/nvreg.h
index bbfb1a68..bbfb1a68 100644
--- a/drm/dispnv04/nvreg.h
+++ b/drm/nouveau/dispnv04/nvreg.h
diff --git a/drm/dispnv04/overlay.c b/drm/nouveau/dispnv04/overlay.c
index 9f249857..9f249857 100644
--- a/drm/dispnv04/overlay.c
+++ b/drm/nouveau/dispnv04/overlay.c
diff --git a/drm/dispnv04/tvmodesnv17.c b/drm/nouveau/dispnv04/tvmodesnv17.c
index 08c6f5e5..08c6f5e5 100644
--- a/drm/dispnv04/tvmodesnv17.c
+++ b/drm/nouveau/dispnv04/tvmodesnv17.c
diff --git a/drm/dispnv04/tvnv04.c b/drm/nouveau/dispnv04/tvnv04.c
index 8061d8d0..8061d8d0 100644
--- a/drm/dispnv04/tvnv04.c
+++ b/drm/nouveau/dispnv04/tvnv04.c
diff --git a/drm/dispnv04/tvnv17.c b/drm/nouveau/dispnv04/tvnv17.c
index 72d2ab04..72d2ab04 100644
--- a/drm/dispnv04/tvnv17.c
+++ b/drm/nouveau/dispnv04/tvnv17.c
diff --git a/drm/dispnv04/tvnv17.h b/drm/nouveau/dispnv04/tvnv17.h
index 225894cd..225894cd 100644
--- a/drm/dispnv04/tvnv17.h
+++ b/drm/nouveau/dispnv04/tvnv17.h
diff --git a/nvif/class.h b/drm/nouveau/include/nvif/class.h
index 4e308eac..4e308eac 100644
--- a/nvif/class.h
+++ b/drm/nouveau/include/nvif/class.h
diff --git a/nvif/client.h b/drm/nouveau/include/nvif/client.h
index 28352f08..8b004842 100644
--- a/nvif/client.h
+++ b/drm/nouveau/include/nvif/client.h
@@ -1,7 +1,7 @@
#ifndef __NVIF_CLIENT_H__
#define __NVIF_CLIENT_H__
-#include "object.h"
+#include <nvif/object.h>
struct nvif_client {
struct nvif_object base;
diff --git a/nvif/device.h b/drm/nouveau/include/nvif/device.h
index 43180f9f..4aa1b93a 100644
--- a/nvif/device.h
+++ b/drm/nouveau/include/nvif/device.h
@@ -1,8 +1,8 @@
#ifndef __NVIF_DEVICE_H__
#define __NVIF_DEVICE_H__
-#include "object.h"
-#include "class.h"
+#include <nvif/object.h>
+#include <nvif/class.h>
struct nvif_device {
struct nvif_object base;
diff --git a/nvif/driver.h b/drm/nouveau/include/nvif/driver.h
index 8bd39e69..8bd39e69 100644
--- a/nvif/driver.h
+++ b/drm/nouveau/include/nvif/driver.h
diff --git a/nvif/event.h b/drm/nouveau/include/nvif/event.h
index 21764499..21764499 100644
--- a/nvif/event.h
+++ b/drm/nouveau/include/nvif/event.h
diff --git a/nvif/ioctl.h b/drm/nouveau/include/nvif/ioctl.h
index 4cd8e323..4cd8e323 100644
--- a/nvif/ioctl.h
+++ b/drm/nouveau/include/nvif/ioctl.h
diff --git a/nvif/notify.h b/drm/nouveau/include/nvif/notify.h
index 9ebfa3b4..9ebfa3b4 100644
--- a/nvif/notify.h
+++ b/drm/nouveau/include/nvif/notify.h
diff --git a/nvif/object.h b/drm/nouveau/include/nvif/object.h
index fac3a3bb..fe519179 100644
--- a/nvif/object.h
+++ b/drm/nouveau/include/nvif/object.h
@@ -14,7 +14,7 @@ struct nvif_object {
void *priv; /*XXX: hack */
void (*dtor)(struct nvif_object *);
struct {
- void *ptr;
+ void __iomem *ptr;
u32 size;
} map;
};
@@ -42,7 +42,7 @@ void nvif_object_unmap(struct nvif_object *);
struct nvif_object *_object = nvif_object(a); \
u32 _data; \
if (likely(_object->map.ptr)) \
- _data = ioread##b##_native((u8 *)_object->map.ptr + (c)); \
+ _data = ioread##b##_native((u8 __iomem *)_object->map.ptr + (c)); \
else \
_data = nvif_object_rd(_object, (b) / 8, (c)); \
_data; \
@@ -50,7 +50,7 @@ void nvif_object_unmap(struct nvif_object *);
#define nvif_wr(a,b,c,d) ({ \
struct nvif_object *_object = nvif_object(a); \
if (likely(_object->map.ptr)) \
- iowrite##b##_native((d), (u8 *)_object->map.ptr + (c)); \
+ iowrite##b##_native((d), (u8 __iomem *)_object->map.ptr + (c)); \
else \
nvif_object_wr(_object, (b) / 8, (c), (d)); \
})
diff --git a/drm/core/os.h b/drm/nouveau/include/nvif/os.h
index bdd05ee7..bdd05ee7 100644
--- a/drm/core/os.h
+++ b/drm/nouveau/include/nvif/os.h
diff --git a/nvif/unpack.h b/drm/nouveau/include/nvif/unpack.h
index 5933188b..5933188b 100644
--- a/nvif/unpack.h
+++ b/drm/nouveau/include/nvif/unpack.h
diff --git a/nvkm/include/core/client.h b/drm/nouveau/include/nvkm/core/client.h
index 827c4e97..827c4e97 100644
--- a/nvkm/include/core/client.h
+++ b/drm/nouveau/include/nvkm/core/client.h
diff --git a/nvkm/include/core/debug.h b/drm/nouveau/include/nvkm/core/debug.h
index 8092e2e9..8092e2e9 100644
--- a/nvkm/include/core/debug.h
+++ b/drm/nouveau/include/nvkm/core/debug.h
diff --git a/nvkm/include/core/device.h b/drm/nouveau/include/nvkm/core/device.h
index 21a055ac..21a055ac 100644
--- a/nvkm/include/core/device.h
+++ b/drm/nouveau/include/nvkm/core/device.h
diff --git a/nvkm/include/core/engctx.h b/drm/nouveau/include/nvkm/core/engctx.h
index dbc6a3e6..dbc6a3e6 100644
--- a/nvkm/include/core/engctx.h
+++ b/drm/nouveau/include/nvkm/core/engctx.h
diff --git a/nvkm/include/core/engine.h b/drm/nouveau/include/nvkm/core/engine.h
index d7ebd35e..d7ebd35e 100644
--- a/nvkm/include/core/engine.h
+++ b/drm/nouveau/include/nvkm/core/engine.h
diff --git a/nvkm/include/core/enum.h b/drm/nouveau/include/nvkm/core/enum.h
index 4fc62bb8..4fc62bb8 100644
--- a/nvkm/include/core/enum.h
+++ b/drm/nouveau/include/nvkm/core/enum.h
diff --git a/nvkm/include/core/event.h b/drm/nouveau/include/nvkm/core/event.h
index 92876528..92876528 100644
--- a/nvkm/include/core/event.h
+++ b/drm/nouveau/include/nvkm/core/event.h
diff --git a/nvkm/include/core/gpuobj.h b/drm/nouveau/include/nvkm/core/gpuobj.h
index c262c250..c262c250 100644
--- a/nvkm/include/core/gpuobj.h
+++ b/drm/nouveau/include/nvkm/core/gpuobj.h
diff --git a/nvkm/include/core/handle.h b/drm/nouveau/include/nvkm/core/handle.h
index d22a5913..d22a5913 100644
--- a/nvkm/include/core/handle.h
+++ b/drm/nouveau/include/nvkm/core/handle.h
diff --git a/nvkm/include/core/ioctl.h b/drm/nouveau/include/nvkm/core/ioctl.h
index ac7935c2..ac7935c2 100644
--- a/nvkm/include/core/ioctl.h
+++ b/drm/nouveau/include/nvkm/core/ioctl.h
diff --git a/nvkm/include/core/mm.h b/drm/nouveau/include/nvkm/core/mm.h
index bfe69315..bfe69315 100644
--- a/nvkm/include/core/mm.h
+++ b/drm/nouveau/include/nvkm/core/mm.h
diff --git a/nvkm/include/core/namedb.h b/drm/nouveau/include/nvkm/core/namedb.h
index 98e666b1..98e666b1 100644
--- a/nvkm/include/core/namedb.h
+++ b/drm/nouveau/include/nvkm/core/namedb.h
diff --git a/nvkm/include/core/notify.h b/drm/nouveau/include/nvkm/core/notify.h
index a7c3c5f5..a7c3c5f5 100644
--- a/nvkm/include/core/notify.h
+++ b/drm/nouveau/include/nvkm/core/notify.h
diff --git a/nvkm/include/core/object.h b/drm/nouveau/include/nvkm/core/object.h
index 64c0038f..64c0038f 100644
--- a/nvkm/include/core/object.h
+++ b/drm/nouveau/include/nvkm/core/object.h
diff --git a/nvkm/include/core/option.h b/drm/nouveau/include/nvkm/core/option.h
index ed055847..ed055847 100644
--- a/nvkm/include/core/option.h
+++ b/drm/nouveau/include/nvkm/core/option.h
diff --git a/drm/nouveau/include/nvkm/core/os.h b/drm/nouveau/include/nvkm/core/os.h
new file mode 100644
index 00000000..cd57e238
--- /dev/null
+++ b/drm/nouveau/include/nvkm/core/os.h
@@ -0,0 +1,4 @@
+#ifndef __NVKM_OS_H__
+#define __NVKM_OS_H__
+#include <nvif/os.h>
+#endif
diff --git a/nvkm/include/core/parent.h b/drm/nouveau/include/nvkm/core/parent.h
index 4e2345a5..4e2345a5 100644
--- a/nvkm/include/core/parent.h
+++ b/drm/nouveau/include/nvkm/core/parent.h
diff --git a/nvkm/include/core/printk.h b/drm/nouveau/include/nvkm/core/printk.h
index 451b6ed2..451b6ed2 100644
--- a/nvkm/include/core/printk.h
+++ b/drm/nouveau/include/nvkm/core/printk.h
diff --git a/nvkm/include/core/ramht.h b/drm/nouveau/include/nvkm/core/ramht.h
index e5101433..e5101433 100644
--- a/nvkm/include/core/ramht.h
+++ b/drm/nouveau/include/nvkm/core/ramht.h
diff --git a/nvkm/include/core/subdev.h b/drm/nouveau/include/nvkm/core/subdev.h
index 68f1c419..68f1c419 100644
--- a/nvkm/include/core/subdev.h
+++ b/drm/nouveau/include/nvkm/core/subdev.h
diff --git a/nvkm/include/engine/bsp.h b/drm/nouveau/include/nvkm/engine/bsp.h
index 67662e2c..67662e2c 100644
--- a/nvkm/include/engine/bsp.h
+++ b/drm/nouveau/include/nvkm/engine/bsp.h
diff --git a/nvkm/include/engine/copy.h b/drm/nouveau/include/nvkm/engine/copy.h
index 316a28ae..316a28ae 100644
--- a/nvkm/include/engine/copy.h
+++ b/drm/nouveau/include/nvkm/engine/copy.h
diff --git a/nvkm/include/engine/crypt.h b/drm/nouveau/include/nvkm/engine/crypt.h
index db975618..db975618 100644
--- a/nvkm/include/engine/crypt.h
+++ b/drm/nouveau/include/nvkm/engine/crypt.h
diff --git a/nvkm/include/engine/device.h b/drm/nouveau/include/nvkm/engine/device.h
index 672d3c8f..672d3c8f 100644
--- a/nvkm/include/engine/device.h
+++ b/drm/nouveau/include/nvkm/engine/device.h
diff --git a/nvkm/include/engine/disp.h b/drm/nouveau/include/nvkm/engine/disp.h
index 626508d8..626508d8 100644
--- a/nvkm/include/engine/disp.h
+++ b/drm/nouveau/include/nvkm/engine/disp.h
diff --git a/nvkm/include/engine/dmaobj.h b/drm/nouveau/include/nvkm/engine/dmaobj.h
index 1b283a7b..1b283a7b 100644
--- a/nvkm/include/engine/dmaobj.h
+++ b/drm/nouveau/include/nvkm/engine/dmaobj.h
diff --git a/nvkm/include/engine/falcon.h b/drm/nouveau/include/nvkm/engine/falcon.h
index 181aa7da..181aa7da 100644
--- a/nvkm/include/engine/falcon.h
+++ b/drm/nouveau/include/nvkm/engine/falcon.h
diff --git a/nvkm/include/engine/fifo.h b/drm/nouveau/include/nvkm/engine/fifo.h
index 27f05de8..27f05de8 100644
--- a/nvkm/include/engine/fifo.h
+++ b/drm/nouveau/include/nvkm/engine/fifo.h
diff --git a/nvkm/include/engine/graph.h b/drm/nouveau/include/nvkm/engine/graph.h
index d61dcb7d..d61dcb7d 100644
--- a/nvkm/include/engine/graph.h
+++ b/drm/nouveau/include/nvkm/engine/graph.h
diff --git a/nvkm/include/engine/mpeg.h b/drm/nouveau/include/nvkm/engine/mpeg.h
index 9b0d9381..9b0d9381 100644
--- a/nvkm/include/engine/mpeg.h
+++ b/drm/nouveau/include/nvkm/engine/mpeg.h
diff --git a/nvkm/include/engine/perfmon.h b/drm/nouveau/include/nvkm/engine/perfmon.h
index 251c8545..251c8545 100644
--- a/nvkm/include/engine/perfmon.h
+++ b/drm/nouveau/include/nvkm/engine/perfmon.h
diff --git a/nvkm/include/engine/ppp.h b/drm/nouveau/include/nvkm/engine/ppp.h
index 0a66781e..0a66781e 100644
--- a/nvkm/include/engine/ppp.h
+++ b/drm/nouveau/include/nvkm/engine/ppp.h
diff --git a/nvkm/include/engine/software.h b/drm/nouveau/include/nvkm/engine/software.h
index 23a462b5..23a462b5 100644
--- a/nvkm/include/engine/software.h
+++ b/drm/nouveau/include/nvkm/engine/software.h
diff --git a/nvkm/include/engine/vp.h b/drm/nouveau/include/nvkm/engine/vp.h
index 39baebec..39baebec 100644
--- a/nvkm/include/engine/vp.h
+++ b/drm/nouveau/include/nvkm/engine/vp.h
diff --git a/nvkm/include/engine/xtensa.h b/drm/nouveau/include/nvkm/engine/xtensa.h
index 306100f3..306100f3 100644
--- a/nvkm/include/engine/xtensa.h
+++ b/drm/nouveau/include/nvkm/engine/xtensa.h
diff --git a/nvkm/include/subdev/bar.h b/drm/nouveau/include/nvkm/subdev/bar.h
index 960e33a3..960e33a3 100644
--- a/nvkm/include/subdev/bar.h
+++ b/drm/nouveau/include/nvkm/subdev/bar.h
diff --git a/nvkm/include/subdev/bios.h b/drm/nouveau/include/nvkm/subdev/bios.h
index 39528a9f..39528a9f 100644
--- a/nvkm/include/subdev/bios.h
+++ b/drm/nouveau/include/nvkm/subdev/bios.h
diff --git a/nvkm/include/subdev/bios/M0203.h b/drm/nouveau/include/nvkm/subdev/bios/M0203.h
index 1f84d361..1f84d361 100644
--- a/nvkm/include/subdev/bios/M0203.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/M0203.h
diff --git a/nvkm/include/subdev/bios/M0205.h b/drm/nouveau/include/nvkm/subdev/bios/M0205.h
index e171120c..e171120c 100644
--- a/nvkm/include/subdev/bios/M0205.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/M0205.h
diff --git a/nvkm/include/subdev/bios/M0209.h b/drm/nouveau/include/nvkm/subdev/bios/M0209.h
index 67dc50d8..67dc50d8 100644
--- a/nvkm/include/subdev/bios/M0209.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/M0209.h
diff --git a/nvkm/include/subdev/bios/P0260.h b/drm/nouveau/include/nvkm/subdev/bios/P0260.h
index bba01ab1..bba01ab1 100644
--- a/nvkm/include/subdev/bios/P0260.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/P0260.h
diff --git a/nvkm/include/subdev/bios/bit.h b/drm/nouveau/include/nvkm/subdev/bios/bit.h
index 73f060b0..73f060b0 100644
--- a/nvkm/include/subdev/bios/bit.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/bit.h
diff --git a/nvkm/include/subdev/bios/bmp.h b/drm/nouveau/include/nvkm/subdev/bios/bmp.h
index 10e4dbca..10e4dbca 100644
--- a/nvkm/include/subdev/bios/bmp.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/bmp.h
diff --git a/nvkm/include/subdev/bios/boost.h b/drm/nouveau/include/nvkm/subdev/bios/boost.h
index 662b2072..662b2072 100644
--- a/nvkm/include/subdev/bios/boost.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/boost.h
diff --git a/nvkm/include/subdev/bios/conn.h b/drm/nouveau/include/nvkm/subdev/bios/conn.h
index f3930c27..f3930c27 100644
--- a/nvkm/include/subdev/bios/conn.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/conn.h
diff --git a/nvkm/include/subdev/bios/cstep.h b/drm/nouveau/include/nvkm/subdev/bios/cstep.h
index a80a4380..a80a4380 100644
--- a/nvkm/include/subdev/bios/cstep.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/cstep.h
diff --git a/nvkm/include/subdev/bios/dcb.h b/drm/nouveau/include/nvkm/subdev/bios/dcb.h
index 123270e9..123270e9 100644
--- a/nvkm/include/subdev/bios/dcb.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/dcb.h
diff --git a/nvkm/include/subdev/bios/disp.h b/drm/nouveau/include/nvkm/subdev/bios/disp.h
index c35937e2..c35937e2 100644
--- a/nvkm/include/subdev/bios/disp.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/disp.h
diff --git a/nvkm/include/subdev/bios/dp.h b/drm/nouveau/include/nvkm/subdev/bios/dp.h
index 728206e2..728206e2 100644
--- a/nvkm/include/subdev/bios/dp.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/dp.h
diff --git a/nvkm/include/subdev/bios/extdev.h b/drm/nouveau/include/nvkm/subdev/bios/extdev.h
index 949fee3a..949fee3a 100644
--- a/nvkm/include/subdev/bios/extdev.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/extdev.h
diff --git a/nvkm/include/subdev/bios/fan.h b/drm/nouveau/include/nvkm/subdev/bios/fan.h
index 119d0874..119d0874 100644
--- a/nvkm/include/subdev/bios/fan.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/fan.h
diff --git a/nvkm/include/subdev/bios/gpio.h b/drm/nouveau/include/nvkm/subdev/bios/gpio.h
index c7b2e586..c7b2e586 100644
--- a/nvkm/include/subdev/bios/gpio.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/gpio.h
diff --git a/nvkm/include/subdev/bios/i2c.h b/drm/nouveau/include/nvkm/subdev/bios/i2c.h
index c9bb1128..c9bb1128 100644
--- a/nvkm/include/subdev/bios/i2c.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/i2c.h
diff --git a/nvkm/include/subdev/bios/image.h b/drm/nouveau/include/nvkm/subdev/bios/image.h
index 3348b458..3348b458 100644
--- a/nvkm/include/subdev/bios/image.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/image.h
diff --git a/nvkm/include/subdev/bios/init.h b/drm/nouveau/include/nvkm/subdev/bios/init.h
index ca2f6bf3..ca2f6bf3 100644
--- a/nvkm/include/subdev/bios/init.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/init.h
diff --git a/nvkm/include/subdev/bios/mxm.h b/drm/nouveau/include/nvkm/subdev/bios/mxm.h
index 5572e604..5572e604 100644
--- a/nvkm/include/subdev/bios/mxm.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/mxm.h
diff --git a/nvkm/include/subdev/bios/npde.h b/drm/nouveau/include/nvkm/subdev/bios/npde.h
index b18413d9..b18413d9 100644
--- a/nvkm/include/subdev/bios/npde.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/npde.h
diff --git a/nvkm/include/subdev/bios/pcir.h b/drm/nouveau/include/nvkm/subdev/bios/pcir.h
index 3d634a06..3d634a06 100644
--- a/nvkm/include/subdev/bios/pcir.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/pcir.h
diff --git a/nvkm/include/subdev/bios/perf.h b/drm/nouveau/include/nvkm/subdev/bios/perf.h
index 16ff06ec..16ff06ec 100644
--- a/nvkm/include/subdev/bios/perf.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/perf.h
diff --git a/nvkm/include/subdev/bios/pll.h b/drm/nouveau/include/nvkm/subdev/bios/pll.h
index b2f3d4d0..b2f3d4d0 100644
--- a/nvkm/include/subdev/bios/pll.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/pll.h
diff --git a/nvkm/include/subdev/bios/pmu.h b/drm/nouveau/include/nvkm/subdev/bios/pmu.h
index 9de593de..9de593de 100644
--- a/nvkm/include/subdev/bios/pmu.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/pmu.h
diff --git a/nvkm/include/subdev/bios/ramcfg.h b/drm/nouveau/include/nvkm/subdev/bios/ramcfg.h
index 4a0e0ceb..4a0e0ceb 100644
--- a/nvkm/include/subdev/bios/ramcfg.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/ramcfg.h
diff --git a/nvkm/include/subdev/bios/rammap.h b/drm/nouveau/include/nvkm/subdev/bios/rammap.h
index 47e021d3..47e021d3 100644
--- a/nvkm/include/subdev/bios/rammap.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/rammap.h
diff --git a/nvkm/include/subdev/bios/therm.h b/drm/nouveau/include/nvkm/subdev/bios/therm.h
index 295d093f..295d093f 100644
--- a/nvkm/include/subdev/bios/therm.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/therm.h
diff --git a/nvkm/include/subdev/bios/timing.h b/drm/nouveau/include/nvkm/subdev/bios/timing.h
index 76d914b6..76d914b6 100644
--- a/nvkm/include/subdev/bios/timing.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/timing.h
diff --git a/nvkm/include/subdev/bios/vmap.h b/drm/nouveau/include/nvkm/subdev/bios/vmap.h
index ad5a8f20..ad5a8f20 100644
--- a/nvkm/include/subdev/bios/vmap.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/vmap.h
diff --git a/nvkm/include/subdev/bios/volt.h b/drm/nouveau/include/nvkm/subdev/bios/volt.h
index 6a11dcd5..6a11dcd5 100644
--- a/nvkm/include/subdev/bios/volt.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/volt.h
diff --git a/nvkm/include/subdev/bios/xpio.h b/drm/nouveau/include/nvkm/subdev/bios/xpio.h
index 360baab5..360baab5 100644
--- a/nvkm/include/subdev/bios/xpio.h
+++ b/drm/nouveau/include/nvkm/subdev/bios/xpio.h
diff --git a/nvkm/include/subdev/bus.h b/drm/nouveau/include/nvkm/subdev/bus.h
index 2d40f0c2..2d40f0c2 100644
--- a/nvkm/include/subdev/bus.h
+++ b/drm/nouveau/include/nvkm/subdev/bus.h
diff --git a/nvkm/include/subdev/clock.h b/drm/nouveau/include/nvkm/subdev/clock.h
index 39ad2d2c..39ad2d2c 100644
--- a/nvkm/include/subdev/clock.h
+++ b/drm/nouveau/include/nvkm/subdev/clock.h
diff --git a/nvkm/include/subdev/devinit.h b/drm/nouveau/include/nvkm/subdev/devinit.h
index b627d532..b627d532 100644
--- a/nvkm/include/subdev/devinit.h
+++ b/drm/nouveau/include/nvkm/subdev/devinit.h
diff --git a/nvkm/include/subdev/fb.h b/drm/nouveau/include/nvkm/subdev/fb.h
index 889603fb..889603fb 100644
--- a/nvkm/include/subdev/fb.h
+++ b/drm/nouveau/include/nvkm/subdev/fb.h
diff --git a/nvkm/include/subdev/fuse.h b/drm/nouveau/include/nvkm/subdev/fuse.h
index cc6b02fe..cc6b02fe 100644
--- a/nvkm/include/subdev/fuse.h
+++ b/drm/nouveau/include/nvkm/subdev/fuse.h
diff --git a/nvkm/include/subdev/gpio.h b/drm/nouveau/include/nvkm/subdev/gpio.h
index 8b60c5de..8b60c5de 100644
--- a/nvkm/include/subdev/gpio.h
+++ b/drm/nouveau/include/nvkm/subdev/gpio.h
diff --git a/nvkm/include/subdev/i2c.h b/drm/nouveau/include/nvkm/subdev/i2c.h
index a400e67f..a400e67f 100644
--- a/nvkm/include/subdev/i2c.h
+++ b/drm/nouveau/include/nvkm/subdev/i2c.h
diff --git a/nvkm/include/subdev/ibus.h b/drm/nouveau/include/nvkm/subdev/ibus.h
index b6387d27..b6387d27 100644
--- a/nvkm/include/subdev/ibus.h
+++ b/drm/nouveau/include/nvkm/subdev/ibus.h
diff --git a/nvkm/include/subdev/instmem.h b/drm/nouveau/include/nvkm/subdev/instmem.h
index 4953e6c6..4953e6c6 100644
--- a/nvkm/include/subdev/instmem.h
+++ b/drm/nouveau/include/nvkm/subdev/instmem.h
diff --git a/nvkm/include/subdev/ltc.h b/drm/nouveau/include/nvkm/subdev/ltc.h
index 432717a4..432717a4 100644
--- a/nvkm/include/subdev/ltc.h
+++ b/drm/nouveau/include/nvkm/subdev/ltc.h
diff --git a/nvkm/include/subdev/mc.h b/drm/nouveau/include/nvkm/subdev/mc.h
index af7926f3..af7926f3 100644
--- a/nvkm/include/subdev/mc.h
+++ b/drm/nouveau/include/nvkm/subdev/mc.h
diff --git a/nvkm/include/subdev/mxm.h b/drm/nouveau/include/nvkm/subdev/mxm.h
index 94b8af23..94b8af23 100644
--- a/nvkm/include/subdev/mxm.h
+++ b/drm/nouveau/include/nvkm/subdev/mxm.h
diff --git a/nvkm/include/subdev/pwr.h b/drm/nouveau/include/nvkm/subdev/pwr.h
index 83f85ac1..83f85ac1 100644
--- a/nvkm/include/subdev/pwr.h
+++ b/drm/nouveau/include/nvkm/subdev/pwr.h
diff --git a/nvkm/include/subdev/therm.h b/drm/nouveau/include/nvkm/subdev/therm.h
index 42f9574a..42f9574a 100644
--- a/nvkm/include/subdev/therm.h
+++ b/drm/nouveau/include/nvkm/subdev/therm.h
diff --git a/nvkm/include/subdev/timer.h b/drm/nouveau/include/nvkm/subdev/timer.h
index 36b5184e..36b5184e 100644
--- a/nvkm/include/subdev/timer.h
+++ b/drm/nouveau/include/nvkm/subdev/timer.h
diff --git a/nvkm/include/subdev/vga.h b/drm/nouveau/include/nvkm/subdev/vga.h
index fee09ad8..fee09ad8 100644
--- a/nvkm/include/subdev/vga.h
+++ b/drm/nouveau/include/nvkm/subdev/vga.h
diff --git a/nvkm/include/subdev/vm.h b/drm/nouveau/include/nvkm/subdev/vm.h
index d56585f1..d56585f1 100644
--- a/nvkm/include/subdev/vm.h
+++ b/drm/nouveau/include/nvkm/subdev/vm.h
diff --git a/nvkm/include/subdev/volt.h b/drm/nouveau/include/nvkm/subdev/volt.h
index 13e9a83c..13e9a83c 100644
--- a/nvkm/include/subdev/volt.h
+++ b/drm/nouveau/include/nvkm/subdev/volt.h
diff --git a/drm/uapi/drm/nouveau_drm.h b/drm/nouveau/include/uapi/drm/nouveau_drm.h
index 0d7608dc..0d7608dc 100644
--- a/drm/uapi/drm/nouveau_drm.h
+++ b/drm/nouveau/include/uapi/drm/nouveau_drm.h
diff --git a/drm/nouveau_abi16.c b/drm/nouveau/nouveau_abi16.c
index d39a1500..d39a1500 100644
--- a/drm/nouveau_abi16.c
+++ b/drm/nouveau/nouveau_abi16.c
diff --git a/drm/nouveau_abi16.h b/drm/nouveau/nouveau_abi16.h
index 39844e6b..39844e6b 100644
--- a/drm/nouveau_abi16.h
+++ b/drm/nouveau/nouveau_abi16.h
diff --git a/drm/nouveau_acpi.c b/drm/nouveau/nouveau_acpi.c
index 62242469..62242469 100644
--- a/drm/nouveau_acpi.c
+++ b/drm/nouveau/nouveau_acpi.c
diff --git a/drm/nouveau_acpi.h b/drm/nouveau/nouveau_acpi.h
index 74acf0f8..74acf0f8 100644
--- a/drm/nouveau_acpi.h
+++ b/drm/nouveau/nouveau_acpi.h
diff --git a/drm/nouveau_agp.c b/drm/nouveau/nouveau_agp.c
index 1f6f6ba6..1f6f6ba6 100644
--- a/drm/nouveau_agp.c
+++ b/drm/nouveau/nouveau_agp.c
diff --git a/drm/nouveau_agp.h b/drm/nouveau/nouveau_agp.h
index b55c0865..b55c0865 100644
--- a/drm/nouveau_agp.h
+++ b/drm/nouveau/nouveau_agp.h
diff --git a/drm/nouveau_backlight.c b/drm/nouveau/nouveau_backlight.c
index e566c5b5..e566c5b5 100644
--- a/drm/nouveau_backlight.c
+++ b/drm/nouveau/nouveau_backlight.c
diff --git a/drm/nouveau_bios.c b/drm/nouveau/nouveau_bios.c
index 7df6acc8..7df6acc8 100644
--- a/drm/nouveau_bios.c
+++ b/drm/nouveau/nouveau_bios.c
diff --git a/drm/nouveau_bios.h b/drm/nouveau/nouveau_bios.h
index 0067586e..0067586e 100644
--- a/drm/nouveau_bios.h
+++ b/drm/nouveau/nouveau_bios.h
diff --git a/drm/nouveau_bo.c b/drm/nouveau/nouveau_bo.c
index d96fe352..d96fe352 100644
--- a/drm/nouveau_bo.c
+++ b/drm/nouveau/nouveau_bo.c
diff --git a/drm/nouveau_bo.h b/drm/nouveau/nouveau_bo.h
index 302aa63b..302aa63b 100644
--- a/drm/nouveau_bo.h
+++ b/drm/nouveau/nouveau_bo.h
diff --git a/drm/nouveau_chan.c b/drm/nouveau/nouveau_chan.c
index aff9099a..aff9099a 100644
--- a/drm/nouveau_chan.c
+++ b/drm/nouveau/nouveau_chan.c
diff --git a/drm/nouveau_chan.h b/drm/nouveau/nouveau_chan.h
index 8309c24e..8309c24e 100644
--- a/drm/nouveau_chan.h
+++ b/drm/nouveau/nouveau_chan.h
diff --git a/drm/nouveau_connector.c b/drm/nouveau/nouveau_connector.c
index 9c871f93..9c871f93 100644
--- a/drm/nouveau_connector.c
+++ b/drm/nouveau/nouveau_connector.c
diff --git a/drm/nouveau_connector.h b/drm/nouveau/nouveau_connector.h
index a2d09914..a2d09914 100644
--- a/drm/nouveau_connector.h
+++ b/drm/nouveau/nouveau_connector.h
diff --git a/drm/nouveau_crtc.h b/drm/nouveau/nouveau_crtc.h
index f19cb1c5..f19cb1c5 100644
--- a/drm/nouveau_crtc.h
+++ b/drm/nouveau/nouveau_crtc.h
diff --git a/drm/nouveau_debugfs.c b/drm/nouveau/nouveau_debugfs.c
index 5392e07e..5392e07e 100644
--- a/drm/nouveau_debugfs.c
+++ b/drm/nouveau/nouveau_debugfs.c
diff --git a/drm/nouveau_debugfs.h b/drm/nouveau/nouveau_debugfs.h
index a62af6fb..a62af6fb 100644
--- a/drm/nouveau_debugfs.h
+++ b/drm/nouveau/nouveau_debugfs.h
diff --git a/drm/nouveau_display.c b/drm/nouveau/nouveau_display.c
index f972e9c1..f972e9c1 100644
--- a/drm/nouveau_display.c
+++ b/drm/nouveau/nouveau_display.c
diff --git a/drm/nouveau_display.h b/drm/nouveau/nouveau_display.h
index be3d5947..be3d5947 100644
--- a/drm/nouveau_display.h
+++ b/drm/nouveau/nouveau_display.h
diff --git a/drm/nouveau_dma.c b/drm/nouveau/nouveau_dma.c
index 8508603c..8508603c 100644
--- a/drm/nouveau_dma.c
+++ b/drm/nouveau/nouveau_dma.c
diff --git a/drm/nouveau_dma.h b/drm/nouveau/nouveau_dma.h
index 8da0a272..8da0a272 100644
--- a/drm/nouveau_dma.h
+++ b/drm/nouveau/nouveau_dma.h
diff --git a/drm/nouveau_dp.c b/drm/nouveau/nouveau_dp.c
index c5137ccc..c5137ccc 100644
--- a/drm/nouveau_dp.c
+++ b/drm/nouveau/nouveau_dp.c
diff --git a/drm/nouveau_drm.c b/drm/nouveau/nouveau_drm.c
index 1118efa5..1118efa5 100644
--- a/drm/nouveau_drm.c
+++ b/drm/nouveau/nouveau_drm.c
diff --git a/drm/nouveau_drm.h b/drm/nouveau/nouveau_drm.h
index 8ae36f26..8ae36f26 100644
--- a/drm/nouveau_drm.h
+++ b/drm/nouveau/nouveau_drm.h
diff --git a/drm/nouveau_encoder.h b/drm/nouveau/nouveau_encoder.h
index 5f0e37fc..5f0e37fc 100644
--- a/drm/nouveau_encoder.h
+++ b/drm/nouveau/nouveau_encoder.h
diff --git a/drm/nouveau_fbcon.c b/drm/nouveau/nouveau_fbcon.c
index d6e6958b..d6e6958b 100644
--- a/drm/nouveau_fbcon.c
+++ b/drm/nouveau/nouveau_fbcon.c
diff --git a/drm/nouveau_fbcon.h b/drm/nouveau/nouveau_fbcon.h
index 1e2e9e27..1e2e9e27 100644
--- a/drm/nouveau_fbcon.h
+++ b/drm/nouveau/nouveau_fbcon.h
diff --git a/drm/nouveau_fence.c b/drm/nouveau/nouveau_fence.c
index f32a4347..f32a4347 100644
--- a/drm/nouveau_fence.c
+++ b/drm/nouveau/nouveau_fence.c
diff --git a/drm/nouveau_fence.h b/drm/nouveau/nouveau_fence.h
index 96e461c6..96e461c6 100644
--- a/drm/nouveau_fence.h
+++ b/drm/nouveau/nouveau_fence.h
diff --git a/drm/nouveau_gem.c b/drm/nouveau/nouveau_gem.c
index 9eb8af4d..9eb8af4d 100644
--- a/drm/nouveau_gem.c
+++ b/drm/nouveau/nouveau_gem.c
diff --git a/drm/nouveau_gem.h b/drm/nouveau/nouveau_gem.h
index e4049fac..e4049fac 100644
--- a/drm/nouveau_gem.h
+++ b/drm/nouveau/nouveau_gem.h
diff --git a/drm/nouveau_hwmon.c b/drm/nouveau/nouveau_hwmon.c
index afb36d66..afb36d66 100644
--- a/drm/nouveau_hwmon.c
+++ b/drm/nouveau/nouveau_hwmon.c
diff --git a/drm/nouveau_hwmon.h b/drm/nouveau/nouveau_hwmon.h
index 62ccbb39..62ccbb39 100644
--- a/drm/nouveau_hwmon.h
+++ b/drm/nouveau/nouveau_hwmon.h
diff --git a/drm/nouveau_ioc32.c b/drm/nouveau/nouveau_ioc32.c
index 462679a8..462679a8 100644
--- a/drm/nouveau_ioc32.c
+++ b/drm/nouveau/nouveau_ioc32.c
diff --git a/drm/nouveau_ioctl.h b/drm/nouveau/nouveau_ioctl.h
index 3b9f2e54..3b9f2e54 100644
--- a/drm/nouveau_ioctl.h
+++ b/drm/nouveau/nouveau_ioctl.h
diff --git a/drm/nouveau_nvif.c b/drm/nouveau/nouveau_nvif.c
index 6544b84f..6544b84f 100644
--- a/drm/nouveau_nvif.c
+++ b/drm/nouveau/nouveau_nvif.c
diff --git a/drm/nouveau_platform.c b/drm/nouveau/nouveau_platform.c
index 34d78b28..34d78b28 100644
--- a/drm/nouveau_platform.c
+++ b/drm/nouveau/nouveau_platform.c
diff --git a/drm/nouveau_platform.h b/drm/nouveau/nouveau_platform.h
index ca22c525..ca22c525 100644
--- a/drm/nouveau_platform.h
+++ b/drm/nouveau/nouveau_platform.h
diff --git a/drm/nouveau_prime.c b/drm/nouveau/nouveau_prime.c
index dd32ad6d..dd32ad6d 100644
--- a/drm/nouveau_prime.c
+++ b/drm/nouveau/nouveau_prime.c
diff --git a/drm/nouveau_reg.h b/drm/nouveau/nouveau_reg.h
index 43a96b99..43a96b99 100644
--- a/drm/nouveau_reg.h
+++ b/drm/nouveau/nouveau_reg.h
diff --git a/drm/nouveau_sgdma.c b/drm/nouveau/nouveau_sgdma.c
index 23c377a6..23c377a6 100644
--- a/drm/nouveau_sgdma.c
+++ b/drm/nouveau/nouveau_sgdma.c
diff --git a/drm/nouveau_sysfs.c b/drm/nouveau/nouveau_sysfs.c
index 8fbbf309..8fbbf309 100644
--- a/drm/nouveau_sysfs.c
+++ b/drm/nouveau/nouveau_sysfs.c
diff --git a/drm/nouveau_sysfs.h b/drm/nouveau/nouveau_sysfs.h
index 4e5ea924..4e5ea924 100644
--- a/drm/nouveau_sysfs.h
+++ b/drm/nouveau/nouveau_sysfs.h
diff --git a/drm/nouveau_ttm.c b/drm/nouveau/nouveau_ttm.c
index 3d1cfcb9..2e0d1d99 100644
--- a/drm/nouveau_ttm.c
+++ b/drm/nouveau/nouveau_ttm.c
@@ -203,7 +203,7 @@ const struct ttm_mem_type_manager_func nouveau_gart_manager = {
};
/*XXX*/
-#include <core/subdev/vm/nv04.h>
+#include <subdev/vm/nv04.h>
static int
nv04_gart_manager_init(struct ttm_mem_type_manager *man, unsigned long psize)
{
diff --git a/drm/nouveau_ttm.h b/drm/nouveau/nouveau_ttm.h
index 25b0de41..25b0de41 100644
--- a/drm/nouveau_ttm.h
+++ b/drm/nouveau/nouveau_ttm.h
diff --git a/drm/nouveau_usif.c b/drm/nouveau/nouveau_usif.c
index cb1182d7..cb1182d7 100644
--- a/drm/nouveau_usif.c
+++ b/drm/nouveau/nouveau_usif.c
diff --git a/drm/nouveau_usif.h b/drm/nouveau/nouveau_usif.h
index c037e3ae..c037e3ae 100644
--- a/drm/nouveau_usif.h
+++ b/drm/nouveau/nouveau_usif.h
diff --git a/drm/nouveau_vga.c b/drm/nouveau/nouveau_vga.c
index c7592ec8..c7592ec8 100644
--- a/drm/nouveau_vga.c
+++ b/drm/nouveau/nouveau_vga.c
diff --git a/drm/nouveau_vga.h b/drm/nouveau/nouveau_vga.h
index ea3ad697..ea3ad697 100644
--- a/drm/nouveau_vga.h
+++ b/drm/nouveau/nouveau_vga.h
diff --git a/drm/nv04_fbcon.c b/drm/nouveau/nv04_fbcon.c
index 4ef602c5..4ef602c5 100644
--- a/drm/nv04_fbcon.c
+++ b/drm/nouveau/nv04_fbcon.c
diff --git a/drm/nv04_fence.c b/drm/nouveau/nv04_fence.c
index f9859deb..f9859deb 100644
--- a/drm/nv04_fence.c
+++ b/drm/nouveau/nv04_fence.c
diff --git a/drm/nv10_fence.c b/drm/nouveau/nv10_fence.c
index 5e1ea1cd..5e1ea1cd 100644
--- a/drm/nv10_fence.c
+++ b/drm/nouveau/nv10_fence.c
diff --git a/drm/nv10_fence.h b/drm/nouveau/nv10_fence.h
index a87259f3..a87259f3 100644
--- a/drm/nv10_fence.h
+++ b/drm/nouveau/nv10_fence.h
diff --git a/drm/nv17_fence.c b/drm/nouveau/nv17_fence.c
index 57860cfa..57860cfa 100644
--- a/drm/nv17_fence.c
+++ b/drm/nouveau/nv17_fence.c
diff --git a/drm/nv50_display.c b/drm/nouveau/nv50_display.c
index 113e8cdb..113e8cdb 100644
--- a/drm/nv50_display.c
+++ b/drm/nouveau/nv50_display.c
diff --git a/drm/nv50_display.h b/drm/nouveau/nv50_display.h
index 70da347a..70da347a 100644
--- a/drm/nv50_display.h
+++ b/drm/nouveau/nv50_display.h
diff --git a/drm/nv50_fbcon.c b/drm/nouveau/nv50_fbcon.c
index 394c89ab..394c89ab 100644
--- a/drm/nv50_fbcon.c
+++ b/drm/nouveau/nv50_fbcon.c
diff --git a/drm/nv50_fence.c b/drm/nouveau/nv50_fence.c
index a82d9ea7..a82d9ea7 100644
--- a/drm/nv50_fence.c
+++ b/drm/nouveau/nv50_fence.c
diff --git a/drm/nv84_fence.c b/drm/nouveau/nv84_fence.c
index cb5b8893..cb5b8893 100644
--- a/drm/nv84_fence.c
+++ b/drm/nouveau/nv84_fence.c
diff --git a/drm/nvc0_fbcon.c b/drm/nouveau/nvc0_fbcon.c
index 61246677..61246677 100644
--- a/drm/nvc0_fbcon.c
+++ b/drm/nouveau/nvc0_fbcon.c
diff --git a/drm/nvc0_fence.c b/drm/nouveau/nvc0_fence.c
index becf19ab..becf19ab 100644
--- a/drm/nvc0_fence.c
+++ b/drm/nouveau/nvc0_fence.c
diff --git a/drm/nouveau/nvif/Kbuild b/drm/nouveau/nvif/Kbuild
new file mode 100644
index 00000000..ff8ed3a0
--- /dev/null
+++ b/drm/nouveau/nvif/Kbuild
@@ -0,0 +1,4 @@
+nvif-y := nvif/object.o
+nvif-y += nvif/client.o
+nvif-y += nvif/device.o
+nvif-y += nvif/notify.o
diff --git a/nvif/client.c b/drm/nouveau/nvif/client.c
index 3f7ac5bc..80b96844 100644
--- a/nvif/client.c
+++ b/drm/nouveau/nvif/client.c
@@ -22,9 +22,9 @@
* Authors: Ben Skeggs <bskeggs@redhat.com>
*/
-#include "client.h"
-#include "driver.h"
-#include "ioctl.h"
+#include <nvif/client.h>
+#include <nvif/driver.h>
+#include <nvif/ioctl.h>
int
nvif_client_ioctl(struct nvif_client *client, void *data, u32 size)
diff --git a/nvif/device.c b/drm/nouveau/nvif/device.c
index f4775797..6f72244c 100644
--- a/nvif/device.c
+++ b/drm/nouveau/nvif/device.c
@@ -22,7 +22,7 @@
* Authors: Ben Skeggs <bskeggs@redhat.com>
*/
-#include "device.h"
+#include <nvif/device.h>
void
nvif_device_fini(struct nvif_device *device)
diff --git a/nvif/notify.c b/drm/nouveau/nvif/notify.c
index 0898c315..0898c315 100644
--- a/nvif/notify.c
+++ b/drm/nouveau/nvif/notify.c
diff --git a/nvif/object.c b/drm/nouveau/nvif/object.c
index dd85b56f..3ab4e2f8 100644
--- a/nvif/object.c
+++ b/drm/nouveau/nvif/object.c
@@ -22,10 +22,10 @@
* Authors: Ben Skeggs <bskeggs@redhat.com>
*/
-#include "object.h"
-#include "client.h"
-#include "driver.h"
-#include "ioctl.h"
+#include <nvif/object.h>
+#include <nvif/client.h>
+#include <nvif/driver.h>
+#include <nvif/ioctl.h>
int
nvif_object_ioctl(struct nvif_object *object, void *data, u32 size, void **hack)
diff --git a/drm/nouveau/nvkm/Kbuild b/drm/nouveau/nvkm/Kbuild
new file mode 100644
index 00000000..2832147b
--- /dev/null
+++ b/drm/nouveau/nvkm/Kbuild
@@ -0,0 +1,3 @@
+include $(src)/nvkm/core/Kbuild
+include $(src)/nvkm/subdev/Kbuild
+include $(src)/nvkm/engine/Kbuild
diff --git a/drm/nouveau/nvkm/core/Kbuild b/drm/nouveau/nvkm/core/Kbuild
new file mode 100644
index 00000000..a2bdb206
--- /dev/null
+++ b/drm/nouveau/nvkm/core/Kbuild
@@ -0,0 +1,17 @@
+nvkm-y := nvkm/core/client.o
+nvkm-y += nvkm/core/engctx.o
+nvkm-y += nvkm/core/engine.o
+nvkm-y += nvkm/core/enum.o
+nvkm-y += nvkm/core/event.o
+nvkm-y += nvkm/core/gpuobj.o
+nvkm-y += nvkm/core/handle.o
+nvkm-y += nvkm/core/ioctl.o
+nvkm-y += nvkm/core/mm.o
+nvkm-y += nvkm/core/namedb.o
+nvkm-y += nvkm/core/notify.o
+nvkm-y += nvkm/core/object.o
+nvkm-y += nvkm/core/option.o
+nvkm-y += nvkm/core/parent.o
+nvkm-y += nvkm/core/printk.o
+nvkm-y += nvkm/core/ramht.o
+nvkm-y += nvkm/core/subdev.o
diff --git a/nvkm/core/client.c b/drm/nouveau/nvkm/core/client.c
index acff1038..acff1038 100644
--- a/nvkm/core/client.c
+++ b/drm/nouveau/nvkm/core/client.c
diff --git a/nvkm/core/engctx.c b/drm/nouveau/nvkm/core/engctx.c
index 16f09b12..16f09b12 100644
--- a/nvkm/core/engctx.c
+++ b/drm/nouveau/nvkm/core/engctx.c
diff --git a/nvkm/core/engine.c b/drm/nouveau/nvkm/core/engine.c
index c9414b15..c9414b15 100644
--- a/nvkm/core/engine.c
+++ b/drm/nouveau/nvkm/core/engine.c
diff --git a/nvkm/core/enum.c b/drm/nouveau/nvkm/core/enum.c
index dd434790..dd434790 100644
--- a/nvkm/core/enum.c
+++ b/drm/nouveau/nvkm/core/enum.c
diff --git a/nvkm/core/event.c b/drm/nouveau/nvkm/core/event.c
index 760947e3..760947e3 100644
--- a/nvkm/core/event.c
+++ b/drm/nouveau/nvkm/core/event.c
diff --git a/nvkm/core/gpuobj.c b/drm/nouveau/nvkm/core/gpuobj.c
index 0fa64576..0fa64576 100644
--- a/nvkm/core/gpuobj.c
+++ b/drm/nouveau/nvkm/core/gpuobj.c
diff --git a/nvkm/core/handle.c b/drm/nouveau/nvkm/core/handle.c
index 13f816cb..13f816cb 100644
--- a/nvkm/core/handle.c
+++ b/drm/nouveau/nvkm/core/handle.c
diff --git a/nvkm/core/ioctl.c b/drm/nouveau/nvkm/core/ioctl.c
index bdfabb4a..bdfabb4a 100644
--- a/nvkm/core/ioctl.c
+++ b/drm/nouveau/nvkm/core/ioctl.c
diff --git a/nvkm/core/mm.c b/drm/nouveau/nvkm/core/mm.c
index b4f5db66..b4f5db66 100644
--- a/nvkm/core/mm.c
+++ b/drm/nouveau/nvkm/core/mm.c
diff --git a/nvkm/core/namedb.c b/drm/nouveau/nvkm/core/namedb.c
index 0594a599..0594a599 100644
--- a/nvkm/core/namedb.c
+++ b/drm/nouveau/nvkm/core/namedb.c
diff --git a/nvkm/core/notify.c b/drm/nouveau/nvkm/core/notify.c
index 839a3257..839a3257 100644
--- a/nvkm/core/notify.c
+++ b/drm/nouveau/nvkm/core/notify.c
diff --git a/nvkm/core/object.c b/drm/nouveau/nvkm/core/object.c
index b160860e..b160860e 100644
--- a/nvkm/core/object.c
+++ b/drm/nouveau/nvkm/core/object.c
diff --git a/nvkm/core/option.c b/drm/nouveau/nvkm/core/option.c
index 9f6fcc5f..9f6fcc5f 100644
--- a/nvkm/core/option.c
+++ b/drm/nouveau/nvkm/core/option.c
diff --git a/nvkm/core/parent.c b/drm/nouveau/nvkm/core/parent.c
index 1f28fa12..1f28fa12 100644
--- a/nvkm/core/parent.c
+++ b/drm/nouveau/nvkm/core/parent.c
diff --git a/nvkm/core/printk.c b/drm/nouveau/nvkm/core/printk.c
index ed424f99..ed424f99 100644
--- a/nvkm/core/printk.c
+++ b/drm/nouveau/nvkm/core/printk.c
diff --git a/nvkm/core/ramht.c b/drm/nouveau/nvkm/core/ramht.c
index 25cd6f29..25cd6f29 100644
--- a/nvkm/core/ramht.c
+++ b/drm/nouveau/nvkm/core/ramht.c
diff --git a/nvkm/core/subdev.c b/drm/nouveau/nvkm/core/subdev.c
index cb1c49c2..cb1c49c2 100644
--- a/nvkm/core/subdev.c
+++ b/drm/nouveau/nvkm/core/subdev.c
diff --git a/drm/nouveau/nvkm/engine/Kbuild b/drm/nouveau/nvkm/engine/Kbuild
new file mode 100644
index 00000000..ebd30be3
--- /dev/null
+++ b/drm/nouveau/nvkm/engine/Kbuild
@@ -0,0 +1,16 @@
+nvkm-y += nvkm/engine/falcon.o
+nvkm-y += nvkm/engine/xtensa.o
+
+include $(src)/nvkm/engine/bsp/Kbuild
+include $(src)/nvkm/engine/copy/Kbuild
+include $(src)/nvkm/engine/crypt/Kbuild
+include $(src)/nvkm/engine/device/Kbuild
+include $(src)/nvkm/engine/disp/Kbuild
+include $(src)/nvkm/engine/dmaobj/Kbuild
+include $(src)/nvkm/engine/fifo/Kbuild
+include $(src)/nvkm/engine/graph/Kbuild
+include $(src)/nvkm/engine/mpeg/Kbuild
+include $(src)/nvkm/engine/perfmon/Kbuild
+include $(src)/nvkm/engine/ppp/Kbuild
+include $(src)/nvkm/engine/software/Kbuild
+include $(src)/nvkm/engine/vp/Kbuild
diff --git a/drm/nouveau/nvkm/engine/bsp/Kbuild b/drm/nouveau/nvkm/engine/bsp/Kbuild
new file mode 100644
index 00000000..da54c561
--- /dev/null
+++ b/drm/nouveau/nvkm/engine/bsp/Kbuild
@@ -0,0 +1,4 @@
+nvkm-y += nvkm/engine/bsp/nv84.o
+nvkm-y += nvkm/engine/bsp/nv98.o
+nvkm-y += nvkm/engine/bsp/nvc0.o
+nvkm-y += nvkm/engine/bsp/nve0.o
diff --git a/nvkm/engine/bsp/nv84.c b/drm/nouveau/nvkm/engine/bsp/nv84.c
index 1e8e75c0..1e8e75c0 100644
--- a/nvkm/engine/bsp/nv84.c
+++ b/drm/nouveau/nvkm/engine/bsp/nv84.c
diff --git a/nvkm/engine/bsp/nv98.c b/drm/nouveau/nvkm/engine/bsp/nv98.c
index 6b089e02..6b089e02 100644
--- a/nvkm/engine/bsp/nv98.c
+++ b/drm/nouveau/nvkm/engine/bsp/nv98.c
diff --git a/nvkm/engine/bsp/nvc0.c b/drm/nouveau/nvkm/engine/bsp/nvc0.c
index ce860de4..ce860de4 100644
--- a/nvkm/engine/bsp/nvc0.c
+++ b/drm/nouveau/nvkm/engine/bsp/nvc0.c
diff --git a/nvkm/engine/bsp/nve0.c b/drm/nouveau/nvkm/engine/bsp/nve0.c
index ba6aeca0..ba6aeca0 100644
--- a/nvkm/engine/bsp/nve0.c
+++ b/drm/nouveau/nvkm/engine/bsp/nve0.c
diff --git a/drm/nouveau/nvkm/engine/copy/Kbuild b/drm/nouveau/nvkm/engine/copy/Kbuild
new file mode 100644
index 00000000..d8aa5edb
--- /dev/null
+++ b/drm/nouveau/nvkm/engine/copy/Kbuild
@@ -0,0 +1,3 @@
+nvkm-y += nvkm/engine/copy/nva3.o
+nvkm-y += nvkm/engine/copy/nvc0.o
+nvkm-y += nvkm/engine/copy/nve0.o
diff --git a/nvkm/engine/copy/fuc/nva3.fuc b/drm/nouveau/nvkm/engine/copy/fuc/com.fuc
index 219850d5..33b67dc7 100644
--- a/nvkm/engine/copy/fuc/nva3.fuc
+++ b/drm/nouveau/nvkm/engine/copy/fuc/com.fuc
@@ -30,19 +30,19 @@
* m4 -DNVC0 nva3_copy.fuc | envyas -a -w -m fuc -V nva3 -o nvc0_copy.fuc.h
*/
-ifdef(`NVA3',
+#ifdef NVA3
.section #nva3_pcopy_data
-,
+#else
.section #nvc0_pcopy_data
-)
+#endif
ctx_object: .b32 0
-ifdef(`NVA3',
+#ifdef NVA3
ctx_dma:
ctx_dma_query: .b32 0
ctx_dma_src: .b32 0
ctx_dma_dst: .b32 0
-,)
+#endif
.equ #ctx_dma_count 3
ctx_query_address_high: .b32 0
ctx_query_address_low: .b32 0
@@ -86,14 +86,14 @@ dispatch_table:
// mthd 0x0140, PM_TRIGGER
.b16 0x050 1
.b32 0x00010000 + #cmd_pm_trigger ~0xffffffff
-ifdef(`NVA3', `
+#ifdef NVA3
// mthd 0x0180-0x018c, DMA_
.b16 0x060 #ctx_dma_count
dispatch_dma:
.b32 0x00010000 + #cmd_dma ~0xffffffff
.b32 0x00010000 + #cmd_dma ~0xffffffff
.b32 0x00010000 + #cmd_dma ~0xffffffff
-',)
+#endif
// mthd 0x0200-0x0218, SRC_TILE
.b16 0x80 7
.b32 #ctx_src_tile_mode ~0x00000fff
@@ -134,11 +134,11 @@ dispatch_dma:
.b32 #ctx_query_counter ~0xffffffff
.b16 0x800 0
-ifdef(`NVA3',
+#ifdef NVA3
.section #nva3_pcopy_code
-,
+#else
.section #nvc0_pcopy_code
-)
+#endif
main:
clear b32 $r0
@@ -190,10 +190,10 @@ ih:
swctx:
mov $r4 0x7700
mov $xtargets $r4
-ifdef(`NVA3', `
+#ifdef NVA3
// target 7 hardcoded to ctx dma object
mov $xdbase $r0
-', ` // NVC0
+#else
// read SCRATCH3 to decide if we are PCOPY0 or PCOPY1
mov $r4 0x2100
iord $r4 I[$r4 + 0]
@@ -231,7 +231,7 @@ ifdef(`NVA3', `
shl b32 $r6 24
or $r4 $r6
mov $xdbase $r4
-')
+#endif
// 256-byte context, at start of data segment
mov b32 $r4 $r0
sethi $r4 0x60000
@@ -271,7 +271,7 @@ chsw:
bra e #chsw_finish_load
bset $flags $p1
call #swctx
-ifdef(`NVA3',
+#ifdef NVA3
// load dma objects back into TARGET regs
mov $r5 #ctx_dma
mov $r6 #ctx_dma_count
@@ -282,8 +282,7 @@ ifdef(`NVA3',
iowr I[$r8] $r7
sub b32 $r6 1
bra nc #chsw_load_ctx_dma
-,)
-
+#endif
chsw_finish_load:
mov $r3 2
iowr I[$r2 + 0x200] $r3
@@ -397,7 +396,7 @@ cmd_pm_trigger:
iowr I[$r2] $r3
ret
-ifdef(`NVA3',
+#ifdef NVA3
// SET_DMA_* method handler
//
// Inputs:
@@ -419,7 +418,7 @@ cmd_dma:
shl b32 $r4 6
iowr I[$r4] $r3
ret
-,)
+#endif
// Calculates the hw swizzle mask and adjusts the surface's xcnt to match
//
@@ -548,11 +547,11 @@ cmd_exec_set_surface_tiled:
ld b32 $r7 D[$r5 + #ctx_src_tile_mode]
extr $r9 $r7 8:11
extr $r8 $r7 4:7
-ifdef(`NVA3',
+#ifdef NVA3
add b32 $r8 2
-,
+#else
add b32 $r8 3
-)
+#endif
extr $r7 $r7 0:3
cmp b32 $r7 0xe
bra ne #xtile64
diff --git a/drm/nouveau/nvkm/engine/copy/fuc/nva3.fuc3 b/drm/nouveau/nvkm/engine/copy/fuc/nva3.fuc3
new file mode 100644
index 00000000..e6706202
--- /dev/null
+++ b/drm/nouveau/nvkm/engine/copy/fuc/nva3.fuc3
@@ -0,0 +1,2 @@
+#define NVA3
+#include "com.fuc"
diff --git a/nvkm/engine/copy/fuc/nva3.fuc.h b/drm/nouveau/nvkm/engine/copy/fuc/nva3.fuc3.h
index 241b2720..241b2720 100644
--- a/nvkm/engine/copy/fuc/nva3.fuc.h
+++ b/drm/nouveau/nvkm/engine/copy/fuc/nva3.fuc3.h
diff --git a/drm/nouveau/nvkm/engine/copy/fuc/nvc0.fuc3 b/drm/nouveau/nvkm/engine/copy/fuc/nvc0.fuc3
new file mode 100644
index 00000000..df6866c3
--- /dev/null
+++ b/drm/nouveau/nvkm/engine/copy/fuc/nvc0.fuc3
@@ -0,0 +1,2 @@
+#define NVC0
+#include "com.fuc"
diff --git a/nvkm/engine/copy/fuc/nvc0.fuc.h b/drm/nouveau/nvkm/engine/copy/fuc/nvc0.fuc3.h
index 98cc4216..98cc4216 100644
--- a/nvkm/engine/copy/fuc/nvc0.fuc.h
+++ b/drm/nouveau/nvkm/engine/copy/fuc/nvc0.fuc3.h
diff --git a/nvkm/engine/copy/nva3.c b/drm/nouveau/nvkm/engine/copy/nva3.c
index abb410ef..13c05e09 100644
--- a/nvkm/engine/copy/nva3.c
+++ b/drm/nouveau/nvkm/engine/copy/nva3.c
@@ -33,7 +33,7 @@
#include <core/enum.h>
-#include "fuc/nva3.fuc.h"
+#include "fuc/nva3.fuc3.h"
struct nva3_copy_priv {
struct nouveau_falcon base;
diff --git a/nvkm/engine/copy/nvc0.c b/drm/nouveau/nvkm/engine/copy/nvc0.c
index 20a8cd7f..abe32499 100644
--- a/nvkm/engine/copy/nvc0.c
+++ b/drm/nouveau/nvkm/engine/copy/nvc0.c
@@ -29,7 +29,7 @@
#include <core/enum.h>
#include <core/enum.h>
-#include "fuc/nvc0.fuc.h"
+#include "fuc/nvc0.fuc3.h"
struct nvc0_copy_priv {
struct nouveau_falcon base;
diff --git a/nvkm/engine/copy/nve0.c b/drm/nouveau/nvkm/engine/copy/nve0.c
index b140a01d..b140a01d 100644
--- a/nvkm/engine/copy/nve0.c
+++ b/drm/nouveau/nvkm/engine/copy/nve0.c
diff --git a/drm/nouveau/nvkm/engine/crypt/Kbuild b/drm/nouveau/nvkm/engine/crypt/Kbuild
new file mode 100644
index 00000000..eaeafdf3
--- /dev/null
+++ b/drm/nouveau/nvkm/engine/crypt/Kbuild
@@ -0,0 +1,2 @@
+nvkm-y += nvkm/engine/crypt/nv84.o
+nvkm-y += nvkm/engine/crypt/nv98.o
diff --git a/nvkm/engine/crypt/fuc/nv98.fuc b/drm/nouveau/nvkm/engine/crypt/fuc/nv98.fuc0s
index 629da02d..629da02d 100644
--- a/nvkm/engine/crypt/fuc/nv98.fuc
+++ b/drm/nouveau/nvkm/engine/crypt/fuc/nv98.fuc0s
diff --git a/nvkm/engine/crypt/fuc/nv98.fuc.h b/drm/nouveau/nvkm/engine/crypt/fuc/nv98.fuc0s.h
index 38676c74..38676c74 100644
--- a/nvkm/engine/crypt/fuc/nv98.fuc.h
+++ b/drm/nouveau/nvkm/engine/crypt/fuc/nv98.fuc0s.h
diff --git a/nvkm/engine/crypt/nv84.c b/drm/nouveau/nvkm/engine/crypt/nv84.c
index ea5c42f3..ea5c42f3 100644
--- a/nvkm/engine/crypt/nv84.c
+++ b/drm/nouveau/nvkm/engine/crypt/nv84.c
diff --git a/nvkm/engine/crypt/nv98.c b/drm/nouveau/nvkm/engine/crypt/nv98.c
index 5571c095..e0838c46 100644
--- a/nvkm/engine/crypt/nv98.c
+++ b/drm/nouveau/nvkm/engine/crypt/nv98.c
@@ -34,7 +34,7 @@
#include <engine/fifo.h>
#include <engine/crypt.h>
-#include "fuc/nv98.fuc.h"
+#include "fuc/nv98.fuc0s.h"
struct nv98_crypt_priv {
struct nouveau_falcon base;
diff --git a/drm/nouveau/nvkm/engine/device/Kbuild b/drm/nouveau/nvkm/engine/device/Kbuild
new file mode 100644
index 00000000..77d06d46
--- /dev/null
+++ b/drm/nouveau/nvkm/engine/device/Kbuild
@@ -0,0 +1,12 @@
+nvkm-y += nvkm/engine/device/acpi.o
+nvkm-y += nvkm/engine/device/base.o
+nvkm-y += nvkm/engine/device/ctrl.o
+nvkm-y += nvkm/engine/device/nv04.o
+nvkm-y += nvkm/engine/device/nv10.o
+nvkm-y += nvkm/engine/device/nv20.o
+nvkm-y += nvkm/engine/device/nv30.o
+nvkm-y += nvkm/engine/device/nv40.o
+nvkm-y += nvkm/engine/device/nv50.o
+nvkm-y += nvkm/engine/device/nvc0.o
+nvkm-y += nvkm/engine/device/nve0.o
+nvkm-y += nvkm/engine/device/gm100.o
diff --git a/nvkm/engine/device/acpi.c b/drm/nouveau/nvkm/engine/device/acpi.c
index 4dbf0ba8..4dbf0ba8 100644
--- a/nvkm/engine/device/acpi.c
+++ b/drm/nouveau/nvkm/engine/device/acpi.c
diff --git a/nvkm/engine/device/acpi.h b/drm/nouveau/nvkm/engine/device/acpi.h
index cc49f4f5..cc49f4f5 100644
--- a/nvkm/engine/device/acpi.h
+++ b/drm/nouveau/nvkm/engine/device/acpi.h
diff --git a/nvkm/engine/device/base.c b/drm/nouveau/nvkm/engine/device/base.c
index f74f9cbb..f74f9cbb 100644
--- a/nvkm/engine/device/base.c
+++ b/drm/nouveau/nvkm/engine/device/base.c
diff --git a/nvkm/engine/device/ctrl.c b/drm/nouveau/nvkm/engine/device/ctrl.c
index e34101a3..e34101a3 100644
--- a/nvkm/engine/device/ctrl.c
+++ b/drm/nouveau/nvkm/engine/device/ctrl.c
diff --git a/nvkm/engine/device/gm100.c b/drm/nouveau/nvkm/engine/device/gm100.c
index 4e74a337..4e74a337 100644
--- a/nvkm/engine/device/gm100.c
+++ b/drm/nouveau/nvkm/engine/device/gm100.c
diff --git a/nvkm/engine/device/nv04.c b/drm/nouveau/nvkm/engine/device/nv04.c
index 573b55f5..573b55f5 100644
--- a/nvkm/engine/device/nv04.c
+++ b/drm/nouveau/nvkm/engine/device/nv04.c
diff --git a/nvkm/engine/device/nv10.c b/drm/nouveau/nvkm/engine/device/nv10.c
index 183a85a6..183a85a6 100644
--- a/nvkm/engine/device/nv10.c
+++ b/drm/nouveau/nvkm/engine/device/nv10.c
diff --git a/nvkm/engine/device/nv20.c b/drm/nouveau/nvkm/engine/device/nv20.c
index aa564c68..aa564c68 100644
--- a/nvkm/engine/device/nv20.c
+++ b/drm/nouveau/nvkm/engine/device/nv20.c
diff --git a/nvkm/engine/device/nv30.c b/drm/nouveau/nvkm/engine/device/nv30.c
index 11bd31da..11bd31da 100644
--- a/nvkm/engine/device/nv30.c
+++ b/drm/nouveau/nvkm/engine/device/nv30.c
diff --git a/nvkm/engine/device/nv40.c b/drm/nouveau/nvkm/engine/device/nv40.c
index e96c223c..e96c223c 100644
--- a/nvkm/engine/device/nv40.c
+++ b/drm/nouveau/nvkm/engine/device/nv40.c
diff --git a/nvkm/engine/device/nv50.c b/drm/nouveau/nvkm/engine/device/nv50.c
index 96f568d1..96f568d1 100644
--- a/nvkm/engine/device/nv50.c
+++ b/drm/nouveau/nvkm/engine/device/nv50.c
diff --git a/nvkm/engine/device/nvc0.c b/drm/nouveau/nvkm/engine/device/nvc0.c
index 72a40f95..72a40f95 100644
--- a/nvkm/engine/device/nvc0.c
+++ b/drm/nouveau/nvkm/engine/device/nvc0.c
diff --git a/nvkm/engine/device/nve0.c b/drm/nouveau/nvkm/engine/device/nve0.c
index d308aee0..d308aee0 100644
--- a/nvkm/engine/device/nve0.c
+++ b/drm/nouveau/nvkm/engine/device/nve0.c
diff --git a/nvkm/engine/device/priv.h b/drm/nouveau/nvkm/engine/device/priv.h
index 035fd5b9..035fd5b9 100644
--- a/nvkm/engine/device/priv.h
+++ b/drm/nouveau/nvkm/engine/device/priv.h
diff --git a/drm/nouveau/nvkm/engine/disp/Kbuild b/drm/nouveau/nvkm/engine/disp/Kbuild
new file mode 100644
index 00000000..50bd1e2b
--- /dev/null
+++ b/drm/nouveau/nvkm/engine/disp/Kbuild
@@ -0,0 +1,29 @@
+nvkm-y += nvkm/engine/disp/base.o
+nvkm-y += nvkm/engine/disp/conn.o
+nvkm-y += nvkm/engine/disp/outp.o
+nvkm-y += nvkm/engine/disp/outpdp.o
+nvkm-y += nvkm/engine/disp/nv04.o
+nvkm-y += nvkm/engine/disp/nv50.o
+nvkm-y += nvkm/engine/disp/nv84.o
+nvkm-y += nvkm/engine/disp/nv94.o
+nvkm-y += nvkm/engine/disp/nva0.o
+nvkm-y += nvkm/engine/disp/nva3.o
+nvkm-y += nvkm/engine/disp/nvd0.o
+nvkm-y += nvkm/engine/disp/nve0.o
+nvkm-y += nvkm/engine/disp/nvf0.o
+nvkm-y += nvkm/engine/disp/gm107.o
+nvkm-y += nvkm/engine/disp/gm204.o
+nvkm-y += nvkm/engine/disp/dacnv50.o
+nvkm-y += nvkm/engine/disp/dport.o
+nvkm-y += nvkm/engine/disp/hdanva3.o
+nvkm-y += nvkm/engine/disp/hdanvd0.o
+nvkm-y += nvkm/engine/disp/hdminv84.o
+nvkm-y += nvkm/engine/disp/hdminva3.o
+nvkm-y += nvkm/engine/disp/hdminvd0.o
+nvkm-y += nvkm/engine/disp/hdminve0.o
+nvkm-y += nvkm/engine/disp/piornv50.o
+nvkm-y += nvkm/engine/disp/sornv50.o
+nvkm-y += nvkm/engine/disp/sornv94.o
+nvkm-y += nvkm/engine/disp/sornvd0.o
+nvkm-y += nvkm/engine/disp/sorgm204.o
+nvkm-y += nvkm/engine/disp/vga.o
diff --git a/nvkm/engine/disp/base.c b/drm/nouveau/nvkm/engine/disp/base.c
index c8a5f810..c8a5f810 100644
--- a/nvkm/engine/disp/base.c
+++ b/drm/nouveau/nvkm/engine/disp/base.c
diff --git a/nvkm/engine/disp/conn.c b/drm/nouveau/nvkm/engine/disp/conn.c
index 498ab4b8..498ab4b8 100644
--- a/nvkm/engine/disp/conn.c
+++ b/drm/nouveau/nvkm/engine/disp/conn.c
diff --git a/nvkm/engine/disp/conn.h b/drm/nouveau/nvkm/engine/disp/conn.h
index a1bf359e..a1bf359e 100644
--- a/nvkm/engine/disp/conn.h
+++ b/drm/nouveau/nvkm/engine/disp/conn.h
diff --git a/nvkm/engine/disp/dacnv50.c b/drm/nouveau/nvkm/engine/disp/dacnv50.c
index b36addff..b36addff 100644
--- a/nvkm/engine/disp/dacnv50.c
+++ b/drm/nouveau/nvkm/engine/disp/dacnv50.c
diff --git a/nvkm/engine/disp/dport.c b/drm/nouveau/nvkm/engine/disp/dport.c
index 16db08df..16db08df 100644
--- a/nvkm/engine/disp/dport.c
+++ b/drm/nouveau/nvkm/engine/disp/dport.c
diff --git a/nvkm/engine/disp/dport.h b/drm/nouveau/nvkm/engine/disp/dport.h
index 5628d2d5..5628d2d5 100644
--- a/nvkm/engine/disp/dport.h
+++ b/drm/nouveau/nvkm/engine/disp/dport.h
diff --git a/nvkm/engine/disp/gm107.c b/drm/nouveau/nvkm/engine/disp/gm107.c
index e2ad0543..e2ad0543 100644
--- a/nvkm/engine/disp/gm107.c
+++ b/drm/nouveau/nvkm/engine/disp/gm107.c
diff --git a/nvkm/engine/disp/gm204.c b/drm/nouveau/nvkm/engine/disp/gm204.c
index 672ded79..672ded79 100644
--- a/nvkm/engine/disp/gm204.c
+++ b/drm/nouveau/nvkm/engine/disp/gm204.c
diff --git a/nvkm/engine/disp/hdanva3.c b/drm/nouveau/nvkm/engine/disp/hdanva3.c
index fe9ef589..fe9ef589 100644
--- a/nvkm/engine/disp/hdanva3.c
+++ b/drm/nouveau/nvkm/engine/disp/hdanva3.c
diff --git a/nvkm/engine/disp/hdanvd0.c b/drm/nouveau/nvkm/engine/disp/hdanvd0.c
index 1d4e8432..1d4e8432 100644
--- a/nvkm/engine/disp/hdanvd0.c
+++ b/drm/nouveau/nvkm/engine/disp/hdanvd0.c
diff --git a/nvkm/engine/disp/hdminv84.c b/drm/nouveau/nvkm/engine/disp/hdminv84.c
index fa276ded..fa276ded 100644
--- a/nvkm/engine/disp/hdminv84.c
+++ b/drm/nouveau/nvkm/engine/disp/hdminv84.c
diff --git a/nvkm/engine/disp/hdminva3.c b/drm/nouveau/nvkm/engine/disp/hdminva3.c
index 57eeed1d..57eeed1d 100644
--- a/nvkm/engine/disp/hdminva3.c
+++ b/drm/nouveau/nvkm/engine/disp/hdminva3.c
diff --git a/nvkm/engine/disp/hdminvd0.c b/drm/nouveau/nvkm/engine/disp/hdminvd0.c
index bac4fc45..bac4fc45 100644
--- a/nvkm/engine/disp/hdminvd0.c
+++ b/drm/nouveau/nvkm/engine/disp/hdminvd0.c
diff --git a/nvkm/engine/disp/hdminve0.c b/drm/nouveau/nvkm/engine/disp/hdminve0.c
index 528d14ec..528d14ec 100644
--- a/nvkm/engine/disp/hdminve0.c
+++ b/drm/nouveau/nvkm/engine/disp/hdminve0.c
diff --git a/nvkm/engine/disp/nv04.c b/drm/nouveau/nvkm/engine/disp/nv04.c
index 366f315f..366f315f 100644
--- a/nvkm/engine/disp/nv04.c
+++ b/drm/nouveau/nvkm/engine/disp/nv04.c
diff --git a/nvkm/engine/disp/nv50.c b/drm/nouveau/nvkm/engine/disp/nv50.c
index 44a8290a..44a8290a 100644
--- a/nvkm/engine/disp/nv50.c
+++ b/drm/nouveau/nvkm/engine/disp/nv50.c
diff --git a/nvkm/engine/disp/nv50.h b/drm/nouveau/nvkm/engine/disp/nv50.h
index 7f08078e..7f08078e 100644
--- a/nvkm/engine/disp/nv50.h
+++ b/drm/nouveau/nvkm/engine/disp/nv50.h
diff --git a/nvkm/engine/disp/nv84.c b/drm/nouveau/nvkm/engine/disp/nv84.c
index 13eff5e4..13eff5e4 100644
--- a/nvkm/engine/disp/nv84.c
+++ b/drm/nouveau/nvkm/engine/disp/nv84.c
diff --git a/nvkm/engine/disp/nv94.c b/drm/nouveau/nvkm/engine/disp/nv94.c
index 2bb7ac5c..2bb7ac5c 100644
--- a/nvkm/engine/disp/nv94.c
+++ b/drm/nouveau/nvkm/engine/disp/nv94.c
diff --git a/nvkm/engine/disp/nva0.c b/drm/nouveau/nvkm/engine/disp/nva0.c
index b32456c9..b32456c9 100644
--- a/nvkm/engine/disp/nva0.c
+++ b/drm/nouveau/nvkm/engine/disp/nva0.c
diff --git a/nvkm/engine/disp/nva3.c b/drm/nouveau/nvkm/engine/disp/nva3.c
index 951d79f9..951d79f9 100644
--- a/nvkm/engine/disp/nva3.c
+++ b/drm/nouveau/nvkm/engine/disp/nva3.c
diff --git a/nvkm/engine/disp/nvd0.c b/drm/nouveau/nvkm/engine/disp/nvd0.c
index 181a2d57..181a2d57 100644
--- a/nvkm/engine/disp/nvd0.c
+++ b/drm/nouveau/nvkm/engine/disp/nvd0.c
diff --git a/nvkm/engine/disp/nve0.c b/drm/nouveau/nvkm/engine/disp/nve0.c
index 55debec7..55debec7 100644
--- a/nvkm/engine/disp/nve0.c
+++ b/drm/nouveau/nvkm/engine/disp/nve0.c
diff --git a/nvkm/engine/disp/nvf0.c b/drm/nouveau/nvkm/engine/disp/nvf0.c
index 3e7e2d28..3e7e2d28 100644
--- a/nvkm/engine/disp/nvf0.c
+++ b/drm/nouveau/nvkm/engine/disp/nvf0.c
diff --git a/nvkm/engine/disp/outp.c b/drm/nouveau/nvkm/engine/disp/outp.c
index c5589c26..c5589c26 100644
--- a/nvkm/engine/disp/outp.c
+++ b/drm/nouveau/nvkm/engine/disp/outp.c
diff --git a/nvkm/engine/disp/outp.h b/drm/nouveau/nvkm/engine/disp/outp.h
index 5305aa0f..5305aa0f 100644
--- a/nvkm/engine/disp/outp.h
+++ b/drm/nouveau/nvkm/engine/disp/outp.h
diff --git a/nvkm/engine/disp/outpdp.c b/drm/nouveau/nvkm/engine/disp/outpdp.c
index 667a9070..667a9070 100644
--- a/nvkm/engine/disp/outpdp.c
+++ b/drm/nouveau/nvkm/engine/disp/outpdp.c
diff --git a/nvkm/engine/disp/outpdp.h b/drm/nouveau/nvkm/engine/disp/outpdp.h
index 1fac367c..1fac367c 100644
--- a/nvkm/engine/disp/outpdp.h
+++ b/drm/nouveau/nvkm/engine/disp/outpdp.h
diff --git a/nvkm/engine/disp/piornv50.c b/drm/nouveau/nvkm/engine/disp/piornv50.c
index d00f89a4..d00f89a4 100644
--- a/nvkm/engine/disp/piornv50.c
+++ b/drm/nouveau/nvkm/engine/disp/piornv50.c
diff --git a/nvkm/engine/disp/priv.h b/drm/nouveau/nvkm/engine/disp/priv.h
index 6a0511d5..6a0511d5 100644
--- a/nvkm/engine/disp/priv.h
+++ b/drm/nouveau/nvkm/engine/disp/priv.h
diff --git a/nvkm/engine/disp/sorgm204.c b/drm/nouveau/nvkm/engine/disp/sorgm204.c
index 0b4fad39..0b4fad39 100644
--- a/nvkm/engine/disp/sorgm204.c
+++ b/drm/nouveau/nvkm/engine/disp/sorgm204.c
diff --git a/nvkm/engine/disp/sornv50.c b/drm/nouveau/nvkm/engine/disp/sornv50.c
index ddf1760c..ddf1760c 100644
--- a/nvkm/engine/disp/sornv50.c
+++ b/drm/nouveau/nvkm/engine/disp/sornv50.c
diff --git a/nvkm/engine/disp/sornv94.c b/drm/nouveau/nvkm/engine/disp/sornv94.c
index 39f85d62..39f85d62 100644
--- a/nvkm/engine/disp/sornv94.c
+++ b/drm/nouveau/nvkm/engine/disp/sornv94.c
diff --git a/nvkm/engine/disp/sornvd0.c b/drm/nouveau/nvkm/engine/disp/sornvd0.c
index fdab2939..fdab2939 100644
--- a/nvkm/engine/disp/sornvd0.c
+++ b/drm/nouveau/nvkm/engine/disp/sornvd0.c
diff --git a/nvkm/engine/disp/vga.c b/drm/nouveau/nvkm/engine/disp/vga.c
index 8836c3cb..8836c3cb 100644
--- a/nvkm/engine/disp/vga.c
+++ b/drm/nouveau/nvkm/engine/disp/vga.c
diff --git a/drm/nouveau/nvkm/engine/dmaobj/Kbuild b/drm/nouveau/nvkm/engine/dmaobj/Kbuild
new file mode 100644
index 00000000..4f9286a0
--- /dev/null
+++ b/drm/nouveau/nvkm/engine/dmaobj/Kbuild
@@ -0,0 +1,5 @@
+nvkm-y += nvkm/engine/dmaobj/base.o
+nvkm-y += nvkm/engine/dmaobj/nv04.o
+nvkm-y += nvkm/engine/dmaobj/nv50.o
+nvkm-y += nvkm/engine/dmaobj/nvc0.o
+nvkm-y += nvkm/engine/dmaobj/nvd0.o
diff --git a/nvkm/engine/dmaobj/base.c b/drm/nouveau/nvkm/engine/dmaobj/base.c
index e1500f77..e1500f77 100644
--- a/nvkm/engine/dmaobj/base.c
+++ b/drm/nouveau/nvkm/engine/dmaobj/base.c
diff --git a/nvkm/engine/dmaobj/nv04.c b/drm/nouveau/nvkm/engine/dmaobj/nv04.c
index 20c9dbfe..20c9dbfe 100644
--- a/nvkm/engine/dmaobj/nv04.c
+++ b/drm/nouveau/nvkm/engine/dmaobj/nv04.c
diff --git a/nvkm/engine/dmaobj/nv50.c b/drm/nouveau/nvkm/engine/dmaobj/nv50.c
index a740ddba..a740ddba 100644
--- a/nvkm/engine/dmaobj/nv50.c
+++ b/drm/nouveau/nvkm/engine/dmaobj/nv50.c
diff --git a/nvkm/engine/dmaobj/nvc0.c b/drm/nouveau/nvkm/engine/dmaobj/nvc0.c
index 88ec33b2..88ec33b2 100644
--- a/nvkm/engine/dmaobj/nvc0.c
+++ b/drm/nouveau/nvkm/engine/dmaobj/nvc0.c
diff --git a/nvkm/engine/dmaobj/nvd0.c b/drm/nouveau/nvkm/engine/dmaobj/nvd0.c
index 19f5f652..19f5f652 100644
--- a/nvkm/engine/dmaobj/nvd0.c
+++ b/drm/nouveau/nvkm/engine/dmaobj/nvd0.c
diff --git a/nvkm/engine/dmaobj/priv.h b/drm/nouveau/nvkm/engine/dmaobj/priv.h
index 36f74386..36f74386 100644
--- a/nvkm/engine/dmaobj/priv.h
+++ b/drm/nouveau/nvkm/engine/dmaobj/priv.h
diff --git a/nvkm/engine/falcon.c b/drm/nouveau/nvkm/engine/falcon.c
index 2914646c..2914646c 100644
--- a/nvkm/engine/falcon.c
+++ b/drm/nouveau/nvkm/engine/falcon.c
diff --git a/drm/nouveau/nvkm/engine/fifo/Kbuild b/drm/nouveau/nvkm/engine/fifo/Kbuild
new file mode 100644
index 00000000..f38820fa
--- /dev/null
+++ b/drm/nouveau/nvkm/engine/fifo/Kbuild
@@ -0,0 +1,11 @@
+nvkm-y += nvkm/engine/fifo/base.o
+nvkm-y += nvkm/engine/fifo/nv04.o
+nvkm-y += nvkm/engine/fifo/nv10.o
+nvkm-y += nvkm/engine/fifo/nv17.o
+nvkm-y += nvkm/engine/fifo/nv40.o
+nvkm-y += nvkm/engine/fifo/nv50.o
+nvkm-y += nvkm/engine/fifo/nv84.o
+nvkm-y += nvkm/engine/fifo/nvc0.o
+nvkm-y += nvkm/engine/fifo/nve0.o
+nvkm-y += nvkm/engine/fifo/gk20a.o
+nvkm-y += nvkm/engine/fifo/nv108.o
diff --git a/nvkm/engine/fifo/base.c b/drm/nouveau/nvkm/engine/fifo/base.c
index 836c6d32..836c6d32 100644
--- a/nvkm/engine/fifo/base.c
+++ b/drm/nouveau/nvkm/engine/fifo/base.c
diff --git a/nvkm/engine/fifo/gk20a.c b/drm/nouveau/nvkm/engine/fifo/gk20a.c
index 327456ea..327456ea 100644
--- a/nvkm/engine/fifo/gk20a.c
+++ b/drm/nouveau/nvkm/engine/fifo/gk20a.c
diff --git a/nvkm/engine/fifo/nv04.c b/drm/nouveau/nvkm/engine/fifo/nv04.c
index 6f51ae0d..6f51ae0d 100644
--- a/nvkm/engine/fifo/nv04.c
+++ b/drm/nouveau/nvkm/engine/fifo/nv04.c
diff --git a/nvkm/engine/fifo/nv04.h b/drm/nouveau/nvkm/engine/fifo/nv04.h
index 496a4b4f..496a4b4f 100644
--- a/nvkm/engine/fifo/nv04.h
+++ b/drm/nouveau/nvkm/engine/fifo/nv04.h
diff --git a/nvkm/engine/fifo/nv10.c b/drm/nouveau/nvkm/engine/fifo/nv10.c
index 2a32add5..2a32add5 100644
--- a/nvkm/engine/fifo/nv10.c
+++ b/drm/nouveau/nvkm/engine/fifo/nv10.c
diff --git a/nvkm/engine/fifo/nv108.c b/drm/nouveau/nvkm/engine/fifo/nv108.c
index 09362a51..09362a51 100644
--- a/nvkm/engine/fifo/nv108.c
+++ b/drm/nouveau/nvkm/engine/fifo/nv108.c
diff --git a/nvkm/engine/fifo/nv17.c b/drm/nouveau/nvkm/engine/fifo/nv17.c
index 01fbb11a..01fbb11a 100644
--- a/nvkm/engine/fifo/nv17.c
+++ b/drm/nouveau/nvkm/engine/fifo/nv17.c
diff --git a/nvkm/engine/fifo/nv40.c b/drm/nouveau/nvkm/engine/fifo/nv40.c
index 604cb528..604cb528 100644
--- a/nvkm/engine/fifo/nv40.c
+++ b/drm/nouveau/nvkm/engine/fifo/nv40.c
diff --git a/nvkm/engine/fifo/nv50.c b/drm/nouveau/nvkm/engine/fifo/nv50.c
index 403fafc0..403fafc0 100644
--- a/nvkm/engine/fifo/nv50.c
+++ b/drm/nouveau/nvkm/engine/fifo/nv50.c
diff --git a/nvkm/engine/fifo/nv50.h b/drm/nouveau/nvkm/engine/fifo/nv50.h
index 3a9ceb31..3a9ceb31 100644
--- a/nvkm/engine/fifo/nv50.h
+++ b/drm/nouveau/nvkm/engine/fifo/nv50.h
diff --git a/nvkm/engine/fifo/nv84.c b/drm/nouveau/nvkm/engine/fifo/nv84.c
index b18386b8..b18386b8 100644
--- a/nvkm/engine/fifo/nv84.c
+++ b/drm/nouveau/nvkm/engine/fifo/nv84.c
diff --git a/nvkm/engine/fifo/nvc0.c b/drm/nouveau/nvkm/engine/fifo/nvc0.c
index e8ef8cb0..e8ef8cb0 100644
--- a/nvkm/engine/fifo/nvc0.c
+++ b/drm/nouveau/nvkm/engine/fifo/nvc0.c
diff --git a/nvkm/engine/fifo/nve0.c b/drm/nouveau/nvkm/engine/fifo/nve0.c
index c9c16803..c9c16803 100644
--- a/nvkm/engine/fifo/nve0.c
+++ b/drm/nouveau/nvkm/engine/fifo/nve0.c
diff --git a/nvkm/engine/fifo/nve0.h b/drm/nouveau/nvkm/engine/fifo/nve0.h
index e96b32bb..e96b32bb 100644
--- a/nvkm/engine/fifo/nve0.h
+++ b/drm/nouveau/nvkm/engine/fifo/nve0.h
diff --git a/drm/nouveau/nvkm/engine/graph/Kbuild b/drm/nouveau/nvkm/engine/graph/Kbuild
new file mode 100644
index 00000000..fd56e979
--- /dev/null
+++ b/drm/nouveau/nvkm/engine/graph/Kbuild
@@ -0,0 +1,36 @@
+nvkm-y += nvkm/engine/graph/ctxnv40.o
+nvkm-y += nvkm/engine/graph/ctxnv50.o
+nvkm-y += nvkm/engine/graph/ctxnvc0.o
+nvkm-y += nvkm/engine/graph/ctxnvc1.o
+nvkm-y += nvkm/engine/graph/ctxnvc4.o
+nvkm-y += nvkm/engine/graph/ctxnvc8.o
+nvkm-y += nvkm/engine/graph/ctxnvd7.o
+nvkm-y += nvkm/engine/graph/ctxnvd9.o
+nvkm-y += nvkm/engine/graph/ctxnve4.o
+nvkm-y += nvkm/engine/graph/ctxgk20a.o
+nvkm-y += nvkm/engine/graph/ctxnvf0.o
+nvkm-y += nvkm/engine/graph/ctxgk110b.o
+nvkm-y += nvkm/engine/graph/ctxnv108.o
+nvkm-y += nvkm/engine/graph/ctxgm107.o
+nvkm-y += nvkm/engine/graph/nv04.o
+nvkm-y += nvkm/engine/graph/nv10.o
+nvkm-y += nvkm/engine/graph/nv20.o
+nvkm-y += nvkm/engine/graph/nv25.o
+nvkm-y += nvkm/engine/graph/nv2a.o
+nvkm-y += nvkm/engine/graph/nv30.o
+nvkm-y += nvkm/engine/graph/nv34.o
+nvkm-y += nvkm/engine/graph/nv35.o
+nvkm-y += nvkm/engine/graph/nv40.o
+nvkm-y += nvkm/engine/graph/nv50.o
+nvkm-y += nvkm/engine/graph/nvc0.o
+nvkm-y += nvkm/engine/graph/nvc1.o
+nvkm-y += nvkm/engine/graph/nvc4.o
+nvkm-y += nvkm/engine/graph/nvc8.o
+nvkm-y += nvkm/engine/graph/nvd7.o
+nvkm-y += nvkm/engine/graph/nvd9.o
+nvkm-y += nvkm/engine/graph/nve4.o
+nvkm-y += nvkm/engine/graph/gk20a.o
+nvkm-y += nvkm/engine/graph/nvf0.o
+nvkm-y += nvkm/engine/graph/gk110b.o
+nvkm-y += nvkm/engine/graph/nv108.o
+nvkm-y += nvkm/engine/graph/gm107.o
diff --git a/nvkm/engine/graph/ctx.h b/drm/nouveau/nvkm/engine/graph/ctx.h
index e1947013..e1947013 100644
--- a/nvkm/engine/graph/ctx.h
+++ b/drm/nouveau/nvkm/engine/graph/ctx.h
diff --git a/nvkm/engine/graph/ctxgk110b.c b/drm/nouveau/nvkm/engine/graph/ctxgk110b.c
index 3adb7fe9..3adb7fe9 100644
--- a/nvkm/engine/graph/ctxgk110b.c
+++ b/drm/nouveau/nvkm/engine/graph/ctxgk110b.c
diff --git a/nvkm/engine/graph/ctxgk20a.c b/drm/nouveau/nvkm/engine/graph/ctxgk20a.c
index 36fc9831..36fc9831 100644
--- a/nvkm/engine/graph/ctxgk20a.c
+++ b/drm/nouveau/nvkm/engine/graph/ctxgk20a.c
diff --git a/nvkm/engine/graph/ctxgm107.c b/drm/nouveau/nvkm/engine/graph/ctxgm107.c
index 62e918b9..62e918b9 100644
--- a/nvkm/engine/graph/ctxgm107.c
+++ b/drm/nouveau/nvkm/engine/graph/ctxgm107.c
diff --git a/nvkm/engine/graph/ctxnv108.c b/drm/nouveau/nvkm/engine/graph/ctxnv108.c
index ce252adb..ce252adb 100644
--- a/nvkm/engine/graph/ctxnv108.c
+++ b/drm/nouveau/nvkm/engine/graph/ctxnv108.c
diff --git a/nvkm/engine/graph/ctxnv40.c b/drm/nouveau/nvkm/engine/graph/ctxnv40.c
index 7bbb1e1b..7bbb1e1b 100644
--- a/nvkm/engine/graph/ctxnv40.c
+++ b/drm/nouveau/nvkm/engine/graph/ctxnv40.c
diff --git a/nvkm/engine/graph/ctxnv50.c b/drm/nouveau/nvkm/engine/graph/ctxnv50.c
index 1d0e33fb..1d0e33fb 100644
--- a/nvkm/engine/graph/ctxnv50.c
+++ b/drm/nouveau/nvkm/engine/graph/ctxnv50.c
diff --git a/nvkm/engine/graph/ctxnvc0.c b/drm/nouveau/nvkm/engine/graph/ctxnvc0.c
index b8e5fe60..b8e5fe60 100644
--- a/nvkm/engine/graph/ctxnvc0.c
+++ b/drm/nouveau/nvkm/engine/graph/ctxnvc0.c
diff --git a/nvkm/engine/graph/ctxnvc0.h b/drm/nouveau/nvkm/engine/graph/ctxnvc0.h
index c776cd71..c776cd71 100644
--- a/nvkm/engine/graph/ctxnvc0.h
+++ b/drm/nouveau/nvkm/engine/graph/ctxnvc0.h
diff --git a/nvkm/engine/graph/ctxnvc1.c b/drm/nouveau/nvkm/engine/graph/ctxnvc1.c
index c6ba8fed..c6ba8fed 100644
--- a/nvkm/engine/graph/ctxnvc1.c
+++ b/drm/nouveau/nvkm/engine/graph/ctxnvc1.c
diff --git a/nvkm/engine/graph/ctxnvc4.c b/drm/nouveau/nvkm/engine/graph/ctxnvc4.c
index 41705c60..41705c60 100644
--- a/nvkm/engine/graph/ctxnvc4.c
+++ b/drm/nouveau/nvkm/engine/graph/ctxnvc4.c
diff --git a/nvkm/engine/graph/ctxnvc8.c b/drm/nouveau/nvkm/engine/graph/ctxnvc8.c
index 8f804cd8..8f804cd8 100644
--- a/nvkm/engine/graph/ctxnvc8.c
+++ b/drm/nouveau/nvkm/engine/graph/ctxnvc8.c
diff --git a/nvkm/engine/graph/ctxnvd7.c b/drm/nouveau/nvkm/engine/graph/ctxnvd7.c
index fcf534fd..fcf534fd 100644
--- a/nvkm/engine/graph/ctxnvd7.c
+++ b/drm/nouveau/nvkm/engine/graph/ctxnvd7.c
diff --git a/nvkm/engine/graph/ctxnvd9.c b/drm/nouveau/nvkm/engine/graph/ctxnvd9.c
index b9a301b6..b9a301b6 100644
--- a/nvkm/engine/graph/ctxnvd9.c
+++ b/drm/nouveau/nvkm/engine/graph/ctxnvd9.c
diff --git a/nvkm/engine/graph/ctxnve4.c b/drm/nouveau/nvkm/engine/graph/ctxnve4.c
index ccac2ee1..ccac2ee1 100644
--- a/nvkm/engine/graph/ctxnve4.c
+++ b/drm/nouveau/nvkm/engine/graph/ctxnve4.c
diff --git a/nvkm/engine/graph/ctxnvf0.c b/drm/nouveau/nvkm/engine/graph/ctxnvf0.c
index e9b0dcf9..e9b0dcf9 100644
--- a/nvkm/engine/graph/ctxnvf0.c
+++ b/drm/nouveau/nvkm/engine/graph/ctxnvf0.c
diff --git a/nvkm/engine/graph/fuc/com.fuc b/drm/nouveau/nvkm/engine/graph/fuc/com.fuc
index e37d8106..e37d8106 100644
--- a/nvkm/engine/graph/fuc/com.fuc
+++ b/drm/nouveau/nvkm/engine/graph/fuc/com.fuc
diff --git a/nvkm/engine/graph/fuc/gpc.fuc b/drm/nouveau/nvkm/engine/graph/fuc/gpc.fuc
index 7445f12b..7445f12b 100644
--- a/nvkm/engine/graph/fuc/gpc.fuc
+++ b/drm/nouveau/nvkm/engine/graph/fuc/gpc.fuc
diff --git a/nvkm/engine/graph/fuc/gpcgm107.fuc5 b/drm/nouveau/nvkm/engine/graph/fuc/gpcgm107.fuc5
index e7306038..e7306038 100644
--- a/nvkm/engine/graph/fuc/gpcgm107.fuc5
+++ b/drm/nouveau/nvkm/engine/graph/fuc/gpcgm107.fuc5
diff --git a/nvkm/engine/graph/fuc/gpcgm107.fuc5.h b/drm/nouveau/nvkm/engine/graph/fuc/gpcgm107.fuc5.h
index 6d53b67d..6d53b67d 100644
--- a/nvkm/engine/graph/fuc/gpcgm107.fuc5.h
+++ b/drm/nouveau/nvkm/engine/graph/fuc/gpcgm107.fuc5.h
diff --git a/nvkm/engine/graph/fuc/gpcnv108.fuc5 b/drm/nouveau/nvkm/engine/graph/fuc/gpcnv108.fuc5
index bd30262d..bd30262d 100644
--- a/nvkm/engine/graph/fuc/gpcnv108.fuc5
+++ b/drm/nouveau/nvkm/engine/graph/fuc/gpcnv108.fuc5
diff --git a/nvkm/engine/graph/fuc/gpcnv108.fuc5.h b/drm/nouveau/nvkm/engine/graph/fuc/gpcnv108.fuc5.h
index 31922707..31922707 100644
--- a/nvkm/engine/graph/fuc/gpcnv108.fuc5.h
+++ b/drm/nouveau/nvkm/engine/graph/fuc/gpcnv108.fuc5.h
diff --git a/nvkm/engine/graph/fuc/gpcnvc0.fuc b/drm/nouveau/nvkm/engine/graph/fuc/gpcnvc0.fuc3
index 5ae06a2d..5ae06a2d 100644
--- a/nvkm/engine/graph/fuc/gpcnvc0.fuc
+++ b/drm/nouveau/nvkm/engine/graph/fuc/gpcnvc0.fuc3
diff --git a/nvkm/engine/graph/fuc/gpcnvc0.fuc.h b/drm/nouveau/nvkm/engine/graph/fuc/gpcnvc0.fuc3.h
index 325cc7b7..325cc7b7 100644
--- a/nvkm/engine/graph/fuc/gpcnvc0.fuc.h
+++ b/drm/nouveau/nvkm/engine/graph/fuc/gpcnvc0.fuc3.h
diff --git a/nvkm/engine/graph/fuc/gpcnvd7.fuc b/drm/nouveau/nvkm/engine/graph/fuc/gpcnvd7.fuc3
index c2f754ed..c2f754ed 100644
--- a/nvkm/engine/graph/fuc/gpcnvd7.fuc
+++ b/drm/nouveau/nvkm/engine/graph/fuc/gpcnvd7.fuc3
diff --git a/nvkm/engine/graph/fuc/gpcnvd7.fuc.h b/drm/nouveau/nvkm/engine/graph/fuc/gpcnvd7.fuc3.h
index d1504a40..d1504a40 100644
--- a/nvkm/engine/graph/fuc/gpcnvd7.fuc.h
+++ b/drm/nouveau/nvkm/engine/graph/fuc/gpcnvd7.fuc3.h
diff --git a/nvkm/engine/graph/fuc/gpcnve0.fuc b/drm/nouveau/nvkm/engine/graph/fuc/gpcnve0.fuc3
index 6b906cd2..6b906cd2 100644
--- a/nvkm/engine/graph/fuc/gpcnve0.fuc
+++ b/drm/nouveau/nvkm/engine/graph/fuc/gpcnve0.fuc3
diff --git a/nvkm/engine/graph/fuc/gpcnve0.fuc.h b/drm/nouveau/nvkm/engine/graph/fuc/gpcnve0.fuc3.h
index 855b2203..855b2203 100644
--- a/nvkm/engine/graph/fuc/gpcnve0.fuc.h
+++ b/drm/nouveau/nvkm/engine/graph/fuc/gpcnve0.fuc3.h
diff --git a/nvkm/engine/graph/fuc/gpcnvf0.fuc b/drm/nouveau/nvkm/engine/graph/fuc/gpcnvf0.fuc3
index 90bbe525..90bbe525 100644
--- a/nvkm/engine/graph/fuc/gpcnvf0.fuc
+++ b/drm/nouveau/nvkm/engine/graph/fuc/gpcnvf0.fuc3
diff --git a/nvkm/engine/graph/fuc/gpcnvf0.fuc.h b/drm/nouveau/nvkm/engine/graph/fuc/gpcnvf0.fuc3.h
index 1b803197..1b803197 100644
--- a/nvkm/engine/graph/fuc/gpcnvf0.fuc.h
+++ b/drm/nouveau/nvkm/engine/graph/fuc/gpcnvf0.fuc3.h
diff --git a/nvkm/engine/graph/fuc/hub.fuc b/drm/nouveau/nvkm/engine/graph/fuc/hub.fuc
index b4ad18bf..b4ad18bf 100644
--- a/nvkm/engine/graph/fuc/hub.fuc
+++ b/drm/nouveau/nvkm/engine/graph/fuc/hub.fuc
diff --git a/nvkm/engine/graph/fuc/hubgm107.fuc5 b/drm/nouveau/nvkm/engine/graph/fuc/hubgm107.fuc5
index 27591b30..27591b30 100644
--- a/nvkm/engine/graph/fuc/hubgm107.fuc5
+++ b/drm/nouveau/nvkm/engine/graph/fuc/hubgm107.fuc5
diff --git a/nvkm/engine/graph/fuc/hubgm107.fuc5.h b/drm/nouveau/nvkm/engine/graph/fuc/hubgm107.fuc5.h
index 5f953c5c..5f953c5c 100644
--- a/nvkm/engine/graph/fuc/hubgm107.fuc5.h
+++ b/drm/nouveau/nvkm/engine/graph/fuc/hubgm107.fuc5.h
diff --git a/nvkm/engine/graph/fuc/hubnv108.fuc5 b/drm/nouveau/nvkm/engine/graph/fuc/hubnv108.fuc5
index 7c5d2563..7c5d2563 100644
--- a/nvkm/engine/graph/fuc/hubnv108.fuc5
+++ b/drm/nouveau/nvkm/engine/graph/fuc/hubnv108.fuc5
diff --git a/nvkm/engine/graph/fuc/hubnv108.fuc5.h b/drm/nouveau/nvkm/engine/graph/fuc/hubnv108.fuc5.h
index e49b5a87..e49b5a87 100644
--- a/nvkm/engine/graph/fuc/hubnv108.fuc5.h
+++ b/drm/nouveau/nvkm/engine/graph/fuc/hubnv108.fuc5.h
diff --git a/nvkm/engine/graph/fuc/hubnvc0.fuc b/drm/nouveau/nvkm/engine/graph/fuc/hubnvc0.fuc3
index 3ff52bad..3ff52bad 100644
--- a/nvkm/engine/graph/fuc/hubnvc0.fuc
+++ b/drm/nouveau/nvkm/engine/graph/fuc/hubnvc0.fuc3
diff --git a/nvkm/engine/graph/fuc/hubnvc0.fuc.h b/drm/nouveau/nvkm/engine/graph/fuc/hubnvc0.fuc3.h
index 92dfe6a4..92dfe6a4 100644
--- a/nvkm/engine/graph/fuc/hubnvc0.fuc.h
+++ b/drm/nouveau/nvkm/engine/graph/fuc/hubnvc0.fuc3.h
diff --git a/nvkm/engine/graph/fuc/hubnvd7.fuc b/drm/nouveau/nvkm/engine/graph/fuc/hubnvd7.fuc3
index afbe03ac..afbe03ac 100644
--- a/nvkm/engine/graph/fuc/hubnvd7.fuc
+++ b/drm/nouveau/nvkm/engine/graph/fuc/hubnvd7.fuc3
diff --git a/nvkm/engine/graph/fuc/hubnvd7.fuc.h b/drm/nouveau/nvkm/engine/graph/fuc/hubnvd7.fuc3.h
index 62b0c760..62b0c760 100644
--- a/nvkm/engine/graph/fuc/hubnvd7.fuc.h
+++ b/drm/nouveau/nvkm/engine/graph/fuc/hubnvd7.fuc3.h
diff --git a/nvkm/engine/graph/fuc/hubnve0.fuc b/drm/nouveau/nvkm/engine/graph/fuc/hubnve0.fuc3
index d4840f18..d4840f18 100644
--- a/nvkm/engine/graph/fuc/hubnve0.fuc
+++ b/drm/nouveau/nvkm/engine/graph/fuc/hubnve0.fuc3
diff --git a/nvkm/engine/graph/fuc/hubnve0.fuc.h b/drm/nouveau/nvkm/engine/graph/fuc/hubnve0.fuc3.h
index 51c3797d..51c3797d 100644
--- a/nvkm/engine/graph/fuc/hubnve0.fuc.h
+++ b/drm/nouveau/nvkm/engine/graph/fuc/hubnve0.fuc3.h
diff --git a/nvkm/engine/graph/fuc/hubnvf0.fuc b/drm/nouveau/nvkm/engine/graph/fuc/hubnvf0.fuc3
index ec42ed29..ec42ed29 100644
--- a/nvkm/engine/graph/fuc/hubnvf0.fuc
+++ b/drm/nouveau/nvkm/engine/graph/fuc/hubnvf0.fuc3
diff --git a/nvkm/engine/graph/fuc/hubnvf0.fuc.h b/drm/nouveau/nvkm/engine/graph/fuc/hubnvf0.fuc3.h
index a0af4b70..a0af4b70 100644
--- a/nvkm/engine/graph/fuc/hubnvf0.fuc.h
+++ b/drm/nouveau/nvkm/engine/graph/fuc/hubnvf0.fuc3.h
diff --git a/nvkm/engine/graph/fuc/macros.fuc b/drm/nouveau/nvkm/engine/graph/fuc/macros.fuc
index 2a0b0f84..2a0b0f84 100644
--- a/nvkm/engine/graph/fuc/macros.fuc
+++ b/drm/nouveau/nvkm/engine/graph/fuc/macros.fuc
diff --git a/nvkm/engine/graph/fuc/os.h b/drm/nouveau/nvkm/engine/graph/fuc/os.h
index 1718ae4e..1718ae4e 100644
--- a/nvkm/engine/graph/fuc/os.h
+++ b/drm/nouveau/nvkm/engine/graph/fuc/os.h
diff --git a/nvkm/engine/graph/gk110b.c b/drm/nouveau/nvkm/engine/graph/gk110b.c
index d07b19dc..d07b19dc 100644
--- a/nvkm/engine/graph/gk110b.c
+++ b/drm/nouveau/nvkm/engine/graph/gk110b.c
diff --git a/nvkm/engine/graph/gk20a.c b/drm/nouveau/nvkm/engine/graph/gk20a.c
index 7d0abe9f..7d0abe9f 100644
--- a/nvkm/engine/graph/gk20a.c
+++ b/drm/nouveau/nvkm/engine/graph/gk20a.c
diff --git a/nvkm/engine/graph/gm107.c b/drm/nouveau/nvkm/engine/graph/gm107.c
index 4bdbdab2..4bdbdab2 100644
--- a/nvkm/engine/graph/gm107.c
+++ b/drm/nouveau/nvkm/engine/graph/gm107.c
diff --git a/nvkm/engine/graph/nv04.c b/drm/nouveau/nvkm/engine/graph/nv04.c
index f70e2f67..f70e2f67 100644
--- a/nvkm/engine/graph/nv04.c
+++ b/drm/nouveau/nvkm/engine/graph/nv04.c
diff --git a/nvkm/engine/graph/nv10.c b/drm/nouveau/nvkm/engine/graph/nv10.c
index 2b12b096..2b12b096 100644
--- a/nvkm/engine/graph/nv10.c
+++ b/drm/nouveau/nvkm/engine/graph/nv10.c
diff --git a/nvkm/engine/graph/nv108.c b/drm/nouveau/nvkm/engine/graph/nv108.c
index 2b0e8f48..2b0e8f48 100644
--- a/nvkm/engine/graph/nv108.c
+++ b/drm/nouveau/nvkm/engine/graph/nv108.c
diff --git a/nvkm/engine/graph/nv20.c b/drm/nouveau/nvkm/engine/graph/nv20.c
index ceb9c746..ceb9c746 100644
--- a/nvkm/engine/graph/nv20.c
+++ b/drm/nouveau/nvkm/engine/graph/nv20.c
diff --git a/nvkm/engine/graph/nv20.h b/drm/nouveau/nvkm/engine/graph/nv20.h
index 2bea7313..2bea7313 100644
--- a/nvkm/engine/graph/nv20.h
+++ b/drm/nouveau/nvkm/engine/graph/nv20.h
diff --git a/nvkm/engine/graph/nv25.c b/drm/nouveau/nvkm/engine/graph/nv25.c
index f8a6fdd7..f8a6fdd7 100644
--- a/nvkm/engine/graph/nv25.c
+++ b/drm/nouveau/nvkm/engine/graph/nv25.c
diff --git a/nvkm/engine/graph/nv2a.c b/drm/nouveau/nvkm/engine/graph/nv2a.c
index 5de9caa2..5de9caa2 100644
--- a/nvkm/engine/graph/nv2a.c
+++ b/drm/nouveau/nvkm/engine/graph/nv2a.c
diff --git a/nvkm/engine/graph/nv30.c b/drm/nouveau/nvkm/engine/graph/nv30.c
index 2f9dbc70..2f9dbc70 100644
--- a/nvkm/engine/graph/nv30.c
+++ b/drm/nouveau/nvkm/engine/graph/nv30.c
diff --git a/nvkm/engine/graph/nv34.c b/drm/nouveau/nvkm/engine/graph/nv34.c
index 34dd26c7..34dd26c7 100644
--- a/nvkm/engine/graph/nv34.c
+++ b/drm/nouveau/nvkm/engine/graph/nv34.c
diff --git a/nvkm/engine/graph/nv35.c b/drm/nouveau/nvkm/engine/graph/nv35.c
index 2fb5756d..2fb5756d 100644
--- a/nvkm/engine/graph/nv35.c
+++ b/drm/nouveau/nvkm/engine/graph/nv35.c
diff --git a/nvkm/engine/graph/nv40.c b/drm/nouveau/nvkm/engine/graph/nv40.c
index 4f401174..4f401174 100644
--- a/nvkm/engine/graph/nv40.c
+++ b/drm/nouveau/nvkm/engine/graph/nv40.c
diff --git a/nvkm/engine/graph/nv40.h b/drm/nouveau/nvkm/engine/graph/nv40.h
index ad820937..ad820937 100644
--- a/nvkm/engine/graph/nv40.h
+++ b/drm/nouveau/nvkm/engine/graph/nv40.h
diff --git a/nvkm/engine/graph/nv50.c b/drm/nouveau/nvkm/engine/graph/nv50.c
index 38e0aa26..38e0aa26 100644
--- a/nvkm/engine/graph/nv50.c
+++ b/drm/nouveau/nvkm/engine/graph/nv50.c
diff --git a/nvkm/engine/graph/nv50.h b/drm/nouveau/nvkm/engine/graph/nv50.h
index 0505fb41..0505fb41 100644
--- a/nvkm/engine/graph/nv50.h
+++ b/drm/nouveau/nvkm/engine/graph/nv50.h
diff --git a/nvkm/engine/graph/nvc0.c b/drm/nouveau/nvkm/engine/graph/nvc0.c
index 17251e4b..3e90e437 100644
--- a/nvkm/engine/graph/nvc0.c
+++ b/drm/nouveau/nvkm/engine/graph/nvc0.c
@@ -1630,7 +1630,7 @@ nvc0_graph_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
return 0;
}
-#include "fuc/hubnvc0.fuc.h"
+#include "fuc/hubnvc0.fuc3.h"
struct nvc0_graph_ucode
nvc0_graph_fecs_ucode = {
@@ -1640,7 +1640,7 @@ nvc0_graph_fecs_ucode = {
.data.size = sizeof(nvc0_grhub_data),
};
-#include "fuc/gpcnvc0.fuc.h"
+#include "fuc/gpcnvc0.fuc3.h"
struct nvc0_graph_ucode
nvc0_graph_gpccs_ucode = {
diff --git a/nvkm/engine/graph/nvc0.h b/drm/nouveau/nvkm/engine/graph/nvc0.h
index 7ed9e89c..7ed9e89c 100644
--- a/nvkm/engine/graph/nvc0.h
+++ b/drm/nouveau/nvkm/engine/graph/nvc0.h
diff --git a/nvkm/engine/graph/nvc1.c b/drm/nouveau/nvkm/engine/graph/nvc1.c
index 93d58e5b..93d58e5b 100644
--- a/nvkm/engine/graph/nvc1.c
+++ b/drm/nouveau/nvkm/engine/graph/nvc1.c
diff --git a/nvkm/engine/graph/nvc4.c b/drm/nouveau/nvkm/engine/graph/nvc4.c
index e82e70c5..e82e70c5 100644
--- a/nvkm/engine/graph/nvc4.c
+++ b/drm/nouveau/nvkm/engine/graph/nvc4.c
diff --git a/nvkm/engine/graph/nvc8.c b/drm/nouveau/nvkm/engine/graph/nvc8.c
index 692e1eda..692e1eda 100644
--- a/nvkm/engine/graph/nvc8.c
+++ b/drm/nouveau/nvkm/engine/graph/nvc8.c
diff --git a/nvkm/engine/graph/nvd7.c b/drm/nouveau/nvkm/engine/graph/nvd7.c
index 41e8445c..6f9f5ede 100644
--- a/nvkm/engine/graph/nvd7.c
+++ b/drm/nouveau/nvkm/engine/graph/nvd7.c
@@ -99,7 +99,7 @@ nvd7_graph_pack_mmio[] = {
* PGRAPH engine/subdev functions
******************************************************************************/
-#include "fuc/hubnvd7.fuc.h"
+#include "fuc/hubnvd7.fuc3.h"
struct nvc0_graph_ucode
nvd7_graph_fecs_ucode = {
@@ -109,7 +109,7 @@ nvd7_graph_fecs_ucode = {
.data.size = sizeof(nvd7_grhub_data),
};
-#include "fuc/gpcnvd7.fuc.h"
+#include "fuc/gpcnvd7.fuc3.h"
struct nvc0_graph_ucode
nvd7_graph_gpccs_ucode = {
diff --git a/nvkm/engine/graph/nvd9.c b/drm/nouveau/nvkm/engine/graph/nvd9.c
index 00fdf202..00fdf202 100644
--- a/nvkm/engine/graph/nvd9.c
+++ b/drm/nouveau/nvkm/engine/graph/nvd9.c
diff --git a/nvkm/engine/graph/nve4.c b/drm/nouveau/nvkm/engine/graph/nve4.c
index 0c71f5c6..83a966fc 100644
--- a/nvkm/engine/graph/nve4.c
+++ b/drm/nouveau/nvkm/engine/graph/nve4.c
@@ -309,7 +309,7 @@ nve4_graph_init(struct nouveau_object *object)
return nvc0_graph_init_ctxctl(priv);
}
-#include "fuc/hubnve0.fuc.h"
+#include "fuc/hubnve0.fuc3.h"
static struct nvc0_graph_ucode
nve4_graph_fecs_ucode = {
@@ -319,7 +319,7 @@ nve4_graph_fecs_ucode = {
.data.size = sizeof(nve0_grhub_data),
};
-#include "fuc/gpcnve0.fuc.h"
+#include "fuc/gpcnve0.fuc3.h"
static struct nvc0_graph_ucode
nve4_graph_gpccs_ucode = {
diff --git a/nvkm/engine/graph/nvf0.c b/drm/nouveau/nvkm/engine/graph/nvf0.c
index c306c0f2..73f77fa0 100644
--- a/nvkm/engine/graph/nvf0.c
+++ b/drm/nouveau/nvkm/engine/graph/nvf0.c
@@ -207,7 +207,7 @@ nvf0_graph_fini(struct nouveau_object *object, bool suspend)
return nouveau_graph_fini(&priv->base, suspend);
}
-#include "fuc/hubnvf0.fuc.h"
+#include "fuc/hubnvf0.fuc3.h"
struct nvc0_graph_ucode
nvf0_graph_fecs_ucode = {
@@ -217,7 +217,7 @@ nvf0_graph_fecs_ucode = {
.data.size = sizeof(nvf0_grhub_data),
};
-#include "fuc/gpcnvf0.fuc.h"
+#include "fuc/gpcnvf0.fuc3.h"
struct nvc0_graph_ucode
nvf0_graph_gpccs_ucode = {
diff --git a/nvkm/engine/graph/regs.h b/drm/nouveau/nvkm/engine/graph/regs.h
index fde8e244..fde8e244 100644
--- a/nvkm/engine/graph/regs.h
+++ b/drm/nouveau/nvkm/engine/graph/regs.h
diff --git a/drm/nouveau/nvkm/engine/mpeg/Kbuild b/drm/nouveau/nvkm/engine/mpeg/Kbuild
new file mode 100644
index 00000000..39a045bc
--- /dev/null
+++ b/drm/nouveau/nvkm/engine/mpeg/Kbuild
@@ -0,0 +1,5 @@
+nvkm-y += nvkm/engine/mpeg/nv31.o
+nvkm-y += nvkm/engine/mpeg/nv40.o
+nvkm-y += nvkm/engine/mpeg/nv44.o
+nvkm-y += nvkm/engine/mpeg/nv50.o
+nvkm-y += nvkm/engine/mpeg/nv84.o
diff --git a/nvkm/engine/mpeg/nv31.c b/drm/nouveau/nvkm/engine/mpeg/nv31.c
index d88c700b..d88c700b 100644
--- a/nvkm/engine/mpeg/nv31.c
+++ b/drm/nouveau/nvkm/engine/mpeg/nv31.c
diff --git a/nvkm/engine/mpeg/nv31.h b/drm/nouveau/nvkm/engine/mpeg/nv31.h
index d08629d0..d08629d0 100644
--- a/nvkm/engine/mpeg/nv31.h
+++ b/drm/nouveau/nvkm/engine/mpeg/nv31.h
diff --git a/nvkm/engine/mpeg/nv40.c b/drm/nouveau/nvkm/engine/mpeg/nv40.c
index bdb2f20f..bdb2f20f 100644
--- a/nvkm/engine/mpeg/nv40.c
+++ b/drm/nouveau/nvkm/engine/mpeg/nv40.c
diff --git a/nvkm/engine/mpeg/nv44.c b/drm/nouveau/nvkm/engine/mpeg/nv44.c
index 72c7f33f..72c7f33f 100644
--- a/nvkm/engine/mpeg/nv44.c
+++ b/drm/nouveau/nvkm/engine/mpeg/nv44.c
diff --git a/nvkm/engine/mpeg/nv50.c b/drm/nouveau/nvkm/engine/mpeg/nv50.c
index cae33f86..cae33f86 100644
--- a/nvkm/engine/mpeg/nv50.c
+++ b/drm/nouveau/nvkm/engine/mpeg/nv50.c
diff --git a/nvkm/engine/mpeg/nv84.c b/drm/nouveau/nvkm/engine/mpeg/nv84.c
index e9cc8b11..e9cc8b11 100644
--- a/nvkm/engine/mpeg/nv84.c
+++ b/drm/nouveau/nvkm/engine/mpeg/nv84.c
diff --git a/drm/nouveau/nvkm/engine/perfmon/Kbuild b/drm/nouveau/nvkm/engine/perfmon/Kbuild
new file mode 100644
index 00000000..d5f574c4
--- /dev/null
+++ b/drm/nouveau/nvkm/engine/perfmon/Kbuild
@@ -0,0 +1,9 @@
+nvkm-y += nvkm/engine/perfmon/base.o
+nvkm-y += nvkm/engine/perfmon/daemon.o
+nvkm-y += nvkm/engine/perfmon/nv40.o
+nvkm-y += nvkm/engine/perfmon/nv50.o
+nvkm-y += nvkm/engine/perfmon/nv84.o
+nvkm-y += nvkm/engine/perfmon/nva3.o
+nvkm-y += nvkm/engine/perfmon/nvc0.o
+nvkm-y += nvkm/engine/perfmon/nve0.o
+nvkm-y += nvkm/engine/perfmon/nvf0.o
diff --git a/nvkm/engine/perfmon/base.c b/drm/nouveau/nvkm/engine/perfmon/base.c
index 63013812..63013812 100644
--- a/nvkm/engine/perfmon/base.c
+++ b/drm/nouveau/nvkm/engine/perfmon/base.c
diff --git a/nvkm/engine/perfmon/daemon.c b/drm/nouveau/nvkm/engine/perfmon/daemon.c
index 50696cc7..50696cc7 100644
--- a/nvkm/engine/perfmon/daemon.c
+++ b/drm/nouveau/nvkm/engine/perfmon/daemon.c
diff --git a/nvkm/engine/perfmon/nv40.c b/drm/nouveau/nvkm/engine/perfmon/nv40.c
index b2a10785..b2a10785 100644
--- a/nvkm/engine/perfmon/nv40.c
+++ b/drm/nouveau/nvkm/engine/perfmon/nv40.c
diff --git a/nvkm/engine/perfmon/nv40.h b/drm/nouveau/nvkm/engine/perfmon/nv40.h
index 1b5792d1..1b5792d1 100644
--- a/nvkm/engine/perfmon/nv40.h
+++ b/drm/nouveau/nvkm/engine/perfmon/nv40.h
diff --git a/nvkm/engine/perfmon/nv50.c b/drm/nouveau/nvkm/engine/perfmon/nv50.c
index 94217691..94217691 100644
--- a/nvkm/engine/perfmon/nv50.c
+++ b/drm/nouveau/nvkm/engine/perfmon/nv50.c
diff --git a/nvkm/engine/perfmon/nv84.c b/drm/nouveau/nvkm/engine/perfmon/nv84.c
index 9232c7fc..9232c7fc 100644
--- a/nvkm/engine/perfmon/nv84.c
+++ b/drm/nouveau/nvkm/engine/perfmon/nv84.c
diff --git a/nvkm/engine/perfmon/nva3.c b/drm/nouveau/nvkm/engine/perfmon/nva3.c
index 6197ebde..6197ebde 100644
--- a/nvkm/engine/perfmon/nva3.c
+++ b/drm/nouveau/nvkm/engine/perfmon/nva3.c
diff --git a/nvkm/engine/perfmon/nvc0.c b/drm/nouveau/nvkm/engine/perfmon/nvc0.c
index 74b24104..74b24104 100644
--- a/nvkm/engine/perfmon/nvc0.c
+++ b/drm/nouveau/nvkm/engine/perfmon/nvc0.c
diff --git a/nvkm/engine/perfmon/nvc0.h b/drm/nouveau/nvkm/engine/perfmon/nvc0.h
index f66bca48..f66bca48 100644
--- a/nvkm/engine/perfmon/nvc0.h
+++ b/drm/nouveau/nvkm/engine/perfmon/nvc0.h
diff --git a/nvkm/engine/perfmon/nve0.c b/drm/nouveau/nvkm/engine/perfmon/nve0.c
index 71d718c1..71d718c1 100644
--- a/nvkm/engine/perfmon/nve0.c
+++ b/drm/nouveau/nvkm/engine/perfmon/nve0.c
diff --git a/nvkm/engine/perfmon/nvf0.c b/drm/nouveau/nvkm/engine/perfmon/nvf0.c
index 47256f78..47256f78 100644
--- a/nvkm/engine/perfmon/nvf0.c
+++ b/drm/nouveau/nvkm/engine/perfmon/nvf0.c
diff --git a/nvkm/engine/perfmon/priv.h b/drm/nouveau/nvkm/engine/perfmon/priv.h
index 0ac8714f..0ac8714f 100644
--- a/nvkm/engine/perfmon/priv.h
+++ b/drm/nouveau/nvkm/engine/perfmon/priv.h
diff --git a/drm/nouveau/nvkm/engine/ppp/Kbuild b/drm/nouveau/nvkm/engine/ppp/Kbuild
new file mode 100644
index 00000000..0c1de976
--- /dev/null
+++ b/drm/nouveau/nvkm/engine/ppp/Kbuild
@@ -0,0 +1,2 @@
+nvkm-y += nvkm/engine/ppp/nv98.o
+nvkm-y += nvkm/engine/ppp/nvc0.o
diff --git a/nvkm/engine/ppp/nv98.c b/drm/nouveau/nvkm/engine/ppp/nv98.c
index 13bf31c4..13bf31c4 100644
--- a/nvkm/engine/ppp/nv98.c
+++ b/drm/nouveau/nvkm/engine/ppp/nv98.c
diff --git a/nvkm/engine/ppp/nvc0.c b/drm/nouveau/nvkm/engine/ppp/nvc0.c
index 73719aaa..73719aaa 100644
--- a/nvkm/engine/ppp/nvc0.c
+++ b/drm/nouveau/nvkm/engine/ppp/nvc0.c
diff --git a/drm/nouveau/nvkm/engine/software/Kbuild b/drm/nouveau/nvkm/engine/software/Kbuild
new file mode 100644
index 00000000..e1332a15
--- /dev/null
+++ b/drm/nouveau/nvkm/engine/software/Kbuild
@@ -0,0 +1,4 @@
+nvkm-y += nvkm/engine/software/nv04.o
+nvkm-y += nvkm/engine/software/nv10.o
+nvkm-y += nvkm/engine/software/nv50.o
+nvkm-y += nvkm/engine/software/nvc0.o
diff --git a/nvkm/engine/software/nv04.c b/drm/nouveau/nvkm/engine/software/nv04.c
index 64df15c7..64df15c7 100644
--- a/nvkm/engine/software/nv04.c
+++ b/drm/nouveau/nvkm/engine/software/nv04.c
diff --git a/nvkm/engine/software/nv10.c b/drm/nouveau/nvkm/engine/software/nv10.c
index f54a2253..f54a2253 100644
--- a/nvkm/engine/software/nv10.c
+++ b/drm/nouveau/nvkm/engine/software/nv10.c
diff --git a/nvkm/engine/software/nv50.c b/drm/nouveau/nvkm/engine/software/nv50.c
index a0fec205..a0fec205 100644
--- a/nvkm/engine/software/nv50.c
+++ b/drm/nouveau/nvkm/engine/software/nv50.c
diff --git a/nvkm/engine/software/nv50.h b/drm/nouveau/nvkm/engine/software/nv50.h
index 41542e72..41542e72 100644
--- a/nvkm/engine/software/nv50.h
+++ b/drm/nouveau/nvkm/engine/software/nv50.h
diff --git a/nvkm/engine/software/nvc0.c b/drm/nouveau/nvkm/engine/software/nvc0.c
index 6af370d3..6af370d3 100644
--- a/nvkm/engine/software/nvc0.c
+++ b/drm/nouveau/nvkm/engine/software/nvc0.c
diff --git a/drm/nouveau/nvkm/engine/vp/Kbuild b/drm/nouveau/nvkm/engine/vp/Kbuild
new file mode 100644
index 00000000..6c1d9d1e
--- /dev/null
+++ b/drm/nouveau/nvkm/engine/vp/Kbuild
@@ -0,0 +1,4 @@
+nvkm-y += nvkm/engine/vp/nv84.o
+nvkm-y += nvkm/engine/vp/nv98.o
+nvkm-y += nvkm/engine/vp/nvc0.o
+nvkm-y += nvkm/engine/vp/nve0.o
diff --git a/nvkm/engine/vp/nv84.c b/drm/nouveau/nvkm/engine/vp/nv84.c
index fd6272b8..fd6272b8 100644
--- a/nvkm/engine/vp/nv84.c
+++ b/drm/nouveau/nvkm/engine/vp/nv84.c
diff --git a/nvkm/engine/vp/nv98.c b/drm/nouveau/nvkm/engine/vp/nv98.c
index fc9ae0ff..fc9ae0ff 100644
--- a/nvkm/engine/vp/nv98.c
+++ b/drm/nouveau/nvkm/engine/vp/nv98.c
diff --git a/nvkm/engine/vp/nvc0.c b/drm/nouveau/nvkm/engine/vp/nvc0.c
index ac1f62aa..ac1f62aa 100644
--- a/nvkm/engine/vp/nvc0.c
+++ b/drm/nouveau/nvkm/engine/vp/nvc0.c
diff --git a/nvkm/engine/vp/nve0.c b/drm/nouveau/nvkm/engine/vp/nve0.c
index d4c31084..d4c31084 100644
--- a/nvkm/engine/vp/nve0.c
+++ b/drm/nouveau/nvkm/engine/vp/nve0.c
diff --git a/nvkm/engine/xtensa.c b/drm/nouveau/nvkm/engine/xtensa.c
index 92384759..92384759 100644
--- a/nvkm/engine/xtensa.c
+++ b/drm/nouveau/nvkm/engine/xtensa.c
diff --git a/drm/nouveau/nvkm/subdev/Kbuild b/drm/nouveau/nvkm/subdev/Kbuild
new file mode 100644
index 00000000..10ef07cf
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/Kbuild
@@ -0,0 +1,19 @@
+include $(src)/nvkm/subdev/bar/Kbuild
+include $(src)/nvkm/subdev/bios/Kbuild
+include $(src)/nvkm/subdev/bus/Kbuild
+include $(src)/nvkm/subdev/clock/Kbuild
+include $(src)/nvkm/subdev/devinit/Kbuild
+include $(src)/nvkm/subdev/fb/Kbuild
+include $(src)/nvkm/subdev/fuse/Kbuild
+include $(src)/nvkm/subdev/gpio/Kbuild
+include $(src)/nvkm/subdev/i2c/Kbuild
+include $(src)/nvkm/subdev/ibus/Kbuild
+include $(src)/nvkm/subdev/instmem/Kbuild
+include $(src)/nvkm/subdev/ltc/Kbuild
+include $(src)/nvkm/subdev/mc/Kbuild
+include $(src)/nvkm/subdev/mxm/Kbuild
+include $(src)/nvkm/subdev/pwr/Kbuild
+include $(src)/nvkm/subdev/therm/Kbuild
+include $(src)/nvkm/subdev/timer/Kbuild
+include $(src)/nvkm/subdev/vm/Kbuild
+include $(src)/nvkm/subdev/volt/Kbuild
diff --git a/drm/nouveau/nvkm/subdev/bar/Kbuild b/drm/nouveau/nvkm/subdev/bar/Kbuild
new file mode 100644
index 00000000..922454f9
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/bar/Kbuild
@@ -0,0 +1,4 @@
+nvkm-y += nvkm/subdev/bar/base.o
+nvkm-y += nvkm/subdev/bar/nv50.o
+nvkm-y += nvkm/subdev/bar/nvc0.o
+nvkm-y += nvkm/subdev/bar/gk20a.o
diff --git a/nvkm/subdev/bar/base.c b/drm/nouveau/nvkm/subdev/bar/base.c
index 188c6384..188c6384 100644
--- a/nvkm/subdev/bar/base.c
+++ b/drm/nouveau/nvkm/subdev/bar/base.c
diff --git a/nvkm/subdev/bar/gk20a.c b/drm/nouveau/nvkm/subdev/bar/gk20a.c
index bf877af9..bf877af9 100644
--- a/nvkm/subdev/bar/gk20a.c
+++ b/drm/nouveau/nvkm/subdev/bar/gk20a.c
diff --git a/nvkm/subdev/bar/nv50.c b/drm/nouveau/nvkm/subdev/bar/nv50.c
index f748ba49..f748ba49 100644
--- a/nvkm/subdev/bar/nv50.c
+++ b/drm/nouveau/nvkm/subdev/bar/nv50.c
diff --git a/nvkm/subdev/bar/nvc0.c b/drm/nouveau/nvkm/subdev/bar/nvc0.c
index 8320ee05..8320ee05 100644
--- a/nvkm/subdev/bar/nvc0.c
+++ b/drm/nouveau/nvkm/subdev/bar/nvc0.c
diff --git a/nvkm/subdev/bar/priv.h b/drm/nouveau/nvkm/subdev/bar/priv.h
index 3ee8b147..3ee8b147 100644
--- a/nvkm/subdev/bar/priv.h
+++ b/drm/nouveau/nvkm/subdev/bar/priv.h
diff --git a/drm/nouveau/nvkm/subdev/bios/Kbuild b/drm/nouveau/nvkm/subdev/bios/Kbuild
new file mode 100644
index 00000000..64730d5e
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/bios/Kbuild
@@ -0,0 +1,37 @@
+nvkm-y += nvkm/subdev/bios/base.o
+nvkm-y += nvkm/subdev/bios/bit.o
+nvkm-y += nvkm/subdev/bios/boost.o
+nvkm-y += nvkm/subdev/bios/conn.o
+nvkm-y += nvkm/subdev/bios/cstep.o
+nvkm-y += nvkm/subdev/bios/dcb.o
+nvkm-y += nvkm/subdev/bios/disp.o
+nvkm-y += nvkm/subdev/bios/dp.o
+nvkm-y += nvkm/subdev/bios/extdev.o
+nvkm-y += nvkm/subdev/bios/fan.o
+nvkm-y += nvkm/subdev/bios/gpio.o
+nvkm-y += nvkm/subdev/bios/i2c.o
+nvkm-y += nvkm/subdev/bios/image.o
+nvkm-y += nvkm/subdev/bios/init.o
+nvkm-y += nvkm/subdev/bios/mxm.o
+nvkm-y += nvkm/subdev/bios/npde.o
+nvkm-y += nvkm/subdev/bios/pcir.o
+nvkm-y += nvkm/subdev/bios/perf.o
+nvkm-y += nvkm/subdev/bios/pll.o
+nvkm-y += nvkm/subdev/bios/pmu.o
+nvkm-y += nvkm/subdev/bios/ramcfg.o
+nvkm-y += nvkm/subdev/bios/rammap.o
+nvkm-y += nvkm/subdev/bios/shadow.o
+nvkm-y += nvkm/subdev/bios/shadowacpi.o
+nvkm-y += nvkm/subdev/bios/shadowof.o
+nvkm-y += nvkm/subdev/bios/shadowpci.o
+nvkm-y += nvkm/subdev/bios/shadowramin.o
+nvkm-y += nvkm/subdev/bios/shadowrom.o
+nvkm-y += nvkm/subdev/bios/timing.o
+nvkm-y += nvkm/subdev/bios/therm.o
+nvkm-y += nvkm/subdev/bios/vmap.o
+nvkm-y += nvkm/subdev/bios/volt.o
+nvkm-y += nvkm/subdev/bios/xpio.o
+nvkm-y += nvkm/subdev/bios/M0203.o
+nvkm-y += nvkm/subdev/bios/M0205.o
+nvkm-y += nvkm/subdev/bios/M0209.o
+nvkm-y += nvkm/subdev/bios/P0260.o
diff --git a/nvkm/subdev/bios/M0203.c b/drm/nouveau/nvkm/subdev/bios/M0203.c
index 28906b16..28906b16 100644
--- a/nvkm/subdev/bios/M0203.c
+++ b/drm/nouveau/nvkm/subdev/bios/M0203.c
diff --git a/nvkm/subdev/bios/M0205.c b/drm/nouveau/nvkm/subdev/bios/M0205.c
index ac9617c5..ac9617c5 100644
--- a/nvkm/subdev/bios/M0205.c
+++ b/drm/nouveau/nvkm/subdev/bios/M0205.c
diff --git a/nvkm/subdev/bios/M0209.c b/drm/nouveau/nvkm/subdev/bios/M0209.c
index b142a510..b142a510 100644
--- a/nvkm/subdev/bios/M0209.c
+++ b/drm/nouveau/nvkm/subdev/bios/M0209.c
diff --git a/nvkm/subdev/bios/P0260.c b/drm/nouveau/nvkm/subdev/bios/P0260.c
index 199f4e5f..199f4e5f 100644
--- a/nvkm/subdev/bios/P0260.c
+++ b/drm/nouveau/nvkm/subdev/bios/P0260.c
diff --git a/nvkm/subdev/bios/base.c b/drm/nouveau/nvkm/subdev/bios/base.c
index 7df3a273..7df3a273 100644
--- a/nvkm/subdev/bios/base.c
+++ b/drm/nouveau/nvkm/subdev/bios/base.c
diff --git a/nvkm/subdev/bios/bit.c b/drm/nouveau/nvkm/subdev/bios/bit.c
index 1d03a3f2..1d03a3f2 100644
--- a/nvkm/subdev/bios/bit.c
+++ b/drm/nouveau/nvkm/subdev/bios/bit.c
diff --git a/nvkm/subdev/bios/boost.c b/drm/nouveau/nvkm/subdev/bios/boost.c
index c1835e59..c1835e59 100644
--- a/nvkm/subdev/bios/boost.c
+++ b/drm/nouveau/nvkm/subdev/bios/boost.c
diff --git a/nvkm/subdev/bios/conn.c b/drm/nouveau/nvkm/subdev/bios/conn.c
index 2ede3bcd..2ede3bcd 100644
--- a/nvkm/subdev/bios/conn.c
+++ b/drm/nouveau/nvkm/subdev/bios/conn.c
diff --git a/nvkm/subdev/bios/cstep.c b/drm/nouveau/nvkm/subdev/bios/cstep.c
index d3b15327..d3b15327 100644
--- a/nvkm/subdev/bios/cstep.c
+++ b/drm/nouveau/nvkm/subdev/bios/cstep.c
diff --git a/nvkm/subdev/bios/dcb.c b/drm/nouveau/nvkm/subdev/bios/dcb.c
index 96099aff..96099aff 100644
--- a/nvkm/subdev/bios/dcb.c
+++ b/drm/nouveau/nvkm/subdev/bios/dcb.c
diff --git a/nvkm/subdev/bios/disp.c b/drm/nouveau/nvkm/subdev/bios/disp.c
index 51f35559..51f35559 100644
--- a/nvkm/subdev/bios/disp.c
+++ b/drm/nouveau/nvkm/subdev/bios/disp.c
diff --git a/nvkm/subdev/bios/dp.c b/drm/nouveau/nvkm/subdev/bios/dp.c
index cef53f81..cef53f81 100644
--- a/nvkm/subdev/bios/dp.c
+++ b/drm/nouveau/nvkm/subdev/bios/dp.c
diff --git a/nvkm/subdev/bios/extdev.c b/drm/nouveau/nvkm/subdev/bios/extdev.c
index 49285d4f..49285d4f 100644
--- a/nvkm/subdev/bios/extdev.c
+++ b/drm/nouveau/nvkm/subdev/bios/extdev.c
diff --git a/nvkm/subdev/bios/fan.c b/drm/nouveau/nvkm/subdev/bios/fan.c
index e4198922..e4198922 100644
--- a/nvkm/subdev/bios/fan.c
+++ b/drm/nouveau/nvkm/subdev/bios/fan.c
diff --git a/nvkm/subdev/bios/gpio.c b/drm/nouveau/nvkm/subdev/bios/gpio.c
index 172a4f99..172a4f99 100644
--- a/nvkm/subdev/bios/gpio.c
+++ b/drm/nouveau/nvkm/subdev/bios/gpio.c
diff --git a/nvkm/subdev/bios/i2c.c b/drm/nouveau/nvkm/subdev/bios/i2c.c
index 282320ba..282320ba 100644
--- a/nvkm/subdev/bios/i2c.c
+++ b/drm/nouveau/nvkm/subdev/bios/i2c.c
diff --git a/nvkm/subdev/bios/image.c b/drm/nouveau/nvkm/subdev/bios/image.c
index 373f9a56..373f9a56 100644
--- a/nvkm/subdev/bios/image.c
+++ b/drm/nouveau/nvkm/subdev/bios/image.c
diff --git a/nvkm/subdev/bios/init.c b/drm/nouveau/nvkm/subdev/bios/init.c
index c6579ef3..c6579ef3 100644
--- a/nvkm/subdev/bios/init.c
+++ b/drm/nouveau/nvkm/subdev/bios/init.c
diff --git a/nvkm/subdev/bios/mxm.c b/drm/nouveau/nvkm/subdev/bios/mxm.c
index 2610b11a..2610b11a 100644
--- a/nvkm/subdev/bios/mxm.c
+++ b/drm/nouveau/nvkm/subdev/bios/mxm.c
diff --git a/nvkm/subdev/bios/npde.c b/drm/nouveau/nvkm/subdev/bios/npde.c
index d694716a..d694716a 100644
--- a/nvkm/subdev/bios/npde.c
+++ b/drm/nouveau/nvkm/subdev/bios/npde.c
diff --git a/nvkm/subdev/bios/pcir.c b/drm/nouveau/nvkm/subdev/bios/pcir.c
index 91dae26b..91dae26b 100644
--- a/nvkm/subdev/bios/pcir.c
+++ b/drm/nouveau/nvkm/subdev/bios/pcir.c
diff --git a/nvkm/subdev/bios/perf.c b/drm/nouveau/nvkm/subdev/bios/perf.c
index 675e2216..675e2216 100644
--- a/nvkm/subdev/bios/perf.c
+++ b/drm/nouveau/nvkm/subdev/bios/perf.c
diff --git a/nvkm/subdev/bios/pll.c b/drm/nouveau/nvkm/subdev/bios/pll.c
index 1f76de59..1f76de59 100644
--- a/nvkm/subdev/bios/pll.c
+++ b/drm/nouveau/nvkm/subdev/bios/pll.c
diff --git a/nvkm/subdev/bios/pmu.c b/drm/nouveau/nvkm/subdev/bios/pmu.c
index 66c56ba0..66c56ba0 100644
--- a/nvkm/subdev/bios/pmu.c
+++ b/drm/nouveau/nvkm/subdev/bios/pmu.c
diff --git a/nvkm/subdev/bios/priv.h b/drm/nouveau/nvkm/subdev/bios/priv.h
index 187d225b..187d225b 100644
--- a/nvkm/subdev/bios/priv.h
+++ b/drm/nouveau/nvkm/subdev/bios/priv.h
diff --git a/nvkm/subdev/bios/ramcfg.c b/drm/nouveau/nvkm/subdev/bios/ramcfg.c
index 1623c8df..1623c8df 100644
--- a/nvkm/subdev/bios/ramcfg.c
+++ b/drm/nouveau/nvkm/subdev/bios/ramcfg.c
diff --git a/nvkm/subdev/bios/rammap.c b/drm/nouveau/nvkm/subdev/bios/rammap.c
index c5685228..c5685228 100644
--- a/nvkm/subdev/bios/rammap.c
+++ b/drm/nouveau/nvkm/subdev/bios/rammap.c
diff --git a/nvkm/subdev/bios/shadow.c b/drm/nouveau/nvkm/subdev/bios/shadow.c
index bb9e0018..bb9e0018 100644
--- a/nvkm/subdev/bios/shadow.c
+++ b/drm/nouveau/nvkm/subdev/bios/shadow.c
diff --git a/nvkm/subdev/bios/shadowacpi.c b/drm/nouveau/nvkm/subdev/bios/shadowacpi.c
index bc130c12..bc130c12 100644
--- a/nvkm/subdev/bios/shadowacpi.c
+++ b/drm/nouveau/nvkm/subdev/bios/shadowacpi.c
diff --git a/nvkm/subdev/bios/shadowof.c b/drm/nouveau/nvkm/subdev/bios/shadowof.c
index 3abe487a..3abe487a 100644
--- a/nvkm/subdev/bios/shadowof.c
+++ b/drm/nouveau/nvkm/subdev/bios/shadowof.c
diff --git a/nvkm/subdev/bios/shadowpci.c b/drm/nouveau/nvkm/subdev/bios/shadowpci.c
index 1d0389c0..1d0389c0 100644
--- a/nvkm/subdev/bios/shadowpci.c
+++ b/drm/nouveau/nvkm/subdev/bios/shadowpci.c
diff --git a/nvkm/subdev/bios/shadowramin.c b/drm/nouveau/nvkm/subdev/bios/shadowramin.c
index a7a890fa..a7a890fa 100644
--- a/nvkm/subdev/bios/shadowramin.c
+++ b/drm/nouveau/nvkm/subdev/bios/shadowramin.c
diff --git a/nvkm/subdev/bios/shadowrom.c b/drm/nouveau/nvkm/subdev/bios/shadowrom.c
index b7992bc3..b7992bc3 100644
--- a/nvkm/subdev/bios/shadowrom.c
+++ b/drm/nouveau/nvkm/subdev/bios/shadowrom.c
diff --git a/nvkm/subdev/bios/therm.c b/drm/nouveau/nvkm/subdev/bios/therm.c
index d1585409..d1585409 100644
--- a/nvkm/subdev/bios/therm.c
+++ b/drm/nouveau/nvkm/subdev/bios/therm.c
diff --git a/nvkm/subdev/bios/timing.c b/drm/nouveau/nvkm/subdev/bios/timing.c
index 8521eca1..8521eca1 100644
--- a/nvkm/subdev/bios/timing.c
+++ b/drm/nouveau/nvkm/subdev/bios/timing.c
diff --git a/nvkm/subdev/bios/vmap.c b/drm/nouveau/nvkm/subdev/bios/vmap.c
index f343a1b0..f343a1b0 100644
--- a/nvkm/subdev/bios/vmap.c
+++ b/drm/nouveau/nvkm/subdev/bios/vmap.c
diff --git a/nvkm/subdev/bios/volt.c b/drm/nouveau/nvkm/subdev/bios/volt.c
index bb590de4..bb590de4 100644
--- a/nvkm/subdev/bios/volt.c
+++ b/drm/nouveau/nvkm/subdev/bios/volt.c
diff --git a/nvkm/subdev/bios/xpio.c b/drm/nouveau/nvkm/subdev/bios/xpio.c
index e9b8e5d3..e9b8e5d3 100644
--- a/nvkm/subdev/bios/xpio.c
+++ b/drm/nouveau/nvkm/subdev/bios/xpio.c
diff --git a/drm/nouveau/nvkm/subdev/bus/Kbuild b/drm/nouveau/nvkm/subdev/bus/Kbuild
new file mode 100644
index 00000000..633e9b4b
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/bus/Kbuild
@@ -0,0 +1,6 @@
+nvkm-y += nvkm/subdev/bus/hwsq.o
+nvkm-y += nvkm/subdev/bus/nv04.o
+nvkm-y += nvkm/subdev/bus/nv31.o
+nvkm-y += nvkm/subdev/bus/nv50.o
+nvkm-y += nvkm/subdev/bus/nv94.o
+nvkm-y += nvkm/subdev/bus/nvc0.o
diff --git a/nvkm/subdev/bus/hwsq.c b/drm/nouveau/nvkm/subdev/bus/hwsq.c
index f757470e..f757470e 100644
--- a/nvkm/subdev/bus/hwsq.c
+++ b/drm/nouveau/nvkm/subdev/bus/hwsq.c
diff --git a/nvkm/subdev/bus/hwsq.h b/drm/nouveau/nvkm/subdev/bus/hwsq.h
index 12176f9c..12176f9c 100644
--- a/nvkm/subdev/bus/hwsq.h
+++ b/drm/nouveau/nvkm/subdev/bus/hwsq.h
diff --git a/nvkm/subdev/bus/nv04.c b/drm/nouveau/nvkm/subdev/bus/nv04.c
index 23921b53..23921b53 100644
--- a/nvkm/subdev/bus/nv04.c
+++ b/drm/nouveau/nvkm/subdev/bus/nv04.c
diff --git a/nvkm/subdev/bus/nv04.h b/drm/nouveau/nvkm/subdev/bus/nv04.h
index 4d760245..4d760245 100644
--- a/nvkm/subdev/bus/nv04.h
+++ b/drm/nouveau/nvkm/subdev/bus/nv04.h
diff --git a/nvkm/subdev/bus/nv31.c b/drm/nouveau/nvkm/subdev/bus/nv31.c
index 94da46f6..94da46f6 100644
--- a/nvkm/subdev/bus/nv31.c
+++ b/drm/nouveau/nvkm/subdev/bus/nv31.c
diff --git a/nvkm/subdev/bus/nv50.c b/drm/nouveau/nvkm/subdev/bus/nv50.c
index 11918f7e..11918f7e 100644
--- a/nvkm/subdev/bus/nv50.c
+++ b/drm/nouveau/nvkm/subdev/bus/nv50.c
diff --git a/nvkm/subdev/bus/nv94.c b/drm/nouveau/nvkm/subdev/bus/nv94.c
index d3659055..d3659055 100644
--- a/nvkm/subdev/bus/nv94.c
+++ b/drm/nouveau/nvkm/subdev/bus/nv94.c
diff --git a/nvkm/subdev/bus/nvc0.c b/drm/nouveau/nvkm/subdev/bus/nvc0.c
index 73839d71..73839d71 100644
--- a/nvkm/subdev/bus/nvc0.c
+++ b/drm/nouveau/nvkm/subdev/bus/nvc0.c
diff --git a/drm/nouveau/nvkm/subdev/clock/Kbuild b/drm/nouveau/nvkm/subdev/clock/Kbuild
new file mode 100644
index 00000000..f0a86021
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/clock/Kbuild
@@ -0,0 +1,12 @@
+nvkm-y += nvkm/subdev/clock/base.o
+nvkm-y += nvkm/subdev/clock/nv04.o
+nvkm-y += nvkm/subdev/clock/nv40.o
+nvkm-y += nvkm/subdev/clock/nv50.o
+nvkm-y += nvkm/subdev/clock/nv84.o
+nvkm-y += nvkm/subdev/clock/nva3.o
+nvkm-y += nvkm/subdev/clock/nvaa.o
+nvkm-y += nvkm/subdev/clock/nvc0.o
+nvkm-y += nvkm/subdev/clock/nve0.o
+nvkm-y += nvkm/subdev/clock/gk20a.o
+nvkm-y += nvkm/subdev/clock/pllnv04.o
+nvkm-y += nvkm/subdev/clock/pllnva3.o
diff --git a/nvkm/subdev/clock/base.c b/drm/nouveau/nvkm/subdev/clock/base.c
index bc095b47..bc095b47 100644
--- a/nvkm/subdev/clock/base.c
+++ b/drm/nouveau/nvkm/subdev/clock/base.c
diff --git a/nvkm/subdev/clock/gk20a.c b/drm/nouveau/nvkm/subdev/clock/gk20a.c
index fb4fad37..fb4fad37 100644
--- a/nvkm/subdev/clock/gk20a.c
+++ b/drm/nouveau/nvkm/subdev/clock/gk20a.c
diff --git a/nvkm/subdev/clock/nv04.c b/drm/nouveau/nvkm/subdev/clock/nv04.c
index 4c482326..4c482326 100644
--- a/nvkm/subdev/clock/nv04.c
+++ b/drm/nouveau/nvkm/subdev/clock/nv04.c
diff --git a/nvkm/subdev/clock/nv40.c b/drm/nouveau/nvkm/subdev/clock/nv40.c
index 08368fe9..08368fe9 100644
--- a/nvkm/subdev/clock/nv40.c
+++ b/drm/nouveau/nvkm/subdev/clock/nv40.c
diff --git a/nvkm/subdev/clock/nv50.c b/drm/nouveau/nvkm/subdev/clock/nv50.c
index 5070ebc2..5070ebc2 100644
--- a/nvkm/subdev/clock/nv50.c
+++ b/drm/nouveau/nvkm/subdev/clock/nv50.c
diff --git a/nvkm/subdev/clock/nv50.h b/drm/nouveau/nvkm/subdev/clock/nv50.h
index f10917d7..f10917d7 100644
--- a/nvkm/subdev/clock/nv50.h
+++ b/drm/nouveau/nvkm/subdev/clock/nv50.h
diff --git a/nvkm/subdev/clock/nv84.c b/drm/nouveau/nvkm/subdev/clock/nv84.c
index b0b7c143..b0b7c143 100644
--- a/nvkm/subdev/clock/nv84.c
+++ b/drm/nouveau/nvkm/subdev/clock/nv84.c
diff --git a/nvkm/subdev/clock/nva3.c b/drm/nouveau/nvkm/subdev/clock/nva3.c
index 07ad0124..07ad0124 100644
--- a/nvkm/subdev/clock/nva3.c
+++ b/drm/nouveau/nvkm/subdev/clock/nva3.c
diff --git a/nvkm/subdev/clock/nva3.h b/drm/nouveau/nvkm/subdev/clock/nva3.h
index a45a1038..a45a1038 100644
--- a/nvkm/subdev/clock/nva3.h
+++ b/drm/nouveau/nvkm/subdev/clock/nva3.h
diff --git a/nvkm/subdev/clock/nvaa.c b/drm/nouveau/nvkm/subdev/clock/nvaa.c
index 54aeab80..54aeab80 100644
--- a/nvkm/subdev/clock/nvaa.c
+++ b/drm/nouveau/nvkm/subdev/clock/nvaa.c
diff --git a/nvkm/subdev/clock/nvc0.c b/drm/nouveau/nvkm/subdev/clock/nvc0.c
index 1234abaa..1234abaa 100644
--- a/nvkm/subdev/clock/nvc0.c
+++ b/drm/nouveau/nvkm/subdev/clock/nvc0.c
diff --git a/nvkm/subdev/clock/nve0.c b/drm/nouveau/nvkm/subdev/clock/nve0.c
index 7eccad57..7eccad57 100644
--- a/nvkm/subdev/clock/nve0.c
+++ b/drm/nouveau/nvkm/subdev/clock/nve0.c
diff --git a/nvkm/subdev/clock/pll.h b/drm/nouveau/nvkm/subdev/clock/pll.h
index 445b14c3..445b14c3 100644
--- a/nvkm/subdev/clock/pll.h
+++ b/drm/nouveau/nvkm/subdev/clock/pll.h
diff --git a/nvkm/subdev/clock/pllnv04.c b/drm/nouveau/nvkm/subdev/clock/pllnv04.c
index b47d543a..b47d543a 100644
--- a/nvkm/subdev/clock/pllnv04.c
+++ b/drm/nouveau/nvkm/subdev/clock/pllnv04.c
diff --git a/nvkm/subdev/clock/pllnva3.c b/drm/nouveau/nvkm/subdev/clock/pllnva3.c
index 8eca457c..8eca457c 100644
--- a/nvkm/subdev/clock/pllnva3.c
+++ b/drm/nouveau/nvkm/subdev/clock/pllnva3.c
diff --git a/nvkm/subdev/clock/seq.h b/drm/nouveau/nvkm/subdev/clock/seq.h
index fb33f06e..fb33f06e 100644
--- a/nvkm/subdev/clock/seq.h
+++ b/drm/nouveau/nvkm/subdev/clock/seq.h
diff --git a/drm/nouveau/nvkm/subdev/devinit/Kbuild b/drm/nouveau/nvkm/subdev/devinit/Kbuild
new file mode 100644
index 00000000..4321e285
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/devinit/Kbuild
@@ -0,0 +1,14 @@
+nvkm-y += nvkm/subdev/devinit/base.o
+nvkm-y += nvkm/subdev/devinit/nv04.o
+nvkm-y += nvkm/subdev/devinit/nv05.o
+nvkm-y += nvkm/subdev/devinit/nv10.o
+nvkm-y += nvkm/subdev/devinit/nv1a.o
+nvkm-y += nvkm/subdev/devinit/nv20.o
+nvkm-y += nvkm/subdev/devinit/nv50.o
+nvkm-y += nvkm/subdev/devinit/nv84.o
+nvkm-y += nvkm/subdev/devinit/nv98.o
+nvkm-y += nvkm/subdev/devinit/nva3.o
+nvkm-y += nvkm/subdev/devinit/nvaf.o
+nvkm-y += nvkm/subdev/devinit/nvc0.o
+nvkm-y += nvkm/subdev/devinit/gm107.o
+nvkm-y += nvkm/subdev/devinit/gm204.o
diff --git a/nvkm/subdev/devinit/base.c b/drm/nouveau/nvkm/subdev/devinit/base.c
index 0e45cee8..0e45cee8 100644
--- a/nvkm/subdev/devinit/base.c
+++ b/drm/nouveau/nvkm/subdev/devinit/base.c
diff --git a/nvkm/subdev/devinit/fbmem.h b/drm/nouveau/nvkm/subdev/devinit/fbmem.h
index 6103484f..6103484f 100644
--- a/nvkm/subdev/devinit/fbmem.h
+++ b/drm/nouveau/nvkm/subdev/devinit/fbmem.h
diff --git a/nvkm/subdev/devinit/gm107.c b/drm/nouveau/nvkm/subdev/devinit/gm107.c
index 4ba43d6a..4ba43d6a 100644
--- a/nvkm/subdev/devinit/gm107.c
+++ b/drm/nouveau/nvkm/subdev/devinit/gm107.c
diff --git a/nvkm/subdev/devinit/gm204.c b/drm/nouveau/nvkm/subdev/devinit/gm204.c
index e44a8666..e44a8666 100644
--- a/nvkm/subdev/devinit/gm204.c
+++ b/drm/nouveau/nvkm/subdev/devinit/gm204.c
diff --git a/nvkm/subdev/devinit/nv04.c b/drm/nouveau/nvkm/subdev/devinit/nv04.c
index 65651c50..65651c50 100644
--- a/nvkm/subdev/devinit/nv04.c
+++ b/drm/nouveau/nvkm/subdev/devinit/nv04.c
diff --git a/nvkm/subdev/devinit/nv04.h b/drm/nouveau/nvkm/subdev/devinit/nv04.h
index 23470a57..23470a57 100644
--- a/nvkm/subdev/devinit/nv04.h
+++ b/drm/nouveau/nvkm/subdev/devinit/nv04.h
diff --git a/nvkm/subdev/devinit/nv05.c b/drm/nouveau/nvkm/subdev/devinit/nv05.c
index a2007a3e..a2007a3e 100644
--- a/nvkm/subdev/devinit/nv05.c
+++ b/drm/nouveau/nvkm/subdev/devinit/nv05.c
diff --git a/nvkm/subdev/devinit/nv10.c b/drm/nouveau/nvkm/subdev/devinit/nv10.c
index 178b46f7..178b46f7 100644
--- a/nvkm/subdev/devinit/nv10.c
+++ b/drm/nouveau/nvkm/subdev/devinit/nv10.c
diff --git a/nvkm/subdev/devinit/nv1a.c b/drm/nouveau/nvkm/subdev/devinit/nv1a.c
index 995dd97a..995dd97a 100644
--- a/nvkm/subdev/devinit/nv1a.c
+++ b/drm/nouveau/nvkm/subdev/devinit/nv1a.c
diff --git a/nvkm/subdev/devinit/nv20.c b/drm/nouveau/nvkm/subdev/devinit/nv20.c
index 915089fb..915089fb 100644
--- a/nvkm/subdev/devinit/nv20.c
+++ b/drm/nouveau/nvkm/subdev/devinit/nv20.c
diff --git a/nvkm/subdev/devinit/nv50.c b/drm/nouveau/nvkm/subdev/devinit/nv50.c
index 968334d1..968334d1 100644
--- a/nvkm/subdev/devinit/nv50.c
+++ b/drm/nouveau/nvkm/subdev/devinit/nv50.c
diff --git a/nvkm/subdev/devinit/nv50.h b/drm/nouveau/nvkm/subdev/devinit/nv50.h
index f412bb7f..f412bb7f 100644
--- a/nvkm/subdev/devinit/nv50.h
+++ b/drm/nouveau/nvkm/subdev/devinit/nv50.h
diff --git a/nvkm/subdev/devinit/nv84.c b/drm/nouveau/nvkm/subdev/devinit/nv84.c
index a7c80ded..a7c80ded 100644
--- a/nvkm/subdev/devinit/nv84.c
+++ b/drm/nouveau/nvkm/subdev/devinit/nv84.c
diff --git a/nvkm/subdev/devinit/nv98.c b/drm/nouveau/nvkm/subdev/devinit/nv98.c
index a773253a..a773253a 100644
--- a/nvkm/subdev/devinit/nv98.c
+++ b/drm/nouveau/nvkm/subdev/devinit/nv98.c
diff --git a/nvkm/subdev/devinit/nva3.c b/drm/nouveau/nvkm/subdev/devinit/nva3.c
index b9cd9e53..b9cd9e53 100644
--- a/nvkm/subdev/devinit/nva3.c
+++ b/drm/nouveau/nvkm/subdev/devinit/nva3.c
diff --git a/nvkm/subdev/devinit/nvaf.c b/drm/nouveau/nvkm/subdev/devinit/nvaf.c
index 3729846a..3729846a 100644
--- a/nvkm/subdev/devinit/nvaf.c
+++ b/drm/nouveau/nvkm/subdev/devinit/nvaf.c
diff --git a/nvkm/subdev/devinit/nvc0.c b/drm/nouveau/nvkm/subdev/devinit/nvc0.c
index 80bd7f5e..80bd7f5e 100644
--- a/nvkm/subdev/devinit/nvc0.c
+++ b/drm/nouveau/nvkm/subdev/devinit/nvc0.c
diff --git a/nvkm/subdev/devinit/priv.h b/drm/nouveau/nvkm/subdev/devinit/priv.h
index cbcd5185..cbcd5185 100644
--- a/nvkm/subdev/devinit/priv.h
+++ b/drm/nouveau/nvkm/subdev/devinit/priv.h
diff --git a/drm/nouveau/nvkm/subdev/fb/Kbuild b/drm/nouveau/nvkm/subdev/fb/Kbuild
new file mode 100644
index 00000000..bfd0166d
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/fb/Kbuild
@@ -0,0 +1,45 @@
+nvkm-y += nvkm/subdev/fb/base.o
+nvkm-y += nvkm/subdev/fb/nv04.o
+nvkm-y += nvkm/subdev/fb/nv10.o
+nvkm-y += nvkm/subdev/fb/nv1a.o
+nvkm-y += nvkm/subdev/fb/nv20.o
+nvkm-y += nvkm/subdev/fb/nv25.o
+nvkm-y += nvkm/subdev/fb/nv30.o
+nvkm-y += nvkm/subdev/fb/nv35.o
+nvkm-y += nvkm/subdev/fb/nv36.o
+nvkm-y += nvkm/subdev/fb/nv40.o
+nvkm-y += nvkm/subdev/fb/nv41.o
+nvkm-y += nvkm/subdev/fb/nv44.o
+nvkm-y += nvkm/subdev/fb/nv46.o
+nvkm-y += nvkm/subdev/fb/nv47.o
+nvkm-y += nvkm/subdev/fb/nv49.o
+nvkm-y += nvkm/subdev/fb/nv4e.o
+nvkm-y += nvkm/subdev/fb/nv50.o
+nvkm-y += nvkm/subdev/fb/nv84.o
+nvkm-y += nvkm/subdev/fb/nva3.o
+nvkm-y += nvkm/subdev/fb/nvaa.o
+nvkm-y += nvkm/subdev/fb/nvaf.o
+nvkm-y += nvkm/subdev/fb/nvc0.o
+nvkm-y += nvkm/subdev/fb/nve0.o
+nvkm-y += nvkm/subdev/fb/gk20a.o
+nvkm-y += nvkm/subdev/fb/gm107.o
+nvkm-y += nvkm/subdev/fb/ramnv04.o
+nvkm-y += nvkm/subdev/fb/ramnv10.o
+nvkm-y += nvkm/subdev/fb/ramnv1a.o
+nvkm-y += nvkm/subdev/fb/ramnv20.o
+nvkm-y += nvkm/subdev/fb/ramnv40.o
+nvkm-y += nvkm/subdev/fb/ramnv41.o
+nvkm-y += nvkm/subdev/fb/ramnv44.o
+nvkm-y += nvkm/subdev/fb/ramnv49.o
+nvkm-y += nvkm/subdev/fb/ramnv4e.o
+nvkm-y += nvkm/subdev/fb/ramnv50.o
+nvkm-y += nvkm/subdev/fb/ramnva3.o
+nvkm-y += nvkm/subdev/fb/ramnvaa.o
+nvkm-y += nvkm/subdev/fb/ramnvc0.o
+nvkm-y += nvkm/subdev/fb/ramnve0.o
+nvkm-y += nvkm/subdev/fb/ramgk20a.o
+nvkm-y += nvkm/subdev/fb/ramgm107.o
+nvkm-y += nvkm/subdev/fb/sddr2.o
+nvkm-y += nvkm/subdev/fb/sddr3.o
+nvkm-y += nvkm/subdev/fb/gddr3.o
+nvkm-y += nvkm/subdev/fb/gddr5.o
diff --git a/nvkm/subdev/fb/base.c b/drm/nouveau/nvkm/subdev/fb/base.c
index 090a7f2a..090a7f2a 100644
--- a/nvkm/subdev/fb/base.c
+++ b/drm/nouveau/nvkm/subdev/fb/base.c
diff --git a/nvkm/subdev/fb/gddr3.c b/drm/nouveau/nvkm/subdev/fb/gddr3.c
index d85a25d0..d85a25d0 100644
--- a/nvkm/subdev/fb/gddr3.c
+++ b/drm/nouveau/nvkm/subdev/fb/gddr3.c
diff --git a/nvkm/subdev/fb/gddr5.c b/drm/nouveau/nvkm/subdev/fb/gddr5.c
index 7fbbe05d..7fbbe05d 100644
--- a/nvkm/subdev/fb/gddr5.c
+++ b/drm/nouveau/nvkm/subdev/fb/gddr5.c
diff --git a/nvkm/subdev/fb/gk20a.c b/drm/nouveau/nvkm/subdev/fb/gk20a.c
index fde42e4d..fde42e4d 100644
--- a/nvkm/subdev/fb/gk20a.c
+++ b/drm/nouveau/nvkm/subdev/fb/gk20a.c
diff --git a/nvkm/subdev/fb/gm107.c b/drm/nouveau/nvkm/subdev/fb/gm107.c
index c4840aed..c4840aed 100644
--- a/nvkm/subdev/fb/gm107.c
+++ b/drm/nouveau/nvkm/subdev/fb/gm107.c
diff --git a/nvkm/subdev/fb/nv04.c b/drm/nouveau/nvkm/subdev/fb/nv04.c
index 8309fe33..8309fe33 100644
--- a/nvkm/subdev/fb/nv04.c
+++ b/drm/nouveau/nvkm/subdev/fb/nv04.c
diff --git a/nvkm/subdev/fb/nv04.h b/drm/nouveau/nvkm/subdev/fb/nv04.h
index 06ce71f8..06ce71f8 100644
--- a/nvkm/subdev/fb/nv04.h
+++ b/drm/nouveau/nvkm/subdev/fb/nv04.h
diff --git a/nvkm/subdev/fb/nv10.c b/drm/nouveau/nvkm/subdev/fb/nv10.c
index ffb7ec6d..ffb7ec6d 100644
--- a/nvkm/subdev/fb/nv10.c
+++ b/drm/nouveau/nvkm/subdev/fb/nv10.c
diff --git a/nvkm/subdev/fb/nv1a.c b/drm/nouveau/nvkm/subdev/fb/nv1a.c
index 265d1253..265d1253 100644
--- a/nvkm/subdev/fb/nv1a.c
+++ b/drm/nouveau/nvkm/subdev/fb/nv1a.c
diff --git a/nvkm/subdev/fb/nv20.c b/drm/nouveau/nvkm/subdev/fb/nv20.c
index 2209ade6..2209ade6 100644
--- a/nvkm/subdev/fb/nv20.c
+++ b/drm/nouveau/nvkm/subdev/fb/nv20.c
diff --git a/nvkm/subdev/fb/nv25.c b/drm/nouveau/nvkm/subdev/fb/nv25.c
index e2a66c35..e2a66c35 100644
--- a/nvkm/subdev/fb/nv25.c
+++ b/drm/nouveau/nvkm/subdev/fb/nv25.c
diff --git a/nvkm/subdev/fb/nv30.c b/drm/nouveau/nvkm/subdev/fb/nv30.c
index cbec402b..cbec402b 100644
--- a/nvkm/subdev/fb/nv30.c
+++ b/drm/nouveau/nvkm/subdev/fb/nv30.c
diff --git a/nvkm/subdev/fb/nv35.c b/drm/nouveau/nvkm/subdev/fb/nv35.c
index b2cf8c69..b2cf8c69 100644
--- a/nvkm/subdev/fb/nv35.c
+++ b/drm/nouveau/nvkm/subdev/fb/nv35.c
diff --git a/nvkm/subdev/fb/nv36.c b/drm/nouveau/nvkm/subdev/fb/nv36.c
index b4cdae2a..b4cdae2a 100644
--- a/nvkm/subdev/fb/nv36.c
+++ b/drm/nouveau/nvkm/subdev/fb/nv36.c
diff --git a/nvkm/subdev/fb/nv40.c b/drm/nouveau/nvkm/subdev/fb/nv40.c
index 52814258..52814258 100644
--- a/nvkm/subdev/fb/nv40.c
+++ b/drm/nouveau/nvkm/subdev/fb/nv40.c
diff --git a/nvkm/subdev/fb/nv40.h b/drm/nouveau/nvkm/subdev/fb/nv40.h
index 581f8085..581f8085 100644
--- a/nvkm/subdev/fb/nv40.h
+++ b/drm/nouveau/nvkm/subdev/fb/nv40.h
diff --git a/nvkm/subdev/fb/nv41.c b/drm/nouveau/nvkm/subdev/fb/nv41.c
index b239a861..b239a861 100644
--- a/nvkm/subdev/fb/nv41.c
+++ b/drm/nouveau/nvkm/subdev/fb/nv41.c
diff --git a/nvkm/subdev/fb/nv44.c b/drm/nouveau/nvkm/subdev/fb/nv44.c
index d8478208..d8478208 100644
--- a/nvkm/subdev/fb/nv44.c
+++ b/drm/nouveau/nvkm/subdev/fb/nv44.c
diff --git a/nvkm/subdev/fb/nv46.c b/drm/nouveau/nvkm/subdev/fb/nv46.c
index a5b77514..a5b77514 100644
--- a/nvkm/subdev/fb/nv46.c
+++ b/drm/nouveau/nvkm/subdev/fb/nv46.c
diff --git a/nvkm/subdev/fb/nv47.c b/drm/nouveau/nvkm/subdev/fb/nv47.c
index 3bea1423..3bea1423 100644
--- a/nvkm/subdev/fb/nv47.c
+++ b/drm/nouveau/nvkm/subdev/fb/nv47.c
diff --git a/nvkm/subdev/fb/nv49.c b/drm/nouveau/nvkm/subdev/fb/nv49.c
index 666cbd5d..666cbd5d 100644
--- a/nvkm/subdev/fb/nv49.c
+++ b/drm/nouveau/nvkm/subdev/fb/nv49.c
diff --git a/nvkm/subdev/fb/nv4e.c b/drm/nouveau/nvkm/subdev/fb/nv4e.c
index 42e64f36..42e64f36 100644
--- a/nvkm/subdev/fb/nv4e.c
+++ b/drm/nouveau/nvkm/subdev/fb/nv4e.c
diff --git a/nvkm/subdev/fb/nv50.c b/drm/nouveau/nvkm/subdev/fb/nv50.c
index 4150b0d1..4150b0d1 100644
--- a/nvkm/subdev/fb/nv50.c
+++ b/drm/nouveau/nvkm/subdev/fb/nv50.c
diff --git a/nvkm/subdev/fb/nv50.h b/drm/nouveau/nvkm/subdev/fb/nv50.h
index c5e5a888..c5e5a888 100644
--- a/nvkm/subdev/fb/nv50.h
+++ b/drm/nouveau/nvkm/subdev/fb/nv50.h
diff --git a/nvkm/subdev/fb/nv84.c b/drm/nouveau/nvkm/subdev/fb/nv84.c
index cf0e767d..cf0e767d 100644
--- a/nvkm/subdev/fb/nv84.c
+++ b/drm/nouveau/nvkm/subdev/fb/nv84.c
diff --git a/nvkm/subdev/fb/nva3.c b/drm/nouveau/nvkm/subdev/fb/nva3.c
index dab6e1c6..dab6e1c6 100644
--- a/nvkm/subdev/fb/nva3.c
+++ b/drm/nouveau/nvkm/subdev/fb/nva3.c
diff --git a/nvkm/subdev/fb/nvaa.c b/drm/nouveau/nvkm/subdev/fb/nvaa.c
index cba8e681..cba8e681 100644
--- a/nvkm/subdev/fb/nvaa.c
+++ b/drm/nouveau/nvkm/subdev/fb/nvaa.c
diff --git a/nvkm/subdev/fb/nvaf.c b/drm/nouveau/nvkm/subdev/fb/nvaf.c
index 5423faa2..5423faa2 100644
--- a/nvkm/subdev/fb/nvaf.c
+++ b/drm/nouveau/nvkm/subdev/fb/nvaf.c
diff --git a/nvkm/subdev/fb/nvc0.c b/drm/nouveau/nvkm/subdev/fb/nvc0.c
index 32f28dc7..32f28dc7 100644
--- a/nvkm/subdev/fb/nvc0.c
+++ b/drm/nouveau/nvkm/subdev/fb/nvc0.c
diff --git a/nvkm/subdev/fb/nvc0.h b/drm/nouveau/nvkm/subdev/fb/nvc0.h
index 705a06d7..705a06d7 100644
--- a/nvkm/subdev/fb/nvc0.h
+++ b/drm/nouveau/nvkm/subdev/fb/nvc0.h
diff --git a/nvkm/subdev/fb/nve0.c b/drm/nouveau/nvkm/subdev/fb/nve0.c
index 595db50c..595db50c 100644
--- a/nvkm/subdev/fb/nve0.c
+++ b/drm/nouveau/nvkm/subdev/fb/nve0.c
diff --git a/nvkm/subdev/fb/priv.h b/drm/nouveau/nvkm/subdev/fb/priv.h
index 283863f7..283863f7 100644
--- a/nvkm/subdev/fb/priv.h
+++ b/drm/nouveau/nvkm/subdev/fb/priv.h
diff --git a/nvkm/subdev/fb/ramfuc.h b/drm/nouveau/nvkm/subdev/fb/ramfuc.h
index 0ac72564..0ac72564 100644
--- a/nvkm/subdev/fb/ramfuc.h
+++ b/drm/nouveau/nvkm/subdev/fb/ramfuc.h
diff --git a/nvkm/subdev/fb/ramgk20a.c b/drm/nouveau/nvkm/subdev/fb/ramgk20a.c
index 4d77d75e..4d77d75e 100644
--- a/nvkm/subdev/fb/ramgk20a.c
+++ b/drm/nouveau/nvkm/subdev/fb/ramgk20a.c
diff --git a/nvkm/subdev/fb/ramgm107.c b/drm/nouveau/nvkm/subdev/fb/ramgm107.c
index 4c636359..4c636359 100644
--- a/nvkm/subdev/fb/ramgm107.c
+++ b/drm/nouveau/nvkm/subdev/fb/ramgm107.c
diff --git a/nvkm/subdev/fb/ramnv04.c b/drm/nouveau/nvkm/subdev/fb/ramnv04.c
index 1972268d..1972268d 100644
--- a/nvkm/subdev/fb/ramnv04.c
+++ b/drm/nouveau/nvkm/subdev/fb/ramnv04.c
diff --git a/nvkm/subdev/fb/ramnv10.c b/drm/nouveau/nvkm/subdev/fb/ramnv10.c
index 8311f377..8311f377 100644
--- a/nvkm/subdev/fb/ramnv10.c
+++ b/drm/nouveau/nvkm/subdev/fb/ramnv10.c
diff --git a/nvkm/subdev/fb/ramnv1a.c b/drm/nouveau/nvkm/subdev/fb/ramnv1a.c
index d0caddfb..d0caddfb 100644
--- a/nvkm/subdev/fb/ramnv1a.c
+++ b/drm/nouveau/nvkm/subdev/fb/ramnv1a.c
diff --git a/nvkm/subdev/fb/ramnv20.c b/drm/nouveau/nvkm/subdev/fb/ramnv20.c
index fdc11bba..fdc11bba 100644
--- a/nvkm/subdev/fb/ramnv20.c
+++ b/drm/nouveau/nvkm/subdev/fb/ramnv20.c
diff --git a/nvkm/subdev/fb/ramnv40.c b/drm/nouveau/nvkm/subdev/fb/ramnv40.c
index 7648beb1..7648beb1 100644
--- a/nvkm/subdev/fb/ramnv40.c
+++ b/drm/nouveau/nvkm/subdev/fb/ramnv40.c
diff --git a/nvkm/subdev/fb/ramnv41.c b/drm/nouveau/nvkm/subdev/fb/ramnv41.c
index d64498a4..d64498a4 100644
--- a/nvkm/subdev/fb/ramnv41.c
+++ b/drm/nouveau/nvkm/subdev/fb/ramnv41.c
diff --git a/nvkm/subdev/fb/ramnv44.c b/drm/nouveau/nvkm/subdev/fb/ramnv44.c
index 089acac8..089acac8 100644
--- a/nvkm/subdev/fb/ramnv44.c
+++ b/drm/nouveau/nvkm/subdev/fb/ramnv44.c
diff --git a/nvkm/subdev/fb/ramnv49.c b/drm/nouveau/nvkm/subdev/fb/ramnv49.c
index baa013af..baa013af 100644
--- a/nvkm/subdev/fb/ramnv49.c
+++ b/drm/nouveau/nvkm/subdev/fb/ramnv49.c
diff --git a/nvkm/subdev/fb/ramnv4e.c b/drm/nouveau/nvkm/subdev/fb/ramnv4e.c
index 63a6aab8..63a6aab8 100644
--- a/nvkm/subdev/fb/ramnv4e.c
+++ b/drm/nouveau/nvkm/subdev/fb/ramnv4e.c
diff --git a/nvkm/subdev/fb/ramnv50.c b/drm/nouveau/nvkm/subdev/fb/ramnv50.c
index 64a983c9..64a983c9 100644
--- a/nvkm/subdev/fb/ramnv50.c
+++ b/drm/nouveau/nvkm/subdev/fb/ramnv50.c
diff --git a/nvkm/subdev/fb/ramnva3.c b/drm/nouveau/nvkm/subdev/fb/ramnva3.c
index 3b38a538..3b38a538 100644
--- a/nvkm/subdev/fb/ramnva3.c
+++ b/drm/nouveau/nvkm/subdev/fb/ramnva3.c
diff --git a/nvkm/subdev/fb/ramnvaa.c b/drm/nouveau/nvkm/subdev/fb/ramnvaa.c
index 033a8e99..033a8e99 100644
--- a/nvkm/subdev/fb/ramnvaa.c
+++ b/drm/nouveau/nvkm/subdev/fb/ramnvaa.c
diff --git a/nvkm/subdev/fb/ramnvc0.c b/drm/nouveau/nvkm/subdev/fb/ramnvc0.c
index 735cb958..735cb958 100644
--- a/nvkm/subdev/fb/ramnvc0.c
+++ b/drm/nouveau/nvkm/subdev/fb/ramnvc0.c
diff --git a/nvkm/subdev/fb/ramnve0.c b/drm/nouveau/nvkm/subdev/fb/ramnve0.c
index 6bae474a..6bae474a 100644
--- a/nvkm/subdev/fb/ramnve0.c
+++ b/drm/nouveau/nvkm/subdev/fb/ramnve0.c
diff --git a/nvkm/subdev/fb/ramseq.h b/drm/nouveau/nvkm/subdev/fb/ramseq.h
index 571077e3..571077e3 100644
--- a/nvkm/subdev/fb/ramseq.h
+++ b/drm/nouveau/nvkm/subdev/fb/ramseq.h
diff --git a/nvkm/include/subdev/fb/regsnv04.h b/drm/nouveau/nvkm/subdev/fb/regsnv04.h
index 0f7fc0c5..0f7fc0c5 100644
--- a/nvkm/include/subdev/fb/regsnv04.h
+++ b/drm/nouveau/nvkm/subdev/fb/regsnv04.h
diff --git a/nvkm/subdev/fb/sddr2.c b/drm/nouveau/nvkm/subdev/fb/sddr2.c
index 252575f3..252575f3 100644
--- a/nvkm/subdev/fb/sddr2.c
+++ b/drm/nouveau/nvkm/subdev/fb/sddr2.c
diff --git a/nvkm/subdev/fb/sddr3.c b/drm/nouveau/nvkm/subdev/fb/sddr3.c
index a2dca486..a2dca486 100644
--- a/nvkm/subdev/fb/sddr3.c
+++ b/drm/nouveau/nvkm/subdev/fb/sddr3.c
diff --git a/drm/nouveau/nvkm/subdev/fuse/Kbuild b/drm/nouveau/nvkm/subdev/fuse/Kbuild
new file mode 100644
index 00000000..0458bce2
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/fuse/Kbuild
@@ -0,0 +1,4 @@
+nvkm-y += nvkm/subdev/fuse/base.o
+nvkm-y += nvkm/subdev/fuse/g80.o
+nvkm-y += nvkm/subdev/fuse/gf100.o
+nvkm-y += nvkm/subdev/fuse/gm107.o
diff --git a/nvkm/subdev/fuse/base.c b/drm/nouveau/nvkm/subdev/fuse/base.c
index 9e8e9212..9e8e9212 100644
--- a/nvkm/subdev/fuse/base.c
+++ b/drm/nouveau/nvkm/subdev/fuse/base.c
diff --git a/nvkm/subdev/fuse/g80.c b/drm/nouveau/nvkm/subdev/fuse/g80.c
index a374ade4..a374ade4 100644
--- a/nvkm/subdev/fuse/g80.c
+++ b/drm/nouveau/nvkm/subdev/fuse/g80.c
diff --git a/nvkm/subdev/fuse/gf100.c b/drm/nouveau/nvkm/subdev/fuse/gf100.c
index 5ed03f54..5ed03f54 100644
--- a/nvkm/subdev/fuse/gf100.c
+++ b/drm/nouveau/nvkm/subdev/fuse/gf100.c
diff --git a/nvkm/subdev/fuse/gm107.c b/drm/nouveau/nvkm/subdev/fuse/gm107.c
index 4f1a636c..4f1a636c 100644
--- a/nvkm/subdev/fuse/gm107.c
+++ b/drm/nouveau/nvkm/subdev/fuse/gm107.c
diff --git a/nvkm/subdev/fuse/priv.h b/drm/nouveau/nvkm/subdev/fuse/priv.h
index d2085411..d2085411 100644
--- a/nvkm/subdev/fuse/priv.h
+++ b/drm/nouveau/nvkm/subdev/fuse/priv.h
diff --git a/drm/nouveau/nvkm/subdev/gpio/Kbuild b/drm/nouveau/nvkm/subdev/gpio/Kbuild
new file mode 100644
index 00000000..77bc8867
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/gpio/Kbuild
@@ -0,0 +1,6 @@
+nvkm-y += nvkm/subdev/gpio/base.o
+nvkm-y += nvkm/subdev/gpio/nv10.o
+nvkm-y += nvkm/subdev/gpio/nv50.o
+nvkm-y += nvkm/subdev/gpio/nv94.o
+nvkm-y += nvkm/subdev/gpio/nvd0.o
+nvkm-y += nvkm/subdev/gpio/nve0.o
diff --git a/nvkm/subdev/gpio/base.c b/drm/nouveau/nvkm/subdev/gpio/base.c
index 7ad99b76..7ad99b76 100644
--- a/nvkm/subdev/gpio/base.c
+++ b/drm/nouveau/nvkm/subdev/gpio/base.c
diff --git a/nvkm/subdev/gpio/nv10.c b/drm/nouveau/nvkm/subdev/gpio/nv10.c
index 27ad23ea..27ad23ea 100644
--- a/nvkm/subdev/gpio/nv10.c
+++ b/drm/nouveau/nvkm/subdev/gpio/nv10.c
diff --git a/nvkm/subdev/gpio/nv50.c b/drm/nouveau/nvkm/subdev/gpio/nv50.c
index 2e30d5a6..2e30d5a6 100644
--- a/nvkm/subdev/gpio/nv50.c
+++ b/drm/nouveau/nvkm/subdev/gpio/nv50.c
diff --git a/nvkm/subdev/gpio/nv94.c b/drm/nouveau/nvkm/subdev/gpio/nv94.c
index cae404cc..cae404cc 100644
--- a/nvkm/subdev/gpio/nv94.c
+++ b/drm/nouveau/nvkm/subdev/gpio/nv94.c
diff --git a/nvkm/subdev/gpio/nvd0.c b/drm/nouveau/nvkm/subdev/gpio/nvd0.c
index 480d6d2a..480d6d2a 100644
--- a/nvkm/subdev/gpio/nvd0.c
+++ b/drm/nouveau/nvkm/subdev/gpio/nvd0.c
diff --git a/nvkm/subdev/gpio/nve0.c b/drm/nouveau/nvkm/subdev/gpio/nve0.c
index e1145b48..e1145b48 100644
--- a/nvkm/subdev/gpio/nve0.c
+++ b/drm/nouveau/nvkm/subdev/gpio/nve0.c
diff --git a/nvkm/subdev/gpio/priv.h b/drm/nouveau/nvkm/subdev/gpio/priv.h
index bff98b86..bff98b86 100644
--- a/nvkm/subdev/gpio/priv.h
+++ b/drm/nouveau/nvkm/subdev/gpio/priv.h
diff --git a/drm/nouveau/nvkm/subdev/i2c/Kbuild b/drm/nouveau/nvkm/subdev/i2c/Kbuild
new file mode 100644
index 00000000..cc8bd836
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/i2c/Kbuild
@@ -0,0 +1,16 @@
+nvkm-y += nvkm/subdev/i2c/base.o
+nvkm-y += nvkm/subdev/i2c/anx9805.o
+nvkm-y += nvkm/subdev/i2c/aux.o
+nvkm-y += nvkm/subdev/i2c/bit.o
+nvkm-y += nvkm/subdev/i2c/pad.o
+nvkm-y += nvkm/subdev/i2c/padnv04.o
+nvkm-y += nvkm/subdev/i2c/padnv94.o
+nvkm-y += nvkm/subdev/i2c/padgm204.o
+nvkm-y += nvkm/subdev/i2c/nv04.o
+nvkm-y += nvkm/subdev/i2c/nv4e.o
+nvkm-y += nvkm/subdev/i2c/nv50.o
+nvkm-y += nvkm/subdev/i2c/nv94.o
+nvkm-y += nvkm/subdev/i2c/nvd0.o
+nvkm-y += nvkm/subdev/i2c/gf117.o
+nvkm-y += nvkm/subdev/i2c/nve0.o
+nvkm-y += nvkm/subdev/i2c/gm204.o
diff --git a/nvkm/subdev/i2c/anx9805.c b/drm/nouveau/nvkm/subdev/i2c/anx9805.c
index 2c2731a6..2c2731a6 100644
--- a/nvkm/subdev/i2c/anx9805.c
+++ b/drm/nouveau/nvkm/subdev/i2c/anx9805.c
diff --git a/nvkm/subdev/i2c/aux.c b/drm/nouveau/nvkm/subdev/i2c/aux.c
index 02eb42be..02eb42be 100644
--- a/nvkm/subdev/i2c/aux.c
+++ b/drm/nouveau/nvkm/subdev/i2c/aux.c
diff --git a/nvkm/subdev/i2c/base.c b/drm/nouveau/nvkm/subdev/i2c/base.c
index d1f06e9a..d1f06e9a 100644
--- a/nvkm/subdev/i2c/base.c
+++ b/drm/nouveau/nvkm/subdev/i2c/base.c
diff --git a/nvkm/subdev/i2c/bit.c b/drm/nouveau/nvkm/subdev/i2c/bit.c
index 813ffc96..813ffc96 100644
--- a/nvkm/subdev/i2c/bit.c
+++ b/drm/nouveau/nvkm/subdev/i2c/bit.c
diff --git a/nvkm/subdev/i2c/gf117.c b/drm/nouveau/nvkm/subdev/i2c/gf117.c
index fa891c39..fa891c39 100644
--- a/nvkm/subdev/i2c/gf117.c
+++ b/drm/nouveau/nvkm/subdev/i2c/gf117.c
diff --git a/nvkm/subdev/i2c/gm204.c b/drm/nouveau/nvkm/subdev/i2c/gm204.c
index 06a2b87c..06a2b87c 100644
--- a/nvkm/subdev/i2c/gm204.c
+++ b/drm/nouveau/nvkm/subdev/i2c/gm204.c
diff --git a/nvkm/subdev/i2c/nv04.c b/drm/nouveau/nvkm/subdev/i2c/nv04.c
index 0db5de6a..0db5de6a 100644
--- a/nvkm/subdev/i2c/nv04.c
+++ b/drm/nouveau/nvkm/subdev/i2c/nv04.c
diff --git a/nvkm/subdev/i2c/nv4e.c b/drm/nouveau/nvkm/subdev/i2c/nv4e.c
index 0d783890..0d783890 100644
--- a/nvkm/subdev/i2c/nv4e.c
+++ b/drm/nouveau/nvkm/subdev/i2c/nv4e.c
diff --git a/nvkm/subdev/i2c/nv50.c b/drm/nouveau/nvkm/subdev/i2c/nv50.c
index 33dd89f5..33dd89f5 100644
--- a/nvkm/subdev/i2c/nv50.c
+++ b/drm/nouveau/nvkm/subdev/i2c/nv50.c
diff --git a/nvkm/subdev/i2c/nv50.h b/drm/nouveau/nvkm/subdev/i2c/nv50.h
index 9ef96569..9ef96569 100644
--- a/nvkm/subdev/i2c/nv50.h
+++ b/drm/nouveau/nvkm/subdev/i2c/nv50.h
diff --git a/nvkm/subdev/i2c/nv94.c b/drm/nouveau/nvkm/subdev/i2c/nv94.c
index e383ee81..e383ee81 100644
--- a/nvkm/subdev/i2c/nv94.c
+++ b/drm/nouveau/nvkm/subdev/i2c/nv94.c
diff --git a/nvkm/subdev/i2c/nvd0.c b/drm/nouveau/nvkm/subdev/i2c/nvd0.c
index 62dde9b0..62dde9b0 100644
--- a/nvkm/subdev/i2c/nvd0.c
+++ b/drm/nouveau/nvkm/subdev/i2c/nvd0.c
diff --git a/nvkm/subdev/i2c/nve0.c b/drm/nouveau/nvkm/subdev/i2c/nve0.c
index 25fe5c2d..25fe5c2d 100644
--- a/nvkm/subdev/i2c/nve0.c
+++ b/drm/nouveau/nvkm/subdev/i2c/nve0.c
diff --git a/nvkm/subdev/i2c/pad.c b/drm/nouveau/nvkm/subdev/i2c/pad.c
index a3d0d82f..a3d0d82f 100644
--- a/nvkm/subdev/i2c/pad.c
+++ b/drm/nouveau/nvkm/subdev/i2c/pad.c
diff --git a/nvkm/subdev/i2c/pad.h b/drm/nouveau/nvkm/subdev/i2c/pad.h
index f03138b2..f03138b2 100644
--- a/nvkm/subdev/i2c/pad.h
+++ b/drm/nouveau/nvkm/subdev/i2c/pad.h
diff --git a/nvkm/subdev/i2c/padgm204.c b/drm/nouveau/nvkm/subdev/i2c/padgm204.c
index 1630a934..1630a934 100644
--- a/nvkm/subdev/i2c/padgm204.c
+++ b/drm/nouveau/nvkm/subdev/i2c/padgm204.c
diff --git a/nvkm/subdev/i2c/padnv04.c b/drm/nouveau/nvkm/subdev/i2c/padnv04.c
index 2c4b6129..2c4b6129 100644
--- a/nvkm/subdev/i2c/padnv04.c
+++ b/drm/nouveau/nvkm/subdev/i2c/padnv04.c
diff --git a/nvkm/subdev/i2c/padnv94.c b/drm/nouveau/nvkm/subdev/i2c/padnv94.c
index afe79892..afe79892 100644
--- a/nvkm/subdev/i2c/padnv94.c
+++ b/drm/nouveau/nvkm/subdev/i2c/padnv94.c
diff --git a/nvkm/subdev/i2c/port.h b/drm/nouveau/nvkm/subdev/i2c/port.h
index b9acf788..b9acf788 100644
--- a/nvkm/subdev/i2c/port.h
+++ b/drm/nouveau/nvkm/subdev/i2c/port.h
diff --git a/nvkm/subdev/i2c/priv.h b/drm/nouveau/nvkm/subdev/i2c/priv.h
index 4fe7ae3f..4fe7ae3f 100644
--- a/nvkm/subdev/i2c/priv.h
+++ b/drm/nouveau/nvkm/subdev/i2c/priv.h
diff --git a/drm/nouveau/nvkm/subdev/ibus/Kbuild b/drm/nouveau/nvkm/subdev/ibus/Kbuild
new file mode 100644
index 00000000..a006e535
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/ibus/Kbuild
@@ -0,0 +1,3 @@
+nvkm-y += nvkm/subdev/ibus/nvc0.o
+nvkm-y += nvkm/subdev/ibus/nve0.o
+nvkm-y += nvkm/subdev/ibus/gk20a.o
diff --git a/nvkm/subdev/ibus/gk20a.c b/drm/nouveau/nvkm/subdev/ibus/gk20a.c
index 245f0eba..245f0eba 100644
--- a/nvkm/subdev/ibus/gk20a.c
+++ b/drm/nouveau/nvkm/subdev/ibus/gk20a.c
diff --git a/nvkm/subdev/ibus/nvc0.c b/drm/nouveau/nvkm/subdev/ibus/nvc0.c
index 4e977ff2..4e977ff2 100644
--- a/nvkm/subdev/ibus/nvc0.c
+++ b/drm/nouveau/nvkm/subdev/ibus/nvc0.c
diff --git a/nvkm/subdev/ibus/nve0.c b/drm/nouveau/nvkm/subdev/ibus/nve0.c
index ebef970a..ebef970a 100644
--- a/nvkm/subdev/ibus/nve0.c
+++ b/drm/nouveau/nvkm/subdev/ibus/nve0.c
diff --git a/drm/nouveau/nvkm/subdev/instmem/Kbuild b/drm/nouveau/nvkm/subdev/instmem/Kbuild
new file mode 100644
index 00000000..e6f35abe
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/instmem/Kbuild
@@ -0,0 +1,4 @@
+nvkm-y += nvkm/subdev/instmem/base.o
+nvkm-y += nvkm/subdev/instmem/nv04.o
+nvkm-y += nvkm/subdev/instmem/nv40.o
+nvkm-y += nvkm/subdev/instmem/nv50.o
diff --git a/nvkm/subdev/instmem/base.c b/drm/nouveau/nvkm/subdev/instmem/base.c
index 767fcf70..767fcf70 100644
--- a/nvkm/subdev/instmem/base.c
+++ b/drm/nouveau/nvkm/subdev/instmem/base.c
diff --git a/nvkm/subdev/instmem/nv04.c b/drm/nouveau/nvkm/subdev/instmem/nv04.c
index 9ffd2d8d..9ffd2d8d 100644
--- a/nvkm/subdev/instmem/nv04.c
+++ b/drm/nouveau/nvkm/subdev/instmem/nv04.c
diff --git a/nvkm/subdev/instmem/nv04.h b/drm/nouveau/nvkm/subdev/instmem/nv04.h
index 095fbc6f..095fbc6f 100644
--- a/nvkm/subdev/instmem/nv04.h
+++ b/drm/nouveau/nvkm/subdev/instmem/nv04.h
diff --git a/nvkm/subdev/instmem/nv40.c b/drm/nouveau/nvkm/subdev/instmem/nv40.c
index 8803809f..8803809f 100644
--- a/nvkm/subdev/instmem/nv40.c
+++ b/drm/nouveau/nvkm/subdev/instmem/nv40.c
diff --git a/nvkm/subdev/instmem/nv50.c b/drm/nouveau/nvkm/subdev/instmem/nv50.c
index 64ee6802..64ee6802 100644
--- a/nvkm/subdev/instmem/nv50.c
+++ b/drm/nouveau/nvkm/subdev/instmem/nv50.c
diff --git a/nvkm/subdev/instmem/priv.h b/drm/nouveau/nvkm/subdev/instmem/priv.h
index 8d67dedc..8d67dedc 100644
--- a/nvkm/subdev/instmem/priv.h
+++ b/drm/nouveau/nvkm/subdev/instmem/priv.h
diff --git a/drm/nouveau/nvkm/subdev/ltc/Kbuild b/drm/nouveau/nvkm/subdev/ltc/Kbuild
new file mode 100644
index 00000000..e5df3d86
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/ltc/Kbuild
@@ -0,0 +1,4 @@
+nvkm-y += nvkm/subdev/ltc/base.o
+nvkm-y += nvkm/subdev/ltc/gf100.o
+nvkm-y += nvkm/subdev/ltc/gk104.o
+nvkm-y += nvkm/subdev/ltc/gm107.o
diff --git a/nvkm/subdev/ltc/base.c b/drm/nouveau/nvkm/subdev/ltc/base.c
index 7fa33151..7fa33151 100644
--- a/nvkm/subdev/ltc/base.c
+++ b/drm/nouveau/nvkm/subdev/ltc/base.c
diff --git a/nvkm/subdev/ltc/gf100.c b/drm/nouveau/nvkm/subdev/ltc/gf100.c
index 2db09772..2db09772 100644
--- a/nvkm/subdev/ltc/gf100.c
+++ b/drm/nouveau/nvkm/subdev/ltc/gf100.c
diff --git a/nvkm/subdev/ltc/gk104.c b/drm/nouveau/nvkm/subdev/ltc/gk104.c
index b39b5d0e..b39b5d0e 100644
--- a/nvkm/subdev/ltc/gk104.c
+++ b/drm/nouveau/nvkm/subdev/ltc/gk104.c
diff --git a/nvkm/subdev/ltc/gm107.c b/drm/nouveau/nvkm/subdev/ltc/gm107.c
index 89fc4238..89fc4238 100644
--- a/nvkm/subdev/ltc/gm107.c
+++ b/drm/nouveau/nvkm/subdev/ltc/gm107.c
diff --git a/nvkm/subdev/ltc/priv.h b/drm/nouveau/nvkm/subdev/ltc/priv.h
index 41f179d9..41f179d9 100644
--- a/nvkm/subdev/ltc/priv.h
+++ b/drm/nouveau/nvkm/subdev/ltc/priv.h
diff --git a/drm/nouveau/nvkm/subdev/mc/Kbuild b/drm/nouveau/nvkm/subdev/mc/Kbuild
new file mode 100644
index 00000000..24b589b5
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/mc/Kbuild
@@ -0,0 +1,11 @@
+nvkm-y += nvkm/subdev/mc/base.o
+nvkm-y += nvkm/subdev/mc/nv04.o
+nvkm-y += nvkm/subdev/mc/nv40.o
+nvkm-y += nvkm/subdev/mc/nv44.o
+nvkm-y += nvkm/subdev/mc/nv4c.o
+nvkm-y += nvkm/subdev/mc/nv50.o
+nvkm-y += nvkm/subdev/mc/nv94.o
+nvkm-y += nvkm/subdev/mc/nv98.o
+nvkm-y += nvkm/subdev/mc/nvc0.o
+nvkm-y += nvkm/subdev/mc/nvc3.o
+nvkm-y += nvkm/subdev/mc/gk20a.o
diff --git a/nvkm/subdev/mc/base.c b/drm/nouveau/nvkm/subdev/mc/base.c
index 25e3b964..25e3b964 100644
--- a/nvkm/subdev/mc/base.c
+++ b/drm/nouveau/nvkm/subdev/mc/base.c
diff --git a/nvkm/subdev/mc/gk20a.c b/drm/nouveau/nvkm/subdev/mc/gk20a.c
index b8d6cb43..b8d6cb43 100644
--- a/nvkm/subdev/mc/gk20a.c
+++ b/drm/nouveau/nvkm/subdev/mc/gk20a.c
diff --git a/nvkm/subdev/mc/nv04.c b/drm/nouveau/nvkm/subdev/mc/nv04.c
index 2d787e4d..2d787e4d 100644
--- a/nvkm/subdev/mc/nv04.c
+++ b/drm/nouveau/nvkm/subdev/mc/nv04.c
diff --git a/nvkm/subdev/mc/nv04.h b/drm/nouveau/nvkm/subdev/mc/nv04.h
index 4d9ea46c..4d9ea46c 100644
--- a/nvkm/subdev/mc/nv04.h
+++ b/drm/nouveau/nvkm/subdev/mc/nv04.h
diff --git a/nvkm/subdev/mc/nv40.c b/drm/nouveau/nvkm/subdev/mc/nv40.c
index 5b1faecf..5b1faecf 100644
--- a/nvkm/subdev/mc/nv40.c
+++ b/drm/nouveau/nvkm/subdev/mc/nv40.c
diff --git a/nvkm/subdev/mc/nv44.c b/drm/nouveau/nvkm/subdev/mc/nv44.c
index cc4d0d2d..cc4d0d2d 100644
--- a/nvkm/subdev/mc/nv44.c
+++ b/drm/nouveau/nvkm/subdev/mc/nv44.c
diff --git a/nvkm/subdev/mc/nv4c.c b/drm/nouveau/nvkm/subdev/mc/nv4c.c
index 165401c4..165401c4 100644
--- a/nvkm/subdev/mc/nv4c.c
+++ b/drm/nouveau/nvkm/subdev/mc/nv4c.c
diff --git a/nvkm/subdev/mc/nv50.c b/drm/nouveau/nvkm/subdev/mc/nv50.c
index 9ca93e27..9ca93e27 100644
--- a/nvkm/subdev/mc/nv50.c
+++ b/drm/nouveau/nvkm/subdev/mc/nv50.c
diff --git a/nvkm/subdev/mc/nv94.c b/drm/nouveau/nvkm/subdev/mc/nv94.c
index 5f454110..5f454110 100644
--- a/nvkm/subdev/mc/nv94.c
+++ b/drm/nouveau/nvkm/subdev/mc/nv94.c
diff --git a/nvkm/subdev/mc/nv98.c b/drm/nouveau/nvkm/subdev/mc/nv98.c
index 3c76d903..3c76d903 100644
--- a/nvkm/subdev/mc/nv98.c
+++ b/drm/nouveau/nvkm/subdev/mc/nv98.c
diff --git a/nvkm/subdev/mc/nvc0.c b/drm/nouveau/nvkm/subdev/mc/nvc0.c
index 15d41dc1..15d41dc1 100644
--- a/nvkm/subdev/mc/nvc0.c
+++ b/drm/nouveau/nvkm/subdev/mc/nvc0.c
diff --git a/nvkm/subdev/mc/nvc3.c b/drm/nouveau/nvkm/subdev/mc/nvc3.c
index 68b5f61a..68b5f61a 100644
--- a/nvkm/subdev/mc/nvc3.c
+++ b/drm/nouveau/nvkm/subdev/mc/nvc3.c
diff --git a/nvkm/subdev/mc/priv.h b/drm/nouveau/nvkm/subdev/mc/priv.h
index 911e6639..911e6639 100644
--- a/nvkm/subdev/mc/priv.h
+++ b/drm/nouveau/nvkm/subdev/mc/priv.h
diff --git a/drm/nouveau/nvkm/subdev/mxm/Kbuild b/drm/nouveau/nvkm/subdev/mxm/Kbuild
new file mode 100644
index 00000000..1a479e05
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/mxm/Kbuild
@@ -0,0 +1,3 @@
+nvkm-y += nvkm/subdev/mxm/base.o
+nvkm-y += nvkm/subdev/mxm/mxms.o
+nvkm-y += nvkm/subdev/mxm/nv50.o
diff --git a/nvkm/subdev/mxm/base.c b/drm/nouveau/nvkm/subdev/mxm/base.c
index 51fcf796..51fcf796 100644
--- a/nvkm/subdev/mxm/base.c
+++ b/drm/nouveau/nvkm/subdev/mxm/base.c
diff --git a/nvkm/subdev/mxm/mxms.c b/drm/nouveau/nvkm/subdev/mxm/mxms.c
index 4bde7f7f..4bde7f7f 100644
--- a/nvkm/subdev/mxm/mxms.c
+++ b/drm/nouveau/nvkm/subdev/mxm/mxms.c
diff --git a/nvkm/subdev/mxm/mxms.h b/drm/nouveau/nvkm/subdev/mxm/mxms.h
index 5e0be0c5..5e0be0c5 100644
--- a/nvkm/subdev/mxm/mxms.h
+++ b/drm/nouveau/nvkm/subdev/mxm/mxms.h
diff --git a/nvkm/subdev/mxm/nv50.c b/drm/nouveau/nvkm/subdev/mxm/nv50.c
index fcaabe84..fcaabe84 100644
--- a/nvkm/subdev/mxm/nv50.c
+++ b/drm/nouveau/nvkm/subdev/mxm/nv50.c
diff --git a/drm/nouveau/nvkm/subdev/pwr/Kbuild b/drm/nouveau/nvkm/subdev/pwr/Kbuild
new file mode 100644
index 00000000..a6648860
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/pwr/Kbuild
@@ -0,0 +1,8 @@
+nvkm-y += nvkm/subdev/pwr/base.o
+nvkm-y += nvkm/subdev/pwr/memx.o
+nvkm-y += nvkm/subdev/pwr/nva3.o
+nvkm-y += nvkm/subdev/pwr/nvc0.o
+nvkm-y += nvkm/subdev/pwr/nvd0.o
+nvkm-y += nvkm/subdev/pwr/gk104.o
+nvkm-y += nvkm/subdev/pwr/nv108.o
+nvkm-y += nvkm/subdev/pwr/gk20a.o
diff --git a/nvkm/subdev/pwr/base.c b/drm/nouveau/nvkm/subdev/pwr/base.c
index 1ea433a5..1ea433a5 100644
--- a/nvkm/subdev/pwr/base.c
+++ b/drm/nouveau/nvkm/subdev/pwr/base.c
diff --git a/nvkm/subdev/pwr/fuc/arith.fuc b/drm/nouveau/nvkm/subdev/pwr/fuc/arith.fuc
index 214a6d9e..214a6d9e 100644
--- a/nvkm/subdev/pwr/fuc/arith.fuc
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/arith.fuc
diff --git a/nvkm/subdev/pwr/fuc/host.fuc b/drm/nouveau/nvkm/subdev/pwr/fuc/host.fuc
index c2bb616a..c2bb616a 100644
--- a/nvkm/subdev/pwr/fuc/host.fuc
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/host.fuc
diff --git a/nvkm/subdev/pwr/fuc/i2c_.fuc b/drm/nouveau/nvkm/subdev/pwr/fuc/i2c_.fuc
index 757dda70..757dda70 100644
--- a/nvkm/subdev/pwr/fuc/i2c_.fuc
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/i2c_.fuc
diff --git a/nvkm/subdev/pwr/fuc/idle.fuc b/drm/nouveau/nvkm/subdev/pwr/fuc/idle.fuc
index 98f1c373..98f1c373 100644
--- a/nvkm/subdev/pwr/fuc/idle.fuc
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/idle.fuc
diff --git a/nvkm/subdev/pwr/fuc/kernel.fuc b/drm/nouveau/nvkm/subdev/pwr/fuc/kernel.fuc
index 5cf5be63..5cf5be63 100644
--- a/nvkm/subdev/pwr/fuc/kernel.fuc
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/kernel.fuc
diff --git a/nvkm/subdev/pwr/fuc/macros.fuc b/drm/nouveau/nvkm/subdev/pwr/fuc/macros.fuc
index 96fc984d..96fc984d 100644
--- a/nvkm/subdev/pwr/fuc/macros.fuc
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/macros.fuc
diff --git a/nvkm/subdev/pwr/fuc/memx.fuc b/drm/nouveau/nvkm/subdev/pwr/fuc/memx.fuc
index ec03f9a4..ec03f9a4 100644
--- a/nvkm/subdev/pwr/fuc/memx.fuc
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/memx.fuc
diff --git a/nvkm/subdev/pwr/fuc/nv108.fuc b/drm/nouveau/nvkm/subdev/pwr/fuc/nv108.fuc5
index b439519e..b439519e 100644
--- a/nvkm/subdev/pwr/fuc/nv108.fuc
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/nv108.fuc5
diff --git a/nvkm/subdev/pwr/fuc/nv108.fuc.h b/drm/nouveau/nvkm/subdev/pwr/fuc/nv108.fuc5.h
index 713e11e2..713e11e2 100644
--- a/nvkm/subdev/pwr/fuc/nv108.fuc.h
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/nv108.fuc5.h
diff --git a/nvkm/subdev/pwr/fuc/nva3.fuc b/drm/nouveau/nvkm/subdev/pwr/fuc/nva3.fuc3
index daa06c1c..daa06c1c 100644
--- a/nvkm/subdev/pwr/fuc/nva3.fuc
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/nva3.fuc3
diff --git a/nvkm/subdev/pwr/fuc/nva3.fuc.h b/drm/nouveau/nvkm/subdev/pwr/fuc/nva3.fuc3.h
index d1f9b6cb..d1f9b6cb 100644
--- a/nvkm/subdev/pwr/fuc/nva3.fuc.h
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/nva3.fuc3.h
diff --git a/nvkm/subdev/pwr/fuc/nvc0.fuc b/drm/nouveau/nvkm/subdev/pwr/fuc/nvc0.fuc3
index 21bf8cc7..21bf8cc7 100644
--- a/nvkm/subdev/pwr/fuc/nvc0.fuc
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/nvc0.fuc3
diff --git a/nvkm/subdev/pwr/fuc/nvc0.fuc.h b/drm/nouveau/nvkm/subdev/pwr/fuc/nvc0.fuc3.h
index 90221d97..90221d97 100644
--- a/nvkm/subdev/pwr/fuc/nvc0.fuc.h
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/nvc0.fuc3.h
diff --git a/nvkm/subdev/pwr/fuc/nvd0.fuc b/drm/nouveau/nvkm/subdev/pwr/fuc/nvd0.fuc4
index b8544326..b8544326 100644
--- a/nvkm/subdev/pwr/fuc/nvd0.fuc
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/nvd0.fuc4
diff --git a/nvkm/subdev/pwr/fuc/nvd0.fuc.h b/drm/nouveau/nvkm/subdev/pwr/fuc/nvd0.fuc4.h
index 7e16aab4..7e16aab4 100644
--- a/nvkm/subdev/pwr/fuc/nvd0.fuc.h
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/nvd0.fuc4.h
diff --git a/nvkm/subdev/pwr/fuc/os.h b/drm/nouveau/nvkm/subdev/pwr/fuc/os.h
index c8b06cb7..c8b06cb7 100644
--- a/nvkm/subdev/pwr/fuc/os.h
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/os.h
diff --git a/nvkm/subdev/pwr/fuc/perf.fuc b/drm/nouveau/nvkm/subdev/pwr/fuc/perf.fuc
index 38eadf70..38eadf70 100644
--- a/nvkm/subdev/pwr/fuc/perf.fuc
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/perf.fuc
diff --git a/nvkm/subdev/pwr/fuc/test.fuc b/drm/nouveau/nvkm/subdev/pwr/fuc/test.fuc
index 0c3a71bf..0c3a71bf 100644
--- a/nvkm/subdev/pwr/fuc/test.fuc
+++ b/drm/nouveau/nvkm/subdev/pwr/fuc/test.fuc
diff --git a/nvkm/subdev/pwr/gk104.c b/drm/nouveau/nvkm/subdev/pwr/gk104.c
index d7661299..9bb419c9 100644
--- a/nvkm/subdev/pwr/gk104.c
+++ b/drm/nouveau/nvkm/subdev/pwr/gk104.c
@@ -26,7 +26,7 @@
#define nvd0_pwr_code gk104_pwr_code
#define nvd0_pwr_data gk104_pwr_data
-#include "fuc/nvd0.fuc.h"
+#include "fuc/nvd0.fuc4.h"
static void
gk104_pwr_pgob(struct nouveau_pwr *ppwr, bool enable)
diff --git a/nvkm/subdev/pwr/gk20a.c b/drm/nouveau/nvkm/subdev/pwr/gk20a.c
index f6b7df1b..f6b7df1b 100644
--- a/nvkm/subdev/pwr/gk20a.c
+++ b/drm/nouveau/nvkm/subdev/pwr/gk20a.c
diff --git a/nvkm/subdev/pwr/memx.c b/drm/nouveau/nvkm/subdev/pwr/memx.c
index 7a9299d7..7a9299d7 100644
--- a/nvkm/subdev/pwr/memx.c
+++ b/drm/nouveau/nvkm/subdev/pwr/memx.c
diff --git a/nvkm/subdev/pwr/nv108.c b/drm/nouveau/nvkm/subdev/pwr/nv108.c
index 04ff7c3c..dacee084 100644
--- a/nvkm/subdev/pwr/nv108.c
+++ b/drm/nouveau/nvkm/subdev/pwr/nv108.c
@@ -23,7 +23,7 @@
*/
#include "priv.h"
-#include "fuc/nv108.fuc.h"
+#include "fuc/nv108.fuc5.h"
struct nouveau_oclass *
nv108_pwr_oclass = &(struct nvkm_pwr_impl) {
diff --git a/nvkm/subdev/pwr/nva3.c b/drm/nouveau/nvkm/subdev/pwr/nva3.c
index 998d5307..f8325a69 100644
--- a/nvkm/subdev/pwr/nva3.c
+++ b/drm/nouveau/nvkm/subdev/pwr/nva3.c
@@ -23,7 +23,7 @@
*/
#include "priv.h"
-#include "fuc/nva3.fuc.h"
+#include "fuc/nva3.fuc3.h"
static int
nva3_pwr_init(struct nouveau_object *object)
diff --git a/nvkm/subdev/pwr/nvc0.c b/drm/nouveau/nvkm/subdev/pwr/nvc0.c
index 9a773e66..669417c2 100644
--- a/nvkm/subdev/pwr/nvc0.c
+++ b/drm/nouveau/nvkm/subdev/pwr/nvc0.c
@@ -23,7 +23,7 @@
*/
#include "priv.h"
-#include "fuc/nvc0.fuc.h"
+#include "fuc/nvc0.fuc3.h"
struct nouveau_oclass *
nvc0_pwr_oclass = &(struct nvkm_pwr_impl) {
diff --git a/nvkm/subdev/pwr/nvd0.c b/drm/nouveau/nvkm/subdev/pwr/nvd0.c
index 2b29be5d..d6e33d0a 100644
--- a/nvkm/subdev/pwr/nvd0.c
+++ b/drm/nouveau/nvkm/subdev/pwr/nvd0.c
@@ -23,7 +23,7 @@
*/
#include "priv.h"
-#include "fuc/nvd0.fuc.h"
+#include "fuc/nvd0.fuc4.h"
struct nouveau_oclass *
nvd0_pwr_oclass = &(struct nvkm_pwr_impl) {
diff --git a/nvkm/subdev/pwr/priv.h b/drm/nouveau/nvkm/subdev/pwr/priv.h
index 86149d9a..86149d9a 100644
--- a/nvkm/subdev/pwr/priv.h
+++ b/drm/nouveau/nvkm/subdev/pwr/priv.h
diff --git a/drm/nouveau/nvkm/subdev/therm/Kbuild b/drm/nouveau/nvkm/subdev/therm/Kbuild
new file mode 100644
index 00000000..9ac82070
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/therm/Kbuild
@@ -0,0 +1,13 @@
+nvkm-y += nvkm/subdev/therm/base.o
+nvkm-y += nvkm/subdev/therm/fan.o
+nvkm-y += nvkm/subdev/therm/fannil.o
+nvkm-y += nvkm/subdev/therm/fanpwm.o
+nvkm-y += nvkm/subdev/therm/fantog.o
+nvkm-y += nvkm/subdev/therm/ic.o
+nvkm-y += nvkm/subdev/therm/temp.o
+nvkm-y += nvkm/subdev/therm/nv40.o
+nvkm-y += nvkm/subdev/therm/nv50.o
+nvkm-y += nvkm/subdev/therm/nv84.o
+nvkm-y += nvkm/subdev/therm/nva3.o
+nvkm-y += nvkm/subdev/therm/nvd0.o
+nvkm-y += nvkm/subdev/therm/gm107.o
diff --git a/nvkm/subdev/therm/base.c b/drm/nouveau/nvkm/subdev/therm/base.c
index 9ad01da6..9ad01da6 100644
--- a/nvkm/subdev/therm/base.c
+++ b/drm/nouveau/nvkm/subdev/therm/base.c
diff --git a/nvkm/subdev/therm/fan.c b/drm/nouveau/nvkm/subdev/therm/fan.c
index 3656d605..3656d605 100644
--- a/nvkm/subdev/therm/fan.c
+++ b/drm/nouveau/nvkm/subdev/therm/fan.c
diff --git a/nvkm/subdev/therm/fannil.c b/drm/nouveau/nvkm/subdev/therm/fannil.c
index b78c182e..b78c182e 100644
--- a/nvkm/subdev/therm/fannil.c
+++ b/drm/nouveau/nvkm/subdev/therm/fannil.c
diff --git a/nvkm/subdev/therm/fanpwm.c b/drm/nouveau/nvkm/subdev/therm/fanpwm.c
index c629d7f2..c629d7f2 100644
--- a/nvkm/subdev/therm/fanpwm.c
+++ b/drm/nouveau/nvkm/subdev/therm/fanpwm.c
diff --git a/nvkm/subdev/therm/fantog.c b/drm/nouveau/nvkm/subdev/therm/fantog.c
index f69dab11..f69dab11 100644
--- a/nvkm/subdev/therm/fantog.c
+++ b/drm/nouveau/nvkm/subdev/therm/fantog.c
diff --git a/nvkm/subdev/therm/gm107.c b/drm/nouveau/nvkm/subdev/therm/gm107.c
index 668cf332..668cf332 100644
--- a/nvkm/subdev/therm/gm107.c
+++ b/drm/nouveau/nvkm/subdev/therm/gm107.c
diff --git a/nvkm/subdev/therm/ic.c b/drm/nouveau/nvkm/subdev/therm/ic.c
index ca9ad9fd..ca9ad9fd 100644
--- a/nvkm/subdev/therm/ic.c
+++ b/drm/nouveau/nvkm/subdev/therm/ic.c
diff --git a/nvkm/subdev/therm/nv40.c b/drm/nouveau/nvkm/subdev/therm/nv40.c
index 002e51b3..002e51b3 100644
--- a/nvkm/subdev/therm/nv40.c
+++ b/drm/nouveau/nvkm/subdev/therm/nv40.c
diff --git a/nvkm/subdev/therm/nv50.c b/drm/nouveau/nvkm/subdev/therm/nv50.c
index 321db927..321db927 100644
--- a/nvkm/subdev/therm/nv50.c
+++ b/drm/nouveau/nvkm/subdev/therm/nv50.c
diff --git a/nvkm/subdev/therm/nv84.c b/drm/nouveau/nvkm/subdev/therm/nv84.c
index 14e2e09b..14e2e09b 100644
--- a/nvkm/subdev/therm/nv84.c
+++ b/drm/nouveau/nvkm/subdev/therm/nv84.c
diff --git a/nvkm/subdev/therm/nva3.c b/drm/nouveau/nvkm/subdev/therm/nva3.c
index 7893357a..7893357a 100644
--- a/nvkm/subdev/therm/nva3.c
+++ b/drm/nouveau/nvkm/subdev/therm/nva3.c
diff --git a/nvkm/subdev/therm/nvd0.c b/drm/nouveau/nvkm/subdev/therm/nvd0.c
index b70f7cc6..b70f7cc6 100644
--- a/nvkm/subdev/therm/nvd0.c
+++ b/drm/nouveau/nvkm/subdev/therm/nvd0.c
diff --git a/nvkm/subdev/therm/priv.h b/drm/nouveau/nvkm/subdev/therm/priv.h
index 7dba8c28..7dba8c28 100644
--- a/nvkm/subdev/therm/priv.h
+++ b/drm/nouveau/nvkm/subdev/therm/priv.h
diff --git a/nvkm/subdev/therm/temp.c b/drm/nouveau/nvkm/subdev/therm/temp.c
index 6212537b..6212537b 100644
--- a/nvkm/subdev/therm/temp.c
+++ b/drm/nouveau/nvkm/subdev/therm/temp.c
diff --git a/drm/nouveau/nvkm/subdev/timer/Kbuild b/drm/nouveau/nvkm/subdev/timer/Kbuild
new file mode 100644
index 00000000..d1d38b4b
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/timer/Kbuild
@@ -0,0 +1,3 @@
+nvkm-y += nvkm/subdev/timer/base.o
+nvkm-y += nvkm/subdev/timer/nv04.o
+nvkm-y += nvkm/subdev/timer/gk20a.o
diff --git a/nvkm/subdev/timer/base.c b/drm/nouveau/nvkm/subdev/timer/base.c
index cf8a0e0f..cf8a0e0f 100644
--- a/nvkm/subdev/timer/base.c
+++ b/drm/nouveau/nvkm/subdev/timer/base.c
diff --git a/nvkm/subdev/timer/gk20a.c b/drm/nouveau/nvkm/subdev/timer/gk20a.c
index 37484db1..37484db1 100644
--- a/nvkm/subdev/timer/gk20a.c
+++ b/drm/nouveau/nvkm/subdev/timer/gk20a.c
diff --git a/nvkm/subdev/timer/nv04.c b/drm/nouveau/nvkm/subdev/timer/nv04.c
index 240ed0b9..240ed0b9 100644
--- a/nvkm/subdev/timer/nv04.c
+++ b/drm/nouveau/nvkm/subdev/timer/nv04.c
diff --git a/nvkm/subdev/timer/nv04.h b/drm/nouveau/nvkm/subdev/timer/nv04.h
index 4bc15269..4bc15269 100644
--- a/nvkm/subdev/timer/nv04.h
+++ b/drm/nouveau/nvkm/subdev/timer/nv04.h
diff --git a/nvkm/subdev/timer/priv.h b/drm/nouveau/nvkm/subdev/timer/priv.h
index 799dae3f..799dae3f 100644
--- a/nvkm/subdev/timer/priv.h
+++ b/drm/nouveau/nvkm/subdev/timer/priv.h
diff --git a/drm/nouveau/nvkm/subdev/vm/Kbuild b/drm/nouveau/nvkm/subdev/vm/Kbuild
new file mode 100644
index 00000000..b0290c05
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/vm/Kbuild
@@ -0,0 +1,6 @@
+nvkm-y += nvkm/subdev/vm/base.o
+nvkm-y += nvkm/subdev/vm/nv04.o
+nvkm-y += nvkm/subdev/vm/nv41.o
+nvkm-y += nvkm/subdev/vm/nv44.o
+nvkm-y += nvkm/subdev/vm/nv50.o
+nvkm-y += nvkm/subdev/vm/nvc0.o
diff --git a/nvkm/subdev/vm/base.c b/drm/nouveau/nvkm/subdev/vm/base.c
index f75a683b..f75a683b 100644
--- a/nvkm/subdev/vm/base.c
+++ b/drm/nouveau/nvkm/subdev/vm/base.c
diff --git a/nvkm/subdev/vm/nv04.c b/drm/nouveau/nvkm/subdev/vm/nv04.c
index ed454371..ed454371 100644
--- a/nvkm/subdev/vm/nv04.c
+++ b/drm/nouveau/nvkm/subdev/vm/nv04.c
diff --git a/nvkm/subdev/vm/nv04.h b/drm/nouveau/nvkm/subdev/vm/nv04.h
index ec42d4bc..ec42d4bc 100644
--- a/nvkm/subdev/vm/nv04.h
+++ b/drm/nouveau/nvkm/subdev/vm/nv04.h
diff --git a/nvkm/subdev/vm/nv41.c b/drm/nouveau/nvkm/subdev/vm/nv41.c
index 064c7626..064c7626 100644
--- a/nvkm/subdev/vm/nv41.c
+++ b/drm/nouveau/nvkm/subdev/vm/nv41.c
diff --git a/nvkm/subdev/vm/nv44.c b/drm/nouveau/nvkm/subdev/vm/nv44.c
index fae1f67d..fae1f67d 100644
--- a/nvkm/subdev/vm/nv44.c
+++ b/drm/nouveau/nvkm/subdev/vm/nv44.c
diff --git a/nvkm/subdev/vm/nv50.c b/drm/nouveau/nvkm/subdev/vm/nv50.c
index a4aa81a2..a4aa81a2 100644
--- a/nvkm/subdev/vm/nv50.c
+++ b/drm/nouveau/nvkm/subdev/vm/nv50.c
diff --git a/nvkm/subdev/vm/nvc0.c b/drm/nouveau/nvkm/subdev/vm/nvc0.c
index c0a33892..c0a33892 100644
--- a/nvkm/subdev/vm/nvc0.c
+++ b/drm/nouveau/nvkm/subdev/vm/nvc0.c
diff --git a/drm/nouveau/nvkm/subdev/volt/Kbuild b/drm/nouveau/nvkm/subdev/volt/Kbuild
new file mode 100644
index 00000000..6b46ff42
--- /dev/null
+++ b/drm/nouveau/nvkm/subdev/volt/Kbuild
@@ -0,0 +1,4 @@
+nvkm-y += nvkm/subdev/volt/base.o
+nvkm-y += nvkm/subdev/volt/gpio.o
+nvkm-y += nvkm/subdev/volt/nv40.o
+nvkm-y += nvkm/subdev/volt/gk20a.o
diff --git a/nvkm/subdev/volt/base.c b/drm/nouveau/nvkm/subdev/volt/base.c
index 26ccd8df..26ccd8df 100644
--- a/nvkm/subdev/volt/base.c
+++ b/drm/nouveau/nvkm/subdev/volt/base.c
diff --git a/nvkm/subdev/volt/gk20a.c b/drm/nouveau/nvkm/subdev/volt/gk20a.c
index 717368ef..717368ef 100644
--- a/nvkm/subdev/volt/gk20a.c
+++ b/drm/nouveau/nvkm/subdev/volt/gk20a.c
diff --git a/nvkm/subdev/volt/gpio.c b/drm/nouveau/nvkm/subdev/volt/gpio.c
index 755fa91b..755fa91b 100644
--- a/nvkm/subdev/volt/gpio.c
+++ b/drm/nouveau/nvkm/subdev/volt/gpio.c
diff --git a/nvkm/subdev/volt/nv40.c b/drm/nouveau/nvkm/subdev/volt/nv40.c
index 87d53583..87d53583 100644
--- a/nvkm/subdev/volt/nv40.c
+++ b/drm/nouveau/nvkm/subdev/volt/nv40.c
diff --git a/include b/include
new file mode 120000
index 00000000..b0632e29
--- /dev/null
+++ b/include
@@ -0,0 +1 @@
+drm/nouveau/include/ \ No newline at end of file
diff --git a/lib/.gitignore b/lib/.gitignore
new file mode 100644
index 00000000..17c42a78
--- /dev/null
+++ b/lib/.gitignore
@@ -0,0 +1,3 @@
+*.d
+*.o
+libnvif.so
diff --git a/lib/Makefile b/lib/Makefile
new file mode 100644
index 00000000..d4153035
--- /dev/null
+++ b/lib/Makefile
@@ -0,0 +1,75 @@
+LIBNVIF_CC := $(CFLAGS) -fPIC
+LIBNVIF_LD := $(LDFLAGS) -shared -lpciaccess -lpthread -ldrm
+
+src := $(drm)
+include $(src)/nvif/Kbuild
+include $(src)/nvkm/Kbuild
+
+fucs := $(drm)/nvkm/engine/copy/fuc/nva3.fuc3.h \
+ $(drm)/nvkm/engine/copy/fuc/nvc0.fuc3.h \
+ $(drm)/nvkm/engine/crypt/fuc/nv98.fuc0s.h \
+ $(drm)/nvkm/engine/graph/fuc/hubnvc0.fuc3.h \
+ $(drm)/nvkm/engine/graph/fuc/hubnvd7.fuc3.h \
+ $(drm)/nvkm/engine/graph/fuc/hubnve0.fuc3.h \
+ $(drm)/nvkm/engine/graph/fuc/hubnvf0.fuc3.h \
+ $(drm)/nvkm/engine/graph/fuc/hubnv108.fuc5.h \
+ $(drm)/nvkm/engine/graph/fuc/hubgm107.fuc5.h \
+ $(drm)/nvkm/engine/graph/fuc/gpcnvc0.fuc3.h \
+ $(drm)/nvkm/engine/graph/fuc/gpcnvd7.fuc3.h \
+ $(drm)/nvkm/engine/graph/fuc/gpcnve0.fuc3.h \
+ $(drm)/nvkm/engine/graph/fuc/gpcnvf0.fuc3.h \
+ $(drm)/nvkm/engine/graph/fuc/gpcnv108.fuc5.h \
+ $(drm)/nvkm/engine/graph/fuc/gpcgm107.fuc5.h \
+ $(drm)/nvkm/subdev/pwr/fuc/nva3.fuc3.h \
+ $(drm)/nvkm/subdev/pwr/fuc/nvc0.fuc3.h \
+ $(drm)/nvkm/subdev/pwr/fuc/nvd0.fuc4.h \
+ $(drm)/nvkm/subdev/pwr/fuc/nv108.fuc5.h
+drms := $(addprefix $(lib)/, $(nvif-y)) \
+ $(addprefix $(lib)/, $(nvkm-y))
+srcs := $(lib)/drm.o \
+ $(lib)/intr.o \
+ $(lib)/main.o \
+ $(lib)/null.o
+outp := $(lib)/libnvif.so
+
+deps-fuc := $(fucs:$(drm)/%.h=$(lib)/%.d)
+deps-drm := $(drms:%.o=%.d)
+deps-src := $(srcs:%.o=%.d)
+
+$(deps-fuc): $(lib)/%.d : $(drm)/%
+ @mkdir -p $(dir $@)
+ @$(CC) $(LIBNVIF_CC) -E -MM -MP -MT $<.h -MF $@ -xc $<
+$(deps-drm): $(lib)/%.d : $(drm)/%.c
+ @mkdir -p $(dir $@)
+ @$(CC) $(LIBNVIF_CC) -E -MM -MP -MT $(patsubst %.d,%.o,$@) -MF $@ $<
+$(deps-src): $(lib)/%.d : $(lib)/%.c
+ @mkdir -p $(dir $@)
+ @$(CC) $(LIBNVIF_CC) -E -MM -MP -MT $(patsubst %.d,%.o,$@) -MF $@ $<
+
+$(filter %.fuc0s.h,$(fucs)): %.fuc0s.h : %.fuc0s
+ @echo " FUC0S "$@
+ @$(call ENVYPP,$<) | $(ENVYAS) -a -w -mfuc -Vfuc0 -Fcrypt -o $@
+$(filter %.fuc3.h,$(fucs)): %.fuc3.h : %.fuc3
+ @echo " FUC3 "$@
+ @$(call ENVYPP,$<) | $(ENVYAS) -a -w -mfuc -Vfuc3 -o $@
+$(filter %.fuc4.h,$(fucs)): %.fuc4.h : %.fuc4
+ @echo " FUC4 "$@
+ @$(call ENVYPP,$<) | $(ENVYAS) -a -w -mfuc -Vfuc4 -o $@
+$(filter %.fuc5.h,$(fucs)): %.fuc5.h : %.fuc5
+ @echo " FUC5 "$@
+ @$(call ENVYPP,$<) | $(ENVYAS) -a -w -mfuc -Vfuc5 -o $@
+
+$(drms): $(lib)/%.o : $(drm)/%.c
+ @echo " CC "$@
+ @$(CC) $(LIBNVIF_CC) -o $@ -c $<
+$(srcs): $(lib)/%.o : $(lib)/%.c
+ @echo " CC "$@
+ @$(CC) $(LIBNVIF_CC) -o $@ -c $<
+$(outp): $(drms) $(srcs)
+ @echo " CCLD "$@
+ @$(CC) $(LIBNVIF_LD) -o $@ $^
+
+deps += $(deps-fuc) $(deps-drm) $(deps-src)
+objs += $(drms) $(srcs)
+libs += $(outp)
+fws += $(fucs)
diff --git a/lib/Makefile.am b/lib/Makefile.am
deleted file mode 100644
index babf4f24..00000000
--- a/lib/Makefile.am
+++ /dev/null
@@ -1,13 +0,0 @@
-noinst_LTLIBRARIES = libpciaccessos.la
-
-libpciaccessos_la_CPPFLAGS = -I${top_srcdir}/nvkm/include \
- -I${top_srcdir}/nvkm \
- -I${top_srcdir} \
- -I/usr/include/libdrm
-libpciaccessos_la_CFLAGS = @PCIACCESS_CFLAGS@
-libpciaccessos_la_LIBADD = @PCIACCESS_LIBS@ -lpthread -ldrm \
- $(top_srcdir)/nvkm/libnvkm.la
-libpciaccessos_la_SOURCES = intr.c \
- main.c \
- null.c \
- kern.c
diff --git a/lib/kern.c b/lib/drm.c
index 47725862..ac68e1f8 100644
--- a/lib/kern.c
+++ b/lib/drm.c
@@ -34,7 +34,7 @@
#include <nvif/event.h>
#include <nvif/ioctl.h>
-#include <drm/uapi/drm/nouveau_drm.h>
+#include <uapi/drm/nouveau_drm.h>
struct drm_client_priv {
int fd;
diff --git a/lib/core/list.h b/lib/include/nvif/list.h
index f273376e..f273376e 100644
--- a/lib/core/list.h
+++ b/lib/include/nvif/list.h
diff --git a/lib/core/os.h b/lib/include/nvif/os.h
index f42c06df..f6391a58 100644
--- a/lib/core/os.h
+++ b/lib/include/nvif/os.h
@@ -958,11 +958,12 @@ flush_work(struct work_struct *work)
typedef struct __wait_queue_head {
} wait_queue_head_t;
-#define init_waitqueue_head(wq)
-#define wake_up(wq)
-#define wake_up_all(wq)
+#define init_waitqueue_head(wq) (void)(wq)
+#define wake_up(wq) (void)(wq)
+#define wake_up_all(wq) (void)(wq)
#define wait_event(wq,cond) do { \
+ (void)(wq); \
usleep(1); \
} while (!(cond))
@@ -972,6 +973,7 @@ typedef struct __wait_queue_head {
#define wait_event_timeout(wq,cond,jiffies) ({ \
unsigned long _t = (jiffies) / 10000; \
+ (void)(wq); \
do { \
if (cond) \
break; \
diff --git a/m4/.gitignore b/m4/.gitignore
deleted file mode 100644
index 464ba5ca..00000000
--- a/m4/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-libtool.m4
-lt~obsolete.m4
-ltoptions.m4
-ltsugar.m4
-ltversion.m4
diff --git a/nvif b/nvif
new file mode 120000
index 00000000..47de6319
--- /dev/null
+++ b/nvif
@@ -0,0 +1 @@
+drm/nouveau/nvif/ \ No newline at end of file
diff --git a/nvif/Makefile.am b/nvif/Makefile.am
deleted file mode 100644
index 23e33173..00000000
--- a/nvif/Makefile.am
+++ /dev/null
@@ -1,12 +0,0 @@
-lib_LTLIBRARIES = libnvif.la
-
-# XXX: /lib shouldn't be here, but is needed while we include core headers
-libnvif_la_CPPFLAGS = -I${top_srcdir}/nvkm/include \
- -I${top_srcdir}/nvkm \
- -I${top_srcdir}/lib \
- -I${top_srcdir}
-libnvif_la_LIBADD = $(top_srcdir)/lib/libpciaccessos.la
-libnvif_la_SOURCES = object.c \
- client.c \
- device.c \
- notify.c
diff --git a/nvif/list.h b/nvif/list.h
deleted file mode 100644
index 8af5d144..00000000
--- a/nvif/list.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- * Copyright © 2010 Francisco Jerez <currojerez@riseup.net>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- */
-
-/* Modified by Ben Skeggs <bskeggs@redhat.com> to match kernel list APIs */
-
-#ifndef _XORG_LIST_H_
-#define _XORG_LIST_H_
-
-/**
- * @file Classic doubly-link circular list implementation.
- * For real usage examples of the linked list, see the file test/list.c
- *
- * Example:
- * We need to keep a list of struct foo in the parent struct bar, i.e. what
- * we want is something like this.
- *
- * struct bar {
- * ...
- * struct foo *list_of_foos; -----> struct foo {}, struct foo {}, struct foo{}
- * ...
- * }
- *
- * We need one list head in bar and a list element in all list_of_foos (both are of
- * data type 'struct list_head').
- *
- * struct bar {
- * ...
- * struct list_head list_of_foos;
- * ...
- * }
- *
- * struct foo {
- * ...
- * struct list_head entry;
- * ...
- * }
- *
- * Now we initialize the list head:
- *
- * struct bar bar;
- * ...
- * INIT_LIST_HEAD(&bar.list_of_foos);
- *
- * Then we create the first element and add it to this list:
- *
- * struct foo *foo = malloc(...);
- * ....
- * list_add(&foo->entry, &bar.list_of_foos);
- *
- * Repeat the above for each element you want to add to the list. Deleting
- * works with the element itself.
- * list_del(&foo->entry);
- * free(foo);
- *
- * Note: calling list_del(&bar.list_of_foos) will set bar.list_of_foos to an empty
- * list again.
- *
- * Looping through the list requires a 'struct foo' as iterator and the
- * name of the field the subnodes use.
- *
- * struct foo *iterator;
- * list_for_each_entry(iterator, &bar.list_of_foos, entry) {
- * if (iterator->something == ...)
- * ...
- * }
- *
- * Note: You must not call list_del() on the iterator if you continue the
- * loop. You need to run the safe for-each loop instead:
- *
- * struct foo *iterator, *next;
- * list_for_each_entry_safe(iterator, next, &bar.list_of_foos, entry) {
- * if (...)
- * list_del(&iterator->entry);
- * }
- *
- */
-
-/**
- * The linkage struct for list nodes. This struct must be part of your
- * to-be-linked struct. struct list_head is required for both the head of the
- * list and for each list node.
- *
- * Position and name of the struct list_head field is irrelevant.
- * There are no requirements that elements of a list are of the same type.
- * There are no requirements for a list head, any struct list_head can be a list
- * head.
- */
-struct list_head {
- struct list_head *next, *prev;
-};
-
-/**
- * Initialize the list as an empty list.
- *
- * Example:
- * INIT_LIST_HEAD(&bar->list_of_foos);
- *
- * @param The list to initialized.
- */
-#define LIST_HEAD_INIT(name) { &(name), &(name) }
-
-#define LIST_HEAD(name) \
- struct list_head name = LIST_HEAD_INIT(name)
-
-static inline void
-INIT_LIST_HEAD(struct list_head *list)
-{
- list->next = list->prev = list;
-}
-
-static inline void
-__list_add(struct list_head *entry,
- struct list_head *prev, struct list_head *next)
-{
- next->prev = entry;
- entry->next = next;
- entry->prev = prev;
- prev->next = entry;
-}
-
-/**
- * Insert a new element after the given list head. The new element does not
- * need to be initialised as empty list.
- * The list changes from:
- * head → some element → ...
- * to
- * head → new element → older element → ...
- *
- * Example:
- * struct foo *newfoo = malloc(...);
- * list_add(&newfoo->entry, &bar->list_of_foos);
- *
- * @param entry The new element to prepend to the list.
- * @param head The existing list.
- */
-static inline void
-list_add(struct list_head *entry, struct list_head *head)
-{
- __list_add(entry, head, head->next);
-}
-
-/**
- * Append a new element to the end of the list given with this list head.
- *
- * The list changes from:
- * head → some element → ... → lastelement
- * to
- * head → some element → ... → lastelement → new element
- *
- * Example:
- * struct foo *newfoo = malloc(...);
- * list_add_tail(&newfoo->entry, &bar->list_of_foos);
- *
- * @param entry The new element to prepend to the list.
- * @param head The existing list.
- */
-static inline void
-list_add_tail(struct list_head *entry, struct list_head *head)
-{
- __list_add(entry, head->prev, head);
-}
-
-static inline void
-__list_del(struct list_head *prev, struct list_head *next)
-{
- next->prev = prev;
- prev->next = next;
-}
-
-/**
- * Remove the element from the list it is in. Using this function will reset
- * the pointers to/from this element so it is removed from the list. It does
- * NOT free the element itself or manipulate it otherwise.
- *
- * Using list_del on a pure list head (like in the example at the top of
- * this file) will NOT remove the first element from
- * the list but rather reset the list as empty list.
- *
- * Example:
- * list_del(&foo->entry);
- *
- * @param entry The element to remove.
- */
-static inline void
-list_del(struct list_head *entry)
-{
- __list_del(entry->prev, entry->next);
-}
-
-static inline void
-list_del_init(struct list_head *entry)
-{
- __list_del(entry->prev, entry->next);
- INIT_LIST_HEAD(entry);
-}
-
-static inline void list_move_tail(struct list_head *list,
- struct list_head *head)
-{
- __list_del(list->prev, list->next);
- list_add_tail(list, head);
-}
-
-/**
- * Check if the list is empty.
- *
- * Example:
- * list_empty(&bar->list_of_foos);
- *
- * @return True if the list contains one or more elements or False otherwise.
- */
-static inline bool
-list_empty(struct list_head *head)
-{
- return head->next == head;
-}
-
-/**
- * Returns a pointer to the container of this list element.
- *
- * Example:
- * struct foo* f;
- * f = container_of(&foo->entry, struct foo, entry);
- * assert(f == foo);
- *
- * @param ptr Pointer to the struct list_head.
- * @param type Data type of the list element.
- * @param member Member name of the struct list_head field in the list element.
- * @return A pointer to the data struct containing the list head.
- */
-#ifndef container_of
-#define container_of(ptr, type, member) \
- (type *)((char *)(ptr) - (char *) &((type *)0)->member)
-#endif
-
-/**
- * Alias of container_of
- */
-#define list_entry(ptr, type, member) \
- container_of(ptr, type, member)
-
-/**
- * Retrieve the first list entry for the given list pointer.
- *
- * Example:
- * struct foo *first;
- * first = list_first_entry(&bar->list_of_foos, struct foo, list_of_foos);
- *
- * @param ptr The list head
- * @param type Data type of the list element to retrieve
- * @param member Member name of the struct list_head field in the list element.
- * @return A pointer to the first list element.
- */
-#define list_first_entry(ptr, type, member) \
- list_entry((ptr)->next, type, member)
-
-/**
- * Retrieve the last list entry for the given listpointer.
- *
- * Example:
- * struct foo *first;
- * first = list_last_entry(&bar->list_of_foos, struct foo, list_of_foos);
- *
- * @param ptr The list head
- * @param type Data type of the list element to retrieve
- * @param member Member name of the struct list_head field in the list element.
- * @return A pointer to the last list element.
- */
-#define list_last_entry(ptr, type, member) \
- list_entry((ptr)->prev, type, member)
-
-#define __container_of(ptr, sample, member) \
- (void *)container_of((ptr), typeof(*(sample)), member)
-
-/**
- * Loop through the list given by head and set pos to struct in the list.
- *
- * Example:
- * struct foo *iterator;
- * list_for_each_entry(iterator, &bar->list_of_foos, entry) {
- * [modify iterator]
- * }
- *
- * This macro is not safe for node deletion. Use list_for_each_entry_safe
- * instead.
- *
- * @param pos Iterator variable of the type of the list elements.
- * @param head List head
- * @param member Member name of the struct list_head in the list elements.
- *
- */
-#define list_for_each_entry(pos, head, member) \
- for (pos = __container_of((head)->next, pos, member); \
- &pos->member != (head); \
- pos = __container_of(pos->member.next, pos, member))
-
-/**
- * Loop through the list, keeping a backup pointer to the element. This
- * macro allows for the deletion of a list element while looping through the
- * list.
- *
- * See list_for_each_entry for more details.
- */
-#define list_for_each_entry_safe(pos, tmp, head, member) \
- for (pos = __container_of((head)->next, pos, member), \
- tmp = __container_of(pos->member.next, pos, member); \
- &pos->member != (head); \
- pos = tmp, tmp = __container_of(pos->member.next, tmp, member))
-
-
-#define list_for_each_entry_reverse(pos, head, member) \
- for (pos = __container_of((head)->prev, pos, member); \
- &pos->member != (head); \
- pos = __container_of(pos->member.prev, pos, member))
-
-#define list_for_each_entry_continue(pos, head, member) \
- for (pos = __container_of(pos->member.next, pos, member); \
- &pos->member != (head); \
- pos = __container_of(pos->member.next, pos, member))
-
-#define list_for_each_entry_continue_reverse(pos, head, member) \
- for (pos = __container_of(pos->member.prev, pos, member); \
- &pos->member != (head); \
- pos = __container_of(pos->member.prev, pos, member))
-
-#define list_for_each_entry_from(pos, head, member) \
- for (; \
- &pos->member != (head); \
- pos = __container_of(pos->member.next, pos, member))
-
-#endif
diff --git a/nvif/os.h b/nvif/os.h
deleted file mode 120000
index db919475..00000000
--- a/nvif/os.h
+++ /dev/null
@@ -1 +0,0 @@
-../lib/core/os.h \ No newline at end of file
diff --git a/nvkm b/nvkm
new file mode 120000
index 00000000..e9f9995b
--- /dev/null
+++ b/nvkm
@@ -0,0 +1 @@
+drm/nouveau/nvkm/ \ No newline at end of file
diff --git a/nvkm/Makefile.am b/nvkm/Makefile.am
deleted file mode 100644
index 64edaa77..00000000
--- a/nvkm/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-SUBDIRS = core subdev engine
-
-noinst_LTLIBRARIES = libnvkm.la
-
-libnvkm_la_SOURCES =
-libnvkm_la_LIBADD = core/libcore.la \
- subdev/libsubdev.la \
- engine/libengine.la
diff --git a/nvkm/core/Makefile.am b/nvkm/core/Makefile.am
deleted file mode 100644
index 36dc7ed7..00000000
--- a/nvkm/core/Makefile.am
+++ /dev/null
@@ -1,23 +0,0 @@
-noinst_LTLIBRARIES = libcore.la
-
-libcore_la_CPPFLAGS = -I${top_srcdir}/nvkm \
- -I${top_srcdir}/nvkm/include \
- -I${top_srcdir}/lib
-
-libcore_la_SOURCES = client.c \
- engctx.c \
- engine.c \
- enum.c \
- event.c \
- gpuobj.c \
- handle.c \
- ioctl.c \
- mm.c \
- namedb.c \
- notify.c \
- object.c \
- option.c \
- parent.c \
- printk.c \
- ramht.c \
- subdev.c
diff --git a/nvkm/engine/Makefile.am b/nvkm/engine/Makefile.am
deleted file mode 100644
index a8df243e..00000000
--- a/nvkm/engine/Makefile.am
+++ /dev/null
@@ -1,23 +0,0 @@
-SUBDIRS = dmaobj bsp copy crypt device disp fifo graph mpeg perfmon ppp \
- software vp
-
-noinst_LTLIBRARIES = libengine.la
-
-libengine_la_SOURCES = falcon.c \
- xtensa.c
-
-libengine_la_LIBADD = bsp/libbsp.la \
- copy/libcopy.la \
- crypt/libcrypt.la \
- device/libdevice.la \
- disp/libdisp.la \
- dmaobj/libdmaobj.la \
- fifo/libfifo.la \
- graph/libgraph.la \
- mpeg/libmpeg.la \
- perfmon/libperfmon.la \
- ppp/libppp.la \
- software/libsoftware.la \
- vp/libvp.la
-
-include $(srcdir)/Makefile.engine
diff --git a/nvkm/engine/Makefile.engine b/nvkm/engine/Makefile.engine
deleted file mode 100644
index 2222873f..00000000
--- a/nvkm/engine/Makefile.engine
+++ /dev/null
@@ -1,4 +0,0 @@
-AM_CPPFLAGS = -I${top_srcdir}/nvkm \
- -I${top_srcdir}/nvkm/include \
- -I${top_srcdir}/lib \
- -I${top_srcdir}
diff --git a/nvkm/engine/bsp/Makefile.am b/nvkm/engine/bsp/Makefile.am
deleted file mode 100644
index 49e989e7..00000000
--- a/nvkm/engine/bsp/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-noinst_LTLIBRARIES = libbsp.la
-
-libbsp_la_SOURCES = nv84.c \
- nv98.c \
- nvc0.c \
- nve0.c
-
-include $(srcdir)/../Makefile.engine
diff --git a/nvkm/engine/copy/Makefile.am b/nvkm/engine/copy/Makefile.am
deleted file mode 100644
index 63d5ac8c..00000000
--- a/nvkm/engine/copy/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-noinst_LTLIBRARIES = libcopy.la
-
-BUILT_SOURCES = fuc/nva3.fuc.h \
- fuc/nvc0.fuc.h
-CLEANFILES = ${BUILT_SOURCES}
-
-libcopy_la_SOURCES = ${BUILT_SOURCES} \
- nva3.c \
- nvc0.c \
- nve0.c
-
-fuc/nva3.fuc.h: fuc/nva3.fuc
- m4 -DNVA3 fuc/nva3.fuc | envyas -a -w -m fuc -V fuc3 -o fuc/nva3.fuc.h
-fuc/nvc0.fuc.h: fuc/nva3.fuc
- m4 -DNVC0 fuc/nva3.fuc | envyas -a -w -m fuc -V fuc3 -o fuc/nvc0.fuc.h
-
-include $(srcdir)/../Makefile.engine
diff --git a/nvkm/engine/crypt/Makefile.am b/nvkm/engine/crypt/Makefile.am
deleted file mode 100644
index 9d279a36..00000000
--- a/nvkm/engine/crypt/Makefile.am
+++ /dev/null
@@ -1,13 +0,0 @@
-noinst_LTLIBRARIES = libcrypt.la
-
-BUILT_SOURCES = fuc/nv98.fuc.h
-CLEANFILES = ${BUILT_SOURCES}
-
-libcrypt_la_SOURCES = ${BUILT_SOURCES} \
- nv84.c \
- nv98.c
-
-fuc/nv98.fuc.h: fuc/nv98.fuc
- m4 fuc/nv98.fuc | envyas -a -w -m fuc -V fuc0 -F crypt -o fuc/nv98.fuc.h
-
-include $(srcdir)/../Makefile.engine
diff --git a/nvkm/engine/device/Makefile.am b/nvkm/engine/device/Makefile.am
deleted file mode 100644
index 0458c2d9..00000000
--- a/nvkm/engine/device/Makefile.am
+++ /dev/null
@@ -1,16 +0,0 @@
-noinst_LTLIBRARIES = libdevice.la
-
-libdevice_la_SOURCES = acpi.c \
- base.c \
- ctrl.c \
- nv04.c \
- nv10.c \
- nv20.c \
- nv30.c \
- nv40.c \
- nv50.c \
- nvc0.c \
- nve0.c \
- gm100.c
-
-include $(srcdir)/../Makefile.engine
diff --git a/nvkm/engine/disp/Makefile.am b/nvkm/engine/disp/Makefile.am
deleted file mode 100644
index 169a4148..00000000
--- a/nvkm/engine/disp/Makefile.am
+++ /dev/null
@@ -1,33 +0,0 @@
-noinst_LTLIBRARIES = libdisp.la
-
-libdisp_la_SOURCES = base.c \
- conn.c \
- outp.c \
- outpdp.c \
- nv04.c \
- nv50.c \
- nv84.c \
- nv94.c \
- nva0.c \
- nva3.c \
- nvd0.c \
- nve0.c \
- nvf0.c \
- gm107.c \
- gm204.c \
- dacnv50.c \
- dport.c \
- hdanva3.c \
- hdanvd0.c \
- hdminv84.c \
- hdminva3.c \
- hdminvd0.c \
- hdminve0.c \
- piornv50.c \
- sornv50.c \
- sornv94.c \
- sornvd0.c \
- sorgm204.c \
- vga.c
-
-include $(srcdir)/../Makefile.engine
diff --git a/nvkm/engine/dmaobj/Makefile.am b/nvkm/engine/dmaobj/Makefile.am
deleted file mode 100644
index d2633c46..00000000
--- a/nvkm/engine/dmaobj/Makefile.am
+++ /dev/null
@@ -1,9 +0,0 @@
-noinst_LTLIBRARIES = libdmaobj.la
-
-libdmaobj_la_SOURCES = base.c \
- nv04.c \
- nv50.c \
- nvc0.c \
- nvd0.c
-
-include $(srcdir)/../Makefile.engine
diff --git a/nvkm/engine/fifo/Makefile.am b/nvkm/engine/fifo/Makefile.am
deleted file mode 100644
index 55d1f19b..00000000
--- a/nvkm/engine/fifo/Makefile.am
+++ /dev/null
@@ -1,15 +0,0 @@
-noinst_LTLIBRARIES = libfifo.la
-
-libfifo_la_SOURCES = base.c \
- nv04.c \
- nv10.c \
- nv17.c \
- nv40.c \
- nv50.c \
- nv84.c \
- nvc0.c \
- nve0.c \
- gk20a.c \
- nv108.c
-
-include $(srcdir)/../Makefile.engine
diff --git a/nvkm/engine/graph/Makefile.am b/nvkm/engine/graph/Makefile.am
deleted file mode 100644
index edf88ce0..00000000
--- a/nvkm/engine/graph/Makefile.am
+++ /dev/null
@@ -1,62 +0,0 @@
-noinst_LTLIBRARIES = libgraph.la
-
-BUILT_SOURCES = fuc/hubnvc0.fuc.h \
- fuc/gpcnvc0.fuc.h \
- fuc/hubnvd7.fuc.h \
- fuc/gpcnvd7.fuc.h \
- fuc/hubnve0.fuc.h \
- fuc/gpcnve0.fuc.h \
- fuc/hubnvf0.fuc.h \
- fuc/gpcnvf0.fuc.h \
- fuc/hubnv108.fuc5.h \
- fuc/gpcnv108.fuc5.h \
- fuc/hubgm107.fuc5.h \
- fuc/gpcgm107.fuc5.h
-CLEANFILES = ${BUILT_SOURCES}
-
-libgraph_la_SOURCES = ${BUILT_SOURCES} \
- ctxnv40.c \
- ctxnv50.c \
- ctxnvc0.c \
- ctxnvc1.c \
- ctxnvc4.c \
- ctxnvc8.c \
- ctxnvd7.c \
- ctxnvd9.c \
- ctxnve4.c \
- ctxgk20a.c \
- ctxnvf0.c \
- ctxgk110b.c \
- ctxnv108.c \
- ctxgm107.c \
- nv04.c \
- nv10.c \
- nv20.c \
- nv25.c \
- nv2a.c \
- nv30.c \
- nv34.c \
- nv35.c \
- nv40.c \
- nv50.c \
- nvc0.c \
- nvc1.c \
- nvc4.c \
- nvc8.c \
- nvd7.c \
- nvd9.c \
- nve4.c \
- gk20a.c \
- nvf0.c \
- gk110b.c \
- nv108.c \
- gm107.c
-
-$(filter %.fuc.h,$(BUILT_SOURCES)): %.fuc.h: %.fuc fuc/com.fuc fuc/hub.fuc fuc/gpc.fuc fuc/macros.fuc
- cpp -Ifuc -CC $< | cpp | sed -e '/^#/d' \
- | envyas -a -w -m fuc -V fuc3 -o $@
-$(filter %.fuc5.h,$(BUILT_SOURCES)): %.fuc5.h: %.fuc5 fuc/com.fuc fuc/hub.fuc fuc/gpc.fuc
- cpp -Ifuc -CC $< | cpp | sed -e '/^#/d' \
- | envyas -a -w -m fuc -V fuc5 -o $@
-
-include $(srcdir)/../Makefile.engine
diff --git a/nvkm/engine/mpeg/Makefile.am b/nvkm/engine/mpeg/Makefile.am
deleted file mode 100644
index f17d9ad1..00000000
--- a/nvkm/engine/mpeg/Makefile.am
+++ /dev/null
@@ -1,9 +0,0 @@
-noinst_LTLIBRARIES = libmpeg.la
-
-libmpeg_la_SOURCES = nv31.c \
- nv40.c \
- nv44.c \
- nv50.c \
- nv84.c
-
-include $(srcdir)/../Makefile.engine
diff --git a/nvkm/engine/perfmon/Makefile.am b/nvkm/engine/perfmon/Makefile.am
deleted file mode 100644
index f6e2279d..00000000
--- a/nvkm/engine/perfmon/Makefile.am
+++ /dev/null
@@ -1,13 +0,0 @@
-noinst_LTLIBRARIES = libperfmon.la
-
-libperfmon_la_SOURCES = base.c \
- daemon.c \
- nv40.c \
- nv50.c \
- nv84.c \
- nva3.c \
- nvc0.c \
- nve0.c \
- nvf0.c
-
-include $(srcdir)/../Makefile.engine
diff --git a/nvkm/engine/ppp/Makefile.am b/nvkm/engine/ppp/Makefile.am
deleted file mode 100644
index f9a1d5a8..00000000
--- a/nvkm/engine/ppp/Makefile.am
+++ /dev/null
@@ -1,6 +0,0 @@
-noinst_LTLIBRARIES = libppp.la
-
-libppp_la_SOURCES = nv98.c \
- nvc0.c
-
-include $(srcdir)/../Makefile.engine
diff --git a/nvkm/engine/software/Makefile.am b/nvkm/engine/software/Makefile.am
deleted file mode 100644
index e17df3a2..00000000
--- a/nvkm/engine/software/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-noinst_LTLIBRARIES = libsoftware.la
-
-libsoftware_la_SOURCES = nv04.c \
- nv10.c \
- nv50.c \
- nvc0.c
-
-include $(srcdir)/../Makefile.engine
diff --git a/nvkm/engine/vp/Makefile.am b/nvkm/engine/vp/Makefile.am
deleted file mode 100644
index 834a0e48..00000000
--- a/nvkm/engine/vp/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-noinst_LTLIBRARIES = libvp.la
-
-libvp_la_SOURCES = nv84.c \
- nv98.c \
- nvc0.c \
- nve0.c
-
-include $(srcdir)/../Makefile.engine
diff --git a/nvkm/include/core/intr.h b/nvkm/include/core/intr.h
deleted file mode 100644
index d2599746..00000000
--- a/nvkm/include/core/intr.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __NOUVEAU_INTR_H__
-#define __NOUVEAU_INTR_H__
-
-struct nouveau_device;
-
-void nouveau_intr(struct nouveau_device *);
-
-#endif
diff --git a/nvkm/include/nvif/class.h b/nvkm/include/nvif/class.h
deleted file mode 120000
index f1ac4859..00000000
--- a/nvkm/include/nvif/class.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../nvif/class.h \ No newline at end of file
diff --git a/nvkm/include/nvif/event.h b/nvkm/include/nvif/event.h
deleted file mode 120000
index 1b798538..00000000
--- a/nvkm/include/nvif/event.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../nvif/event.h \ No newline at end of file
diff --git a/nvkm/include/nvif/ioctl.h b/nvkm/include/nvif/ioctl.h
deleted file mode 120000
index 8569c869..00000000
--- a/nvkm/include/nvif/ioctl.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../nvif/ioctl.h \ No newline at end of file
diff --git a/nvkm/include/nvif/unpack.h b/nvkm/include/nvif/unpack.h
deleted file mode 120000
index 69d99292..00000000
--- a/nvkm/include/nvif/unpack.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../nvif/unpack.h \ No newline at end of file
diff --git a/nvkm/include/subdev/bios/dfp.h b/nvkm/include/subdev/bios/dfp.h
deleted file mode 100644
index 50cb52c1..00000000
--- a/nvkm/include/subdev/bios/dfp.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef __NVBIOS_DFP_H__
-#define __NVBIOS_DFP_H__
-
-#endif
diff --git a/nvkm/subdev/Makefile.am b/nvkm/subdev/Makefile.am
deleted file mode 100644
index 5a48ddb8..00000000
--- a/nvkm/subdev/Makefile.am
+++ /dev/null
@@ -1,25 +0,0 @@
-SUBDIRS = bar bus bios clock devinit fb fuse gpio i2c ibus instmem \
- ltc mc mxm pwr therm timer vm volt
-
-noinst_LTLIBRARIES = libsubdev.la
-
-libsubdev_la_SOURCES =
-libsubdev_la_LIBADD = bar/libbar.la \
- bios/libbios.la \
- bus/libbus.la \
- clock/libclock.la \
- devinit/libdevinit.la \
- fb/libfb.la \
- fuse/libfuse.la \
- gpio/libgpio.la \
- i2c/libi2c.la \
- ibus/libibus.la \
- instmem/libinstmem.la \
- ltc/libltc.la \
- mc/libmc.la \
- mxm/libmxm.la \
- pwr/libpwr.la \
- therm/libtherm.la \
- timer/libtimer.la \
- vm/libvm.la \
- volt/libvolt.la
diff --git a/nvkm/subdev/Makefile.subdev b/nvkm/subdev/Makefile.subdev
deleted file mode 100644
index 513c6c87..00000000
--- a/nvkm/subdev/Makefile.subdev
+++ /dev/null
@@ -1,3 +0,0 @@
-AM_CPPFLAGS = -I${top_srcdir}/nvkm \
- -I${top_srcdir}/nvkm/include \
- -I${top_srcdir}/lib
diff --git a/nvkm/subdev/bar/Makefile.am b/nvkm/subdev/bar/Makefile.am
deleted file mode 100644
index 2b2e44dd..00000000
--- a/nvkm/subdev/bar/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-noinst_LTLIBRARIES = libbar.la
-
-libbar_la_SOURCES = base.c \
- nv50.c \
- nvc0.c \
- gk20a.c
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/bios/Makefile.am b/nvkm/subdev/bios/Makefile.am
deleted file mode 100644
index 5c41b6d1..00000000
--- a/nvkm/subdev/bios/Makefile.am
+++ /dev/null
@@ -1,41 +0,0 @@
-noinst_LTLIBRARIES = libbios.la
-
-libbios_la_SOURCES = base.c \
- bit.c \
- boost.c \
- conn.c \
- cstep.c \
- dcb.c \
- disp.c \
- dp.c \
- extdev.c \
- fan.c \
- gpio.c \
- i2c.c \
- image.c \
- init.c \
- mxm.c \
- npde.c \
- pcir.c \
- perf.c \
- pll.c \
- pmu.c \
- ramcfg.c \
- rammap.c \
- shadow.c \
- shadowacpi.c \
- shadowof.c \
- shadowpci.c \
- shadowramin.c \
- shadowrom.c \
- timing.c \
- therm.c \
- vmap.c \
- volt.c \
- xpio.c \
- M0203.c \
- M0205.c \
- M0209.c \
- P0260.c
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/bus/Makefile.am b/nvkm/subdev/bus/Makefile.am
deleted file mode 100644
index e1470f9c..00000000
--- a/nvkm/subdev/bus/Makefile.am
+++ /dev/null
@@ -1,10 +0,0 @@
-noinst_LTLIBRARIES = libbus.la
-
-libbus_la_SOURCES = hwsq.c \
- nv04.c \
- nv31.c \
- nv50.c \
- nv94.c \
- nvc0.c
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/clock/Makefile.am b/nvkm/subdev/clock/Makefile.am
deleted file mode 100644
index 4d2a1efe..00000000
--- a/nvkm/subdev/clock/Makefile.am
+++ /dev/null
@@ -1,16 +0,0 @@
-noinst_LTLIBRARIES = libclock.la
-
-libclock_la_SOURCES = base.c \
- nv04.c \
- nv40.c \
- nv50.c \
- nv84.c \
- nva3.c \
- nvaa.c \
- nvc0.c \
- nve0.c \
- gk20a.c \
- pllnv04.c \
- pllnva3.c
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/devinit/Makefile.am b/nvkm/subdev/devinit/Makefile.am
deleted file mode 100644
index e97ce52b..00000000
--- a/nvkm/subdev/devinit/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-noinst_LTLIBRARIES = libdevinit.la
-
-libdevinit_la_SOURCES = base.c \
- nv04.c \
- nv05.c \
- nv10.c \
- nv1a.c \
- nv20.c \
- nv50.c \
- nv84.c \
- nv98.c \
- nva3.c \
- nvaf.c \
- nvc0.c \
- gm107.c \
- gm204.c
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/fb/Makefile.am b/nvkm/subdev/fb/Makefile.am
deleted file mode 100644
index 3869fac7..00000000
--- a/nvkm/subdev/fb/Makefile.am
+++ /dev/null
@@ -1,36 +0,0 @@
-noinst_LTLIBRARIES = libfb.la
-
-libfb_la_SOURCES = base.c \
- nv04.c \
- nv10.c nv1a.c \
- nv20.c nv25.c \
- nv30.c nv35.c nv36.c \
- nv40.c nv41.c nv44.c nv46.c nv47.c nv49.c nv4e.c \
- nv50.c nv84.c nva3.c nvaa.c nvaf.c \
- nvc0.c \
- nve0.c \
- gk20a.c \
- gm107.c \
- ramnv04.c \
- ramnv10.c \
- ramnv1a.c \
- ramnv20.c \
- ramnv40.c \
- ramnv41.c \
- ramnv44.c \
- ramnv49.c \
- ramnv4e.c \
- ramnv50.c \
- ramnva3.c \
- ramnvaa.c \
- ramnvc0.c \
- ramnve0.c \
- ramgk20a.c \
- ramgm107.c \
- sddr2.c \
- sddr3.c \
- gddr3.c \
- gddr5.c
-
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/fuse/Makefile.am b/nvkm/subdev/fuse/Makefile.am
deleted file mode 100644
index 5596d2c6..00000000
--- a/nvkm/subdev/fuse/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-noinst_LTLIBRARIES = libfuse.la
-
-libfuse_la_SOURCES = base.c \
- g80.c \
- gf100.c \
- gm107.c
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/gpio/Makefile.am b/nvkm/subdev/gpio/Makefile.am
deleted file mode 100644
index 012eb067..00000000
--- a/nvkm/subdev/gpio/Makefile.am
+++ /dev/null
@@ -1,10 +0,0 @@
-noinst_LTLIBRARIES = libgpio.la
-
-libgpio_la_SOURCES = base.c \
- nv10.c \
- nv50.c \
- nv94.c \
- nvd0.c \
- nve0.c
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/i2c/Makefile.am b/nvkm/subdev/i2c/Makefile.am
deleted file mode 100644
index 7575d978..00000000
--- a/nvkm/subdev/i2c/Makefile.am
+++ /dev/null
@@ -1,20 +0,0 @@
-noinst_LTLIBRARIES = libi2c.la
-
-libi2c_la_SOURCES = base.c \
- anx9805.c \
- aux.c \
- bit.c \
- pad.c \
- padnv04.c \
- padnv94.c \
- padgm204.c \
- nv04.c \
- nv4e.c \
- nv50.c \
- nv94.c \
- nvd0.c \
- gf117.c \
- nve0.c \
- gm204.c
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/ibus/Makefile.am b/nvkm/subdev/ibus/Makefile.am
deleted file mode 100644
index b9d55113..00000000
--- a/nvkm/subdev/ibus/Makefile.am
+++ /dev/null
@@ -1,7 +0,0 @@
-noinst_LTLIBRARIES = libibus.la
-
-libibus_la_SOURCES = nvc0.c \
- nve0.c \
- gk20a.c
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/instmem/Makefile.am b/nvkm/subdev/instmem/Makefile.am
deleted file mode 100644
index c014032c..00000000
--- a/nvkm/subdev/instmem/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-noinst_LTLIBRARIES = libinstmem.la
-
-libinstmem_la_SOURCES = base.c \
- nv04.c \
- nv40.c \
- nv50.c
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/ltc/Makefile.am b/nvkm/subdev/ltc/Makefile.am
deleted file mode 100644
index e287aef5..00000000
--- a/nvkm/subdev/ltc/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-noinst_LTLIBRARIES = libltc.la
-
-libltc_la_SOURCES = base.c \
- gf100.c \
- gk104.c \
- gm107.c
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/mc/Makefile.am b/nvkm/subdev/mc/Makefile.am
deleted file mode 100644
index 39487b83..00000000
--- a/nvkm/subdev/mc/Makefile.am
+++ /dev/null
@@ -1,15 +0,0 @@
-noinst_LTLIBRARIES = libmc.la
-
-libmc_la_SOURCES = base.c \
- nv04.c \
- nv40.c \
- nv44.c \
- nv4c.c \
- nv50.c \
- nv94.c \
- nv98.c \
- nvc0.c \
- nvc3.c \
- gk20a.c
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/mxm/Makefile.am b/nvkm/subdev/mxm/Makefile.am
deleted file mode 100644
index 2ec56b33..00000000
--- a/nvkm/subdev/mxm/Makefile.am
+++ /dev/null
@@ -1,7 +0,0 @@
-noinst_LTLIBRARIES = libmxm.la
-
-libmxm_la_SOURCES = base.c \
- mxms.c \
- nv50.c
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/pwr/Makefile.am b/nvkm/subdev/pwr/Makefile.am
deleted file mode 100644
index f59eec05..00000000
--- a/nvkm/subdev/pwr/Makefile.am
+++ /dev/null
@@ -1,46 +0,0 @@
-noinst_LTLIBRARIES = libpwr.la
-
-BUILT_SOURCES = fuc/nva3.fuc.h \
- fuc/nvc0.fuc.h \
- fuc/nvd0.fuc.h \
- fuc/nv108.fuc.h
-CLEANFILES = ${BUILT_SOURCES}
-
-libpwr_la_SOURCES = base.c \
- memx.c \
- nva3.c \
- nvc0.c \
- nvd0.c \
- gk104.c \
- nv108.c \
- gk20a.c
-
-FUC_COMMON = fuc/os.h \
- fuc/macros.fuc \
- fuc/kernel.fuc \
- fuc/idle.fuc \
- fuc/host.fuc \
- fuc/memx.fuc \
- fuc/perf.fuc \
- fuc/i2c_.fuc \
- fuc/test.fuc \
- fuc/arith.fuc
-
-fuc/nva3.fuc.h: fuc/nva3.fuc ${FUC_COMMON}
- cpp -Ifuc -CC fuc/nva3.fuc | cpp \
- | sed -e '/^#/d' \
- | envyas -a -w -m fuc -V fuc3 -o fuc/nva3.fuc.h
-fuc/nvc0.fuc.h: fuc/nvc0.fuc ${FUC_COMMON}
- cpp -Ifuc -CC fuc/nvc0.fuc | cpp \
- | sed -e '/^#/d' \
- | envyas -a -w -m fuc -V fuc3 -o fuc/nvc0.fuc.h
-fuc/nvd0.fuc.h: fuc/nvd0.fuc ${FUC_COMMON}
- cpp -Ifuc -CC fuc/nvd0.fuc | cpp \
- | sed -e '/^#/d' \
- | envyas -a -w -m fuc -V fuc4 -o fuc/nvd0.fuc.h
-fuc/nv108.fuc.h: fuc/nv108.fuc ${FUC_COMMON}
- cpp -Ifuc -CC fuc/nv108.fuc | cpp \
- | sed -e '/^#/d' \
- | envyas -a -w -m fuc -V fuc5 -o fuc/nv108.fuc.h
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/therm/Makefile.am b/nvkm/subdev/therm/Makefile.am
deleted file mode 100644
index b4f6da63..00000000
--- a/nvkm/subdev/therm/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-noinst_LTLIBRARIES = libtherm.la
-
-libtherm_la_SOURCES = base.c \
- fan.c \
- fannil.c \
- fanpwm.c \
- fantog.c \
- ic.c \
- temp.c \
- nv40.c \
- nv50.c \
- nv84.c \
- nva3.c \
- nvd0.c \
- gm107.c
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/timer/Makefile.am b/nvkm/subdev/timer/Makefile.am
deleted file mode 100644
index a16c5ee8..00000000
--- a/nvkm/subdev/timer/Makefile.am
+++ /dev/null
@@ -1,7 +0,0 @@
-noinst_LTLIBRARIES = libtimer.la
-
-libtimer_la_SOURCES = base.c \
- nv04.c \
- gk20a.c
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/vm/Makefile.am b/nvkm/subdev/vm/Makefile.am
deleted file mode 100644
index 1f5b6fb7..00000000
--- a/nvkm/subdev/vm/Makefile.am
+++ /dev/null
@@ -1,10 +0,0 @@
-noinst_LTLIBRARIES = libvm.la
-
-libvm_la_SOURCES = base.c \
- nv04.c \
- nv41.c \
- nv44.c \
- nv50.c \
- nvc0.c
-
-include $(srcdir)/../Makefile.subdev
diff --git a/nvkm/subdev/volt/Makefile.am b/nvkm/subdev/volt/Makefile.am
deleted file mode 100644
index f5bdc811..00000000
--- a/nvkm/subdev/volt/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-noinst_LTLIBRARIES = libvolt.la
-
-libvolt_la_SOURCES = base.c \
- gpio.c \
- nv40.c \
- gk20a.c
-
-include $(srcdir)/../Makefile.subdev
diff --git a/scripts/nvkm-am b/scripts/nvkm-am
new file mode 100755
index 00000000..c61902c1
--- /dev/null
+++ b/scripts/nvkm-am
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+APPLY="-p3 --include=drm/nouveau/*"
+ LOG=(
+ "drm/nouveau/\(.*\)\:" "\2\:"
+ "drm/nouveau\:" "drm\:"
+ )
+ REPO=
+ TEMP=`mktemp -d`
+
+while getopts "Rc:" ARG; do
+ case ${ARG} in
+ R) APPLY="--directory=drivers/gpu --include=drivers/gpu/drm/nouveau/*"
+ LOG=(
+ "\(.*\)\:" "drm/nouveau/\2\:"
+ "drm/nouveau/drm\:" "drm/nouveau\:"
+ );;
+ c) REPO=${OPTARG};;
+ ?) exit 1;;
+ esac
+done
+shift $(($OPTIND - 1))
+
+if [[ ${REPO} != "" ]]; then
+ pushd ${REPO}
+ git format-patch -o ${TEMP} $1
+ popd
+else
+ cp $@ ${TEMP}
+fi
+FILES=${TEMP}/*
+
+for FILE in ${FILES}; do
+ for (( i = 0; i < ${#LOG[@]}; i += 2)); do
+ OLD=${LOG[$i + 0]}
+ NEW=${LOG[$i + 1]}
+ sed -i -e "s:^Subject\(.*\)] ${OLD}:Subject\1] ${NEW}:" ${FILE}
+ done
+done
+git am -3 ${APPLY} ${FILES}
+
+rm -rf ${TEMP}