From c39f472e9f14e49a9bc091977ced0ec45fc00c57 Mon Sep 17 00:00:00 2001
From: Ben Skeggs <bskeggs@redhat.com>
Date: Tue, 13 Jan 2015 22:13:14 +1000
Subject: [PATCH] drm/nouveau: remove symlinks, move core/ to nvkm/ (no code
 changes)

The symlinks were annoying some people, and they're not used anywhere
else in the kernel tree.  The include directory structure has been
changed so that symlinks aren't needed anymore.

NVKM has been moved from core/ to nvkm/ to make it more obvious as to
what the directory is for, and as some minor prep for when NVKM gets
split out into its own module (virt) at a later date.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
---
 drivers/gpu/drm/nouveau/Kbuild                |  66 +++
 drivers/gpu/drm/nouveau/Makefile              | 400 ------------------
 .../gpu/drm/nouveau/core/include/nvif/class.h |   1 -
 .../gpu/drm/nouveau/core/include/nvif/event.h |   1 -
 .../gpu/drm/nouveau/core/include/nvif/ioctl.h |   1 -
 .../drm/nouveau/core/include/nvif/unpack.h    |   1 -
 .../drm/nouveau/dispnv04/{Makefile => Kbuild} |   0
 .../drm/nouveau/{ => include}/nvif/class.h    |   0
 .../drm/nouveau/{ => include}/nvif/client.h   |   2 +-
 .../drm/nouveau/{ => include}/nvif/device.h   |   4 +-
 .../drm/nouveau/{ => include}/nvif/driver.h   |   0
 .../drm/nouveau/{ => include}/nvif/event.h    |   0
 .../drm/nouveau/{ => include}/nvif/ioctl.h    |   0
 .../gpu/drm/nouveau/{ => include}/nvif/list.h |   0
 .../drm/nouveau/{ => include}/nvif/notify.h   |   0
 .../drm/nouveau/{ => include}/nvif/object.h   |   0
 .../drm/nouveau/{core => include/nvif}/os.h   |   0
 .../drm/nouveau/{ => include}/nvif/unpack.h   |   0
 .../include => include/nvkm}/core/client.h    |   0
 .../include => include/nvkm}/core/debug.h     |   0
 .../include => include/nvkm}/core/device.h    |   0
 .../include => include/nvkm}/core/engctx.h    |   0
 .../include => include/nvkm}/core/engine.h    |   0
 .../include => include/nvkm}/core/enum.h      |   0
 .../include => include/nvkm}/core/event.h     |   0
 .../include => include/nvkm}/core/gpuobj.h    |   0
 .../include => include/nvkm}/core/handle.h    |   0
 .../include => include/nvkm}/core/ioctl.h     |   0
 .../{core/include => include/nvkm}/core/mm.h  |   0
 .../include => include/nvkm}/core/namedb.h    |   0
 .../include => include/nvkm}/core/notify.h    |   0
 .../include => include/nvkm}/core/object.h    |   0
 .../include => include/nvkm}/core/option.h    |   0
 .../gpu/drm/nouveau/include/nvkm/core/os.h    |   4 +
 .../include => include/nvkm}/core/parent.h    |   0
 .../include => include/nvkm}/core/printk.h    |   0
 .../include => include/nvkm}/core/ramht.h     |   0
 .../include => include/nvkm}/core/subdev.h    |   0
 .../include => include/nvkm}/engine/bsp.h     |   0
 .../include => include/nvkm}/engine/copy.h    |   0
 .../include => include/nvkm}/engine/crypt.h   |   0
 .../include => include/nvkm}/engine/device.h  |   0
 .../include => include/nvkm}/engine/disp.h    |   0
 .../include => include/nvkm}/engine/dmaobj.h  |   0
 .../include => include/nvkm}/engine/falcon.h  |   0
 .../include => include/nvkm}/engine/fifo.h    |   0
 .../include => include/nvkm}/engine/graph.h   |   0
 .../include => include/nvkm}/engine/mpeg.h    |   0
 .../include => include/nvkm}/engine/perfmon.h |   0
 .../include => include/nvkm}/engine/ppp.h     |   0
 .../nvkm}/engine/software.h                   |   0
 .../include => include/nvkm}/engine/vp.h      |   0
 .../include => include/nvkm}/engine/xtensa.h  |   0
 .../include => include/nvkm}/subdev/bar.h     |   0
 .../include => include/nvkm}/subdev/bios.h    |   0
 .../nvkm}/subdev/bios/M0203.h                 |   0
 .../nvkm}/subdev/bios/M0205.h                 |   0
 .../nvkm}/subdev/bios/M0209.h                 |   0
 .../nvkm}/subdev/bios/P0260.h                 |   0
 .../nvkm}/subdev/bios/bit.h                   |   0
 .../nvkm}/subdev/bios/bmp.h                   |   0
 .../nvkm}/subdev/bios/boost.h                 |   0
 .../nvkm}/subdev/bios/conn.h                  |   0
 .../nvkm}/subdev/bios/cstep.h                 |   0
 .../nvkm}/subdev/bios/dcb.h                   |   0
 .../nvkm}/subdev/bios/disp.h                  |   0
 .../include => include/nvkm}/subdev/bios/dp.h |   0
 .../nvkm}/subdev/bios/extdev.h                |   0
 .../nvkm}/subdev/bios/fan.h                   |   0
 .../nvkm}/subdev/bios/gpio.h                  |   0
 .../nvkm}/subdev/bios/i2c.h                   |   0
 .../nvkm}/subdev/bios/image.h                 |   0
 .../nvkm}/subdev/bios/init.h                  |   0
 .../nvkm}/subdev/bios/mxm.h                   |   0
 .../nvkm}/subdev/bios/npde.h                  |   0
 .../nvkm}/subdev/bios/pcir.h                  |   0
 .../nvkm}/subdev/bios/perf.h                  |   0
 .../nvkm}/subdev/bios/pll.h                   |   0
 .../nvkm}/subdev/bios/pmu.h                   |   0
 .../nvkm}/subdev/bios/ramcfg.h                |   0
 .../nvkm}/subdev/bios/rammap.h                |   0
 .../nvkm}/subdev/bios/therm.h                 |   0
 .../nvkm}/subdev/bios/timing.h                |   0
 .../nvkm}/subdev/bios/vmap.h                  |   0
 .../nvkm}/subdev/bios/volt.h                  |   0
 .../nvkm}/subdev/bios/xpio.h                  |   0
 .../include => include/nvkm}/subdev/bus.h     |   0
 .../include => include/nvkm}/subdev/clock.h   |   0
 .../include => include/nvkm}/subdev/devinit.h |   0
 .../include => include/nvkm}/subdev/fb.h      |   0
 .../include => include/nvkm}/subdev/fuse.h    |   0
 .../include => include/nvkm}/subdev/gpio.h    |   0
 .../include => include/nvkm}/subdev/i2c.h     |   0
 .../include => include/nvkm}/subdev/ibus.h    |   0
 .../include => include/nvkm}/subdev/instmem.h |   0
 .../include => include/nvkm}/subdev/ltc.h     |   0
 .../include => include/nvkm}/subdev/mc.h      |   0
 .../include => include/nvkm}/subdev/mxm.h     |   0
 .../include => include/nvkm}/subdev/pwr.h     |   0
 .../include => include/nvkm}/subdev/therm.h   |   0
 .../include => include/nvkm}/subdev/timer.h   |   0
 .../include => include/nvkm}/subdev/vga.h     |   0
 .../include => include/nvkm}/subdev/vm.h      |   0
 .../include => include/nvkm}/subdev/volt.h    |   0
 drivers/gpu/drm/nouveau/nouveau_ttm.c         |   2 +-
 drivers/gpu/drm/nouveau/nvif/Kbuild           |   4 +
 drivers/gpu/drm/nouveau/nvif/client.c         |   6 +-
 drivers/gpu/drm/nouveau/nvif/device.c         |   2 +-
 drivers/gpu/drm/nouveau/nvif/object.c         |   8 +-
 drivers/gpu/drm/nouveau/nvif/os.h             |   1 -
 drivers/gpu/drm/nouveau/nvkm/Kbuild           |   3 +
 drivers/gpu/drm/nouveau/nvkm/core/Kbuild      |  17 +
 .../drm/nouveau/{core => nvkm}/core/client.c  |   0
 .../drm/nouveau/{core => nvkm}/core/engctx.c  |   0
 .../drm/nouveau/{core => nvkm}/core/engine.c  |   0
 .../drm/nouveau/{core => nvkm}/core/enum.c    |   0
 .../drm/nouveau/{core => nvkm}/core/event.c   |   0
 .../drm/nouveau/{core => nvkm}/core/gpuobj.c  |   0
 .../drm/nouveau/{core => nvkm}/core/handle.c  |   0
 .../drm/nouveau/{core => nvkm}/core/ioctl.c   |   0
 .../gpu/drm/nouveau/{core => nvkm}/core/mm.c  |   0
 .../drm/nouveau/{core => nvkm}/core/namedb.c  |   0
 .../drm/nouveau/{core => nvkm}/core/notify.c  |   0
 .../drm/nouveau/{core => nvkm}/core/object.c  |   0
 .../drm/nouveau/{core => nvkm}/core/option.c  |   0
 .../drm/nouveau/{core => nvkm}/core/parent.c  |   0
 .../drm/nouveau/{core => nvkm}/core/printk.c  |   0
 .../drm/nouveau/{core => nvkm}/core/ramht.c   |   0
 .../drm/nouveau/{core => nvkm}/core/subdev.c  |   0
 drivers/gpu/drm/nouveau/nvkm/engine/Kbuild    |  16 +
 .../gpu/drm/nouveau/nvkm/engine/bsp/Kbuild    |   4 +
 .../nouveau/{core => nvkm}/engine/bsp/nv84.c  |   0
 .../nouveau/{core => nvkm}/engine/bsp/nv98.c  |   0
 .../nouveau/{core => nvkm}/engine/bsp/nvc0.c  |   0
 .../nouveau/{core => nvkm}/engine/bsp/nve0.c  |   0
 .../gpu/drm/nouveau/nvkm/engine/copy/Kbuild   |   3 +
 .../nva3.fuc => nvkm/engine/copy/fuc/com.fuc} |  41 +-
 .../nouveau/nvkm/engine/copy/fuc/nva3.fuc3    |   2 +
 .../engine/copy/fuc/nva3.fuc3.h}              |   0
 .../nouveau/nvkm/engine/copy/fuc/nvc0.fuc3    |   2 +
 .../engine/copy/fuc/nvc0.fuc3.h}              |   0
 .../nouveau/{core => nvkm}/engine/copy/nva3.c |   2 +-
 .../nouveau/{core => nvkm}/engine/copy/nvc0.c |   2 +-
 .../nouveau/{core => nvkm}/engine/copy/nve0.c |   0
 .../gpu/drm/nouveau/nvkm/engine/crypt/Kbuild  |   2 +
 .../engine/crypt/fuc/nv98.fuc0s}              |   0
 .../engine/crypt/fuc/nv98.fuc0s.h}            |   0
 .../{core => nvkm}/engine/crypt/nv84.c        |   0
 .../{core => nvkm}/engine/crypt/nv98.c        |   2 +-
 .../gpu/drm/nouveau/nvkm/engine/device/Kbuild |  12 +
 .../{core => nvkm}/engine/device/acpi.c       |   0
 .../{core => nvkm}/engine/device/acpi.h       |   0
 .../{core => nvkm}/engine/device/base.c       |   0
 .../{core => nvkm}/engine/device/ctrl.c       |   0
 .../{core => nvkm}/engine/device/gm100.c      |   0
 .../{core => nvkm}/engine/device/nv04.c       |   0
 .../{core => nvkm}/engine/device/nv10.c       |   0
 .../{core => nvkm}/engine/device/nv20.c       |   0
 .../{core => nvkm}/engine/device/nv30.c       |   0
 .../{core => nvkm}/engine/device/nv40.c       |   0
 .../{core => nvkm}/engine/device/nv50.c       |   0
 .../{core => nvkm}/engine/device/nvc0.c       |   0
 .../{core => nvkm}/engine/device/nve0.c       |   0
 .../{core => nvkm}/engine/device/priv.h       |   0
 .../gpu/drm/nouveau/nvkm/engine/disp/Kbuild   |  29 ++
 .../nouveau/{core => nvkm}/engine/disp/base.c |   0
 .../nouveau/{core => nvkm}/engine/disp/conn.c |   0
 .../nouveau/{core => nvkm}/engine/disp/conn.h |   0
 .../{core => nvkm}/engine/disp/dacnv50.c      |   0
 .../{core => nvkm}/engine/disp/dport.c        |   0
 .../{core => nvkm}/engine/disp/dport.h        |   0
 .../{core => nvkm}/engine/disp/gm107.c        |   0
 .../{core => nvkm}/engine/disp/gm204.c        |   0
 .../{core => nvkm}/engine/disp/hdanva3.c      |   0
 .../{core => nvkm}/engine/disp/hdanvd0.c      |   0
 .../{core => nvkm}/engine/disp/hdminv84.c     |   0
 .../{core => nvkm}/engine/disp/hdminva3.c     |   0
 .../{core => nvkm}/engine/disp/hdminvd0.c     |   0
 .../{core => nvkm}/engine/disp/hdminve0.c     |   0
 .../nouveau/{core => nvkm}/engine/disp/nv04.c |   0
 .../nouveau/{core => nvkm}/engine/disp/nv50.c |   0
 .../nouveau/{core => nvkm}/engine/disp/nv50.h |   0
 .../nouveau/{core => nvkm}/engine/disp/nv84.c |   0
 .../nouveau/{core => nvkm}/engine/disp/nv94.c |   0
 .../nouveau/{core => nvkm}/engine/disp/nva0.c |   0
 .../nouveau/{core => nvkm}/engine/disp/nva3.c |   0
 .../nouveau/{core => nvkm}/engine/disp/nvd0.c |   0
 .../nouveau/{core => nvkm}/engine/disp/nve0.c |   0
 .../nouveau/{core => nvkm}/engine/disp/nvf0.c |   0
 .../nouveau/{core => nvkm}/engine/disp/outp.c |   0
 .../nouveau/{core => nvkm}/engine/disp/outp.h |   0
 .../{core => nvkm}/engine/disp/outpdp.c       |   0
 .../{core => nvkm}/engine/disp/outpdp.h       |   0
 .../{core => nvkm}/engine/disp/piornv50.c     |   0
 .../nouveau/{core => nvkm}/engine/disp/priv.h |   0
 .../{core => nvkm}/engine/disp/sorgm204.c     |   0
 .../{core => nvkm}/engine/disp/sornv50.c      |   0
 .../{core => nvkm}/engine/disp/sornv94.c      |   0
 .../{core => nvkm}/engine/disp/sornvd0.c      |   0
 .../nouveau/{core => nvkm}/engine/disp/vga.c  |   0
 .../gpu/drm/nouveau/nvkm/engine/dmaobj/Kbuild |   5 +
 .../{core => nvkm}/engine/dmaobj/base.c       |   0
 .../{core => nvkm}/engine/dmaobj/nv04.c       |   0
 .../{core => nvkm}/engine/dmaobj/nv50.c       |   0
 .../{core => nvkm}/engine/dmaobj/nvc0.c       |   0
 .../{core => nvkm}/engine/dmaobj/nvd0.c       |   0
 .../{core => nvkm}/engine/dmaobj/priv.h       |   0
 .../nouveau/{core => nvkm}/engine/falcon.c    |   0
 .../gpu/drm/nouveau/nvkm/engine/fifo/Kbuild   |  11 +
 .../nouveau/{core => nvkm}/engine/fifo/base.c |   0
 .../{core => nvkm}/engine/fifo/gk20a.c        |   0
 .../nouveau/{core => nvkm}/engine/fifo/nv04.c |   0
 .../nouveau/{core => nvkm}/engine/fifo/nv04.h |   0
 .../nouveau/{core => nvkm}/engine/fifo/nv10.c |   0
 .../{core => nvkm}/engine/fifo/nv108.c        |   0
 .../nouveau/{core => nvkm}/engine/fifo/nv17.c |   0
 .../nouveau/{core => nvkm}/engine/fifo/nv40.c |   0
 .../nouveau/{core => nvkm}/engine/fifo/nv50.c |   0
 .../nouveau/{core => nvkm}/engine/fifo/nv50.h |   0
 .../nouveau/{core => nvkm}/engine/fifo/nv84.c |   0
 .../nouveau/{core => nvkm}/engine/fifo/nvc0.c |   0
 .../nouveau/{core => nvkm}/engine/fifo/nve0.c |   0
 .../nouveau/{core => nvkm}/engine/fifo/nve0.h |   0
 .../gpu/drm/nouveau/nvkm/engine/graph/Kbuild  |  36 ++
 .../nouveau/{core => nvkm}/engine/graph/ctx.h |   0
 .../{core => nvkm}/engine/graph/ctxgk110b.c   |   0
 .../{core => nvkm}/engine/graph/ctxgk20a.c    |   0
 .../{core => nvkm}/engine/graph/ctxgm107.c    |   0
 .../{core => nvkm}/engine/graph/ctxnv108.c    |   0
 .../{core => nvkm}/engine/graph/ctxnv40.c     |   0
 .../{core => nvkm}/engine/graph/ctxnv50.c     |   0
 .../{core => nvkm}/engine/graph/ctxnvc0.c     |   0
 .../{core => nvkm}/engine/graph/ctxnvc0.h     |   0
 .../{core => nvkm}/engine/graph/ctxnvc1.c     |   0
 .../{core => nvkm}/engine/graph/ctxnvc4.c     |   0
 .../{core => nvkm}/engine/graph/ctxnvc8.c     |   0
 .../{core => nvkm}/engine/graph/ctxnvd7.c     |   0
 .../{core => nvkm}/engine/graph/ctxnvd9.c     |   0
 .../{core => nvkm}/engine/graph/ctxnve4.c     |   0
 .../{core => nvkm}/engine/graph/ctxnvf0.c     |   0
 .../{core => nvkm}/engine/graph/fuc/com.fuc   |   0
 .../{core => nvkm}/engine/graph/fuc/gpc.fuc   |   0
 .../engine/graph/fuc/gpcgm107.fuc5            |   0
 .../engine/graph/fuc/gpcgm107.fuc5.h          |   0
 .../engine/graph/fuc/gpcnv108.fuc5            |   0
 .../engine/graph/fuc/gpcnv108.fuc5.h          |   0
 .../engine/graph/fuc/gpcnvc0.fuc3}            |   0
 .../engine/graph/fuc/gpcnvc0.fuc3.h}          |   0
 .../engine/graph/fuc/gpcnvd7.fuc3}            |   0
 .../engine/graph/fuc/gpcnvd7.fuc3.h}          |   0
 .../engine/graph/fuc/gpcnve0.fuc3}            |   0
 .../engine/graph/fuc/gpcnve0.fuc3.h}          |   0
 .../engine/graph/fuc/gpcnvf0.fuc3}            |   0
 .../engine/graph/fuc/gpcnvf0.fuc3.h}          |   0
 .../{core => nvkm}/engine/graph/fuc/hub.fuc   |   0
 .../engine/graph/fuc/hubgm107.fuc5            |   0
 .../engine/graph/fuc/hubgm107.fuc5.h          |   0
 .../engine/graph/fuc/hubnv108.fuc5            |   0
 .../engine/graph/fuc/hubnv108.fuc5.h          |   0
 .../engine/graph/fuc/hubnvc0.fuc3}            |   0
 .../engine/graph/fuc/hubnvc0.fuc3.h}          |   0
 .../engine/graph/fuc/hubnvd7.fuc3}            |   0
 .../engine/graph/fuc/hubnvd7.fuc3.h}          |   0
 .../engine/graph/fuc/hubnve0.fuc3}            |   0
 .../engine/graph/fuc/hubnve0.fuc3.h}          |   0
 .../engine/graph/fuc/hubnvf0.fuc3}            |   0
 .../engine/graph/fuc/hubnvf0.fuc3.h}          |   0
 .../engine/graph/fuc/macros.fuc               |   0
 .../{core => nvkm}/engine/graph/fuc/os.h      |   0
 .../{core => nvkm}/engine/graph/gk110b.c      |   0
 .../{core => nvkm}/engine/graph/gk20a.c       |   0
 .../{core => nvkm}/engine/graph/gm107.c       |   0
 .../{core => nvkm}/engine/graph/nv04.c        |   0
 .../{core => nvkm}/engine/graph/nv10.c        |   0
 .../{core => nvkm}/engine/graph/nv108.c       |   0
 .../{core => nvkm}/engine/graph/nv20.c        |   0
 .../{core => nvkm}/engine/graph/nv20.h        |   0
 .../{core => nvkm}/engine/graph/nv25.c        |   0
 .../{core => nvkm}/engine/graph/nv2a.c        |   0
 .../{core => nvkm}/engine/graph/nv30.c        |   0
 .../{core => nvkm}/engine/graph/nv34.c        |   0
 .../{core => nvkm}/engine/graph/nv35.c        |   0
 .../{core => nvkm}/engine/graph/nv40.c        |   0
 .../{core => nvkm}/engine/graph/nv40.h        |   0
 .../{core => nvkm}/engine/graph/nv50.c        |   0
 .../{core => nvkm}/engine/graph/nv50.h        |   0
 .../{core => nvkm}/engine/graph/nvc0.c        |   4 +-
 .../{core => nvkm}/engine/graph/nvc0.h        |   0
 .../{core => nvkm}/engine/graph/nvc1.c        |   0
 .../{core => nvkm}/engine/graph/nvc4.c        |   0
 .../{core => nvkm}/engine/graph/nvc8.c        |   0
 .../{core => nvkm}/engine/graph/nvd7.c        |   4 +-
 .../{core => nvkm}/engine/graph/nvd9.c        |   0
 .../{core => nvkm}/engine/graph/nve4.c        |   4 +-
 .../{core => nvkm}/engine/graph/nvf0.c        |   4 +-
 .../{core => nvkm}/engine/graph/regs.h        |   0
 .../gpu/drm/nouveau/nvkm/engine/mpeg/Kbuild   |   5 +
 .../nouveau/{core => nvkm}/engine/mpeg/nv31.c |   0
 .../nouveau/{core => nvkm}/engine/mpeg/nv31.h |   0
 .../nouveau/{core => nvkm}/engine/mpeg/nv40.c |   0
 .../nouveau/{core => nvkm}/engine/mpeg/nv44.c |   0
 .../nouveau/{core => nvkm}/engine/mpeg/nv50.c |   0
 .../nouveau/{core => nvkm}/engine/mpeg/nv84.c |   0
 .../drm/nouveau/nvkm/engine/perfmon/Kbuild    |   9 +
 .../{core => nvkm}/engine/perfmon/base.c      |   0
 .../{core => nvkm}/engine/perfmon/daemon.c    |   0
 .../{core => nvkm}/engine/perfmon/nv40.c      |   0
 .../{core => nvkm}/engine/perfmon/nv40.h      |   0
 .../{core => nvkm}/engine/perfmon/nv50.c      |   0
 .../{core => nvkm}/engine/perfmon/nv84.c      |   0
 .../{core => nvkm}/engine/perfmon/nva3.c      |   0
 .../{core => nvkm}/engine/perfmon/nvc0.c      |   0
 .../{core => nvkm}/engine/perfmon/nvc0.h      |   0
 .../{core => nvkm}/engine/perfmon/nve0.c      |   0
 .../{core => nvkm}/engine/perfmon/nvf0.c      |   0
 .../{core => nvkm}/engine/perfmon/priv.h      |   0
 .../gpu/drm/nouveau/nvkm/engine/ppp/Kbuild    |   2 +
 .../nouveau/{core => nvkm}/engine/ppp/nv98.c  |   0
 .../nouveau/{core => nvkm}/engine/ppp/nvc0.c  |   0
 .../drm/nouveau/nvkm/engine/software/Kbuild   |   4 +
 .../{core => nvkm}/engine/software/nv04.c     |   0
 .../{core => nvkm}/engine/software/nv10.c     |   0
 .../{core => nvkm}/engine/software/nv50.c     |   0
 .../{core => nvkm}/engine/software/nv50.h     |   0
 .../{core => nvkm}/engine/software/nvc0.c     |   0
 drivers/gpu/drm/nouveau/nvkm/engine/vp/Kbuild |   4 +
 .../nouveau/{core => nvkm}/engine/vp/nv84.c   |   0
 .../nouveau/{core => nvkm}/engine/vp/nv98.c   |   0
 .../nouveau/{core => nvkm}/engine/vp/nvc0.c   |   0
 .../nouveau/{core => nvkm}/engine/vp/nve0.c   |   0
 .../nouveau/{core => nvkm}/engine/xtensa.c    |   0
 drivers/gpu/drm/nouveau/nvkm/subdev/Kbuild    |  19 +
 .../gpu/drm/nouveau/nvkm/subdev/bar/Kbuild    |   4 +
 .../nouveau/{core => nvkm}/subdev/bar/base.c  |   0
 .../nouveau/{core => nvkm}/subdev/bar/gk20a.c |   0
 .../nouveau/{core => nvkm}/subdev/bar/nv50.c  |   0
 .../nouveau/{core => nvkm}/subdev/bar/nvc0.c  |   0
 .../nouveau/{core => nvkm}/subdev/bar/priv.h  |   0
 .../gpu/drm/nouveau/nvkm/subdev/bios/Kbuild   |  37 ++
 .../{core => nvkm}/subdev/bios/M0203.c        |   0
 .../{core => nvkm}/subdev/bios/M0205.c        |   0
 .../{core => nvkm}/subdev/bios/M0209.c        |   0
 .../{core => nvkm}/subdev/bios/P0260.c        |   0
 .../nouveau/{core => nvkm}/subdev/bios/base.c |   0
 .../nouveau/{core => nvkm}/subdev/bios/bit.c  |   0
 .../{core => nvkm}/subdev/bios/boost.c        |   0
 .../nouveau/{core => nvkm}/subdev/bios/conn.c |   0
 .../{core => nvkm}/subdev/bios/cstep.c        |   0
 .../nouveau/{core => nvkm}/subdev/bios/dcb.c  |   0
 .../nouveau/{core => nvkm}/subdev/bios/disp.c |   0
 .../nouveau/{core => nvkm}/subdev/bios/dp.c   |   0
 .../{core => nvkm}/subdev/bios/extdev.c       |   0
 .../nouveau/{core => nvkm}/subdev/bios/fan.c  |   0
 .../nouveau/{core => nvkm}/subdev/bios/gpio.c |   0
 .../nouveau/{core => nvkm}/subdev/bios/i2c.c  |   0
 .../{core => nvkm}/subdev/bios/image.c        |   0
 .../nouveau/{core => nvkm}/subdev/bios/init.c |   0
 .../nouveau/{core => nvkm}/subdev/bios/mxm.c  |   0
 .../nouveau/{core => nvkm}/subdev/bios/npde.c |   0
 .../nouveau/{core => nvkm}/subdev/bios/pcir.c |   0
 .../nouveau/{core => nvkm}/subdev/bios/perf.c |   0
 .../nouveau/{core => nvkm}/subdev/bios/pll.c  |   0
 .../nouveau/{core => nvkm}/subdev/bios/pmu.c  |   0
 .../nouveau/{core => nvkm}/subdev/bios/priv.h |   0
 .../{core => nvkm}/subdev/bios/ramcfg.c       |   0
 .../{core => nvkm}/subdev/bios/rammap.c       |   0
 .../{core => nvkm}/subdev/bios/shadow.c       |   0
 .../{core => nvkm}/subdev/bios/shadowacpi.c   |   0
 .../{core => nvkm}/subdev/bios/shadowof.c     |   0
 .../{core => nvkm}/subdev/bios/shadowpci.c    |   0
 .../{core => nvkm}/subdev/bios/shadowramin.c  |   0
 .../{core => nvkm}/subdev/bios/shadowrom.c    |   0
 .../{core => nvkm}/subdev/bios/therm.c        |   0
 .../{core => nvkm}/subdev/bios/timing.c       |   0
 .../nouveau/{core => nvkm}/subdev/bios/vmap.c |   0
 .../nouveau/{core => nvkm}/subdev/bios/volt.c |   0
 .../nouveau/{core => nvkm}/subdev/bios/xpio.c |   0
 .../gpu/drm/nouveau/nvkm/subdev/bus/Kbuild    |   6 +
 .../nouveau/{core => nvkm}/subdev/bus/hwsq.c  |   0
 .../nouveau/{core => nvkm}/subdev/bus/hwsq.h  |   0
 .../nouveau/{core => nvkm}/subdev/bus/nv04.c  |   0
 .../nouveau/{core => nvkm}/subdev/bus/nv04.h  |   0
 .../nouveau/{core => nvkm}/subdev/bus/nv31.c  |   0
 .../nouveau/{core => nvkm}/subdev/bus/nv50.c  |   0
 .../nouveau/{core => nvkm}/subdev/bus/nv94.c  |   0
 .../nouveau/{core => nvkm}/subdev/bus/nvc0.c  |   0
 .../gpu/drm/nouveau/nvkm/subdev/clock/Kbuild  |  12 +
 .../{core => nvkm}/subdev/clock/base.c        |   0
 .../{core => nvkm}/subdev/clock/gk20a.c       |   0
 .../{core => nvkm}/subdev/clock/nv04.c        |   0
 .../{core => nvkm}/subdev/clock/nv40.c        |   0
 .../{core => nvkm}/subdev/clock/nv50.c        |   0
 .../{core => nvkm}/subdev/clock/nv50.h        |   0
 .../{core => nvkm}/subdev/clock/nv84.c        |   0
 .../{core => nvkm}/subdev/clock/nva3.c        |   0
 .../{core => nvkm}/subdev/clock/nva3.h        |   0
 .../{core => nvkm}/subdev/clock/nvaa.c        |   0
 .../{core => nvkm}/subdev/clock/nvc0.c        |   0
 .../{core => nvkm}/subdev/clock/nve0.c        |   0
 .../nouveau/{core => nvkm}/subdev/clock/pll.h |   0
 .../{core => nvkm}/subdev/clock/pllnv04.c     |   0
 .../{core => nvkm}/subdev/clock/pllnva3.c     |   0
 .../nouveau/{core => nvkm}/subdev/clock/seq.h |   0
 .../drm/nouveau/nvkm/subdev/devinit/Kbuild    |  14 +
 .../{core => nvkm}/subdev/devinit/base.c      |   0
 .../{core => nvkm}/subdev/devinit/fbmem.h     |   0
 .../{core => nvkm}/subdev/devinit/gm107.c     |   0
 .../{core => nvkm}/subdev/devinit/gm204.c     |   0
 .../{core => nvkm}/subdev/devinit/nv04.c      |   0
 .../{core => nvkm}/subdev/devinit/nv04.h      |   0
 .../{core => nvkm}/subdev/devinit/nv05.c      |   0
 .../{core => nvkm}/subdev/devinit/nv10.c      |   0
 .../{core => nvkm}/subdev/devinit/nv1a.c      |   0
 .../{core => nvkm}/subdev/devinit/nv20.c      |   0
 .../{core => nvkm}/subdev/devinit/nv50.c      |   0
 .../{core => nvkm}/subdev/devinit/nv50.h      |   0
 .../{core => nvkm}/subdev/devinit/nv84.c      |   0
 .../{core => nvkm}/subdev/devinit/nv98.c      |   0
 .../{core => nvkm}/subdev/devinit/nva3.c      |   0
 .../{core => nvkm}/subdev/devinit/nvaf.c      |   0
 .../{core => nvkm}/subdev/devinit/nvc0.c      |   0
 .../{core => nvkm}/subdev/devinit/priv.h      |   0
 drivers/gpu/drm/nouveau/nvkm/subdev/fb/Kbuild |  45 ++
 .../nouveau/{core => nvkm}/subdev/fb/base.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/gddr3.c  |   0
 .../nouveau/{core => nvkm}/subdev/fb/gddr5.c  |   0
 .../nouveau/{core => nvkm}/subdev/fb/gk20a.c  |   0
 .../nouveau/{core => nvkm}/subdev/fb/gm107.c  |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv04.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv04.h   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv10.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv1a.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv20.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv25.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv30.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv35.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv36.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv40.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv40.h   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv41.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv44.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv46.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv47.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv49.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv4e.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv50.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv50.h   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nv84.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nva3.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nvaa.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nvaf.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nvc0.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nvc0.h   |   0
 .../nouveau/{core => nvkm}/subdev/fb/nve0.c   |   0
 .../nouveau/{core => nvkm}/subdev/fb/priv.h   |   0
 .../nouveau/{core => nvkm}/subdev/fb/ramfuc.h |   0
 .../{core => nvkm}/subdev/fb/ramgk20a.c       |   0
 .../{core => nvkm}/subdev/fb/ramgm107.c       |   0
 .../{core => nvkm}/subdev/fb/ramnv04.c        |   0
 .../{core => nvkm}/subdev/fb/ramnv10.c        |   0
 .../{core => nvkm}/subdev/fb/ramnv1a.c        |   0
 .../{core => nvkm}/subdev/fb/ramnv20.c        |   0
 .../{core => nvkm}/subdev/fb/ramnv40.c        |   0
 .../{core => nvkm}/subdev/fb/ramnv41.c        |   0
 .../{core => nvkm}/subdev/fb/ramnv44.c        |   0
 .../{core => nvkm}/subdev/fb/ramnv49.c        |   0
 .../{core => nvkm}/subdev/fb/ramnv4e.c        |   0
 .../{core => nvkm}/subdev/fb/ramnv50.c        |   0
 .../{core => nvkm}/subdev/fb/ramnva3.c        |   0
 .../{core => nvkm}/subdev/fb/ramnvaa.c        |   0
 .../{core => nvkm}/subdev/fb/ramnvc0.c        |   0
 .../{core => nvkm}/subdev/fb/ramnve0.c        |   0
 .../nouveau/{core => nvkm}/subdev/fb/ramseq.h |   0
 .../include => nvkm}/subdev/fb/regsnv04.h     |   0
 .../nouveau/{core => nvkm}/subdev/fb/sddr2.c  |   0
 .../nouveau/{core => nvkm}/subdev/fb/sddr3.c  |   0
 .../gpu/drm/nouveau/nvkm/subdev/fuse/Kbuild   |   4 +
 .../nouveau/{core => nvkm}/subdev/fuse/base.c |   0
 .../nouveau/{core => nvkm}/subdev/fuse/g80.c  |   0
 .../{core => nvkm}/subdev/fuse/gf100.c        |   0
 .../{core => nvkm}/subdev/fuse/gm107.c        |   0
 .../nouveau/{core => nvkm}/subdev/fuse/priv.h |   0
 .../gpu/drm/nouveau/nvkm/subdev/gpio/Kbuild   |   6 +
 .../nouveau/{core => nvkm}/subdev/gpio/base.c |   0
 .../nouveau/{core => nvkm}/subdev/gpio/nv10.c |   0
 .../nouveau/{core => nvkm}/subdev/gpio/nv50.c |   0
 .../nouveau/{core => nvkm}/subdev/gpio/nv94.c |   0
 .../nouveau/{core => nvkm}/subdev/gpio/nvd0.c |   0
 .../nouveau/{core => nvkm}/subdev/gpio/nve0.c |   0
 .../nouveau/{core => nvkm}/subdev/gpio/priv.h |   0
 .../gpu/drm/nouveau/nvkm/subdev/i2c/Kbuild    |  16 +
 .../{core => nvkm}/subdev/i2c/anx9805.c       |   0
 .../nouveau/{core => nvkm}/subdev/i2c/aux.c   |   0
 .../nouveau/{core => nvkm}/subdev/i2c/base.c  |   0
 .../nouveau/{core => nvkm}/subdev/i2c/bit.c   |   0
 .../nouveau/{core => nvkm}/subdev/i2c/gf117.c |   0
 .../nouveau/{core => nvkm}/subdev/i2c/gm204.c |   0
 .../nouveau/{core => nvkm}/subdev/i2c/nv04.c  |   0
 .../nouveau/{core => nvkm}/subdev/i2c/nv4e.c  |   0
 .../nouveau/{core => nvkm}/subdev/i2c/nv50.c  |   0
 .../nouveau/{core => nvkm}/subdev/i2c/nv50.h  |   0
 .../nouveau/{core => nvkm}/subdev/i2c/nv94.c  |   0
 .../nouveau/{core => nvkm}/subdev/i2c/nvd0.c  |   0
 .../nouveau/{core => nvkm}/subdev/i2c/nve0.c  |   0
 .../nouveau/{core => nvkm}/subdev/i2c/pad.c   |   0
 .../nouveau/{core => nvkm}/subdev/i2c/pad.h   |   0
 .../{core => nvkm}/subdev/i2c/padgm204.c      |   0
 .../{core => nvkm}/subdev/i2c/padnv04.c       |   0
 .../{core => nvkm}/subdev/i2c/padnv94.c       |   0
 .../nouveau/{core => nvkm}/subdev/i2c/port.h  |   0
 .../nouveau/{core => nvkm}/subdev/i2c/priv.h  |   0
 .../gpu/drm/nouveau/nvkm/subdev/ibus/Kbuild   |   3 +
 .../{core => nvkm}/subdev/ibus/gk20a.c        |   0
 .../nouveau/{core => nvkm}/subdev/ibus/nvc0.c |   0
 .../nouveau/{core => nvkm}/subdev/ibus/nve0.c |   0
 .../drm/nouveau/nvkm/subdev/instmem/Kbuild    |   4 +
 .../{core => nvkm}/subdev/instmem/base.c      |   0
 .../{core => nvkm}/subdev/instmem/nv04.c      |   0
 .../{core => nvkm}/subdev/instmem/nv04.h      |   0
 .../{core => nvkm}/subdev/instmem/nv40.c      |   0
 .../{core => nvkm}/subdev/instmem/nv50.c      |   0
 .../{core => nvkm}/subdev/instmem/priv.h      |   0
 .../gpu/drm/nouveau/nvkm/subdev/ltc/Kbuild    |   4 +
 .../nouveau/{core => nvkm}/subdev/ltc/base.c  |   0
 .../nouveau/{core => nvkm}/subdev/ltc/gf100.c |   0
 .../nouveau/{core => nvkm}/subdev/ltc/gk104.c |   0
 .../nouveau/{core => nvkm}/subdev/ltc/gm107.c |   0
 .../nouveau/{core => nvkm}/subdev/ltc/priv.h  |   0
 drivers/gpu/drm/nouveau/nvkm/subdev/mc/Kbuild |  11 +
 .../nouveau/{core => nvkm}/subdev/mc/base.c   |   0
 .../nouveau/{core => nvkm}/subdev/mc/gk20a.c  |   0
 .../nouveau/{core => nvkm}/subdev/mc/nv04.c   |   0
 .../nouveau/{core => nvkm}/subdev/mc/nv04.h   |   0
 .../nouveau/{core => nvkm}/subdev/mc/nv40.c   |   0
 .../nouveau/{core => nvkm}/subdev/mc/nv44.c   |   0
 .../nouveau/{core => nvkm}/subdev/mc/nv4c.c   |   0
 .../nouveau/{core => nvkm}/subdev/mc/nv50.c   |   0
 .../nouveau/{core => nvkm}/subdev/mc/nv94.c   |   0
 .../nouveau/{core => nvkm}/subdev/mc/nv98.c   |   0
 .../nouveau/{core => nvkm}/subdev/mc/nvc0.c   |   0
 .../nouveau/{core => nvkm}/subdev/mc/nvc3.c   |   0
 .../nouveau/{core => nvkm}/subdev/mc/priv.h   |   0
 .../gpu/drm/nouveau/nvkm/subdev/mxm/Kbuild    |   3 +
 .../nouveau/{core => nvkm}/subdev/mxm/base.c  |   0
 .../nouveau/{core => nvkm}/subdev/mxm/mxms.c  |   0
 .../nouveau/{core => nvkm}/subdev/mxm/mxms.h  |   0
 .../nouveau/{core => nvkm}/subdev/mxm/nv50.c  |   0
 .../gpu/drm/nouveau/nvkm/subdev/pwr/Kbuild    |   8 +
 .../nouveau/{core => nvkm}/subdev/pwr/base.c  |   0
 .../{core => nvkm}/subdev/pwr/fuc/arith.fuc   |   0
 .../{core => nvkm}/subdev/pwr/fuc/host.fuc    |   0
 .../{core => nvkm}/subdev/pwr/fuc/i2c_.fuc    |   0
 .../{core => nvkm}/subdev/pwr/fuc/idle.fuc    |   0
 .../{core => nvkm}/subdev/pwr/fuc/kernel.fuc  |   0
 .../{core => nvkm}/subdev/pwr/fuc/macros.fuc  |   0
 .../{core => nvkm}/subdev/pwr/fuc/memx.fuc    |   0
 .../subdev/pwr/fuc/nv108.fuc5}                |   0
 .../subdev/pwr/fuc/nv108.fuc5.h}              |   0
 .../subdev/pwr/fuc/nva3.fuc3}                 |   0
 .../subdev/pwr/fuc/nva3.fuc3.h}               |   0
 .../subdev/pwr/fuc/nvc0.fuc3}                 |   0
 .../subdev/pwr/fuc/nvc0.fuc3.h}               |   0
 .../subdev/pwr/fuc/nvd0.fuc4}                 |   0
 .../subdev/pwr/fuc/nvd0.fuc4.h}               |   0
 .../{core => nvkm}/subdev/pwr/fuc/os.h        |   0
 .../{core => nvkm}/subdev/pwr/fuc/perf.fuc    |   0
 .../{core => nvkm}/subdev/pwr/fuc/test.fuc    |   0
 .../nouveau/{core => nvkm}/subdev/pwr/gk104.c |   2 +-
 .../nouveau/{core => nvkm}/subdev/pwr/gk20a.c |   0
 .../nouveau/{core => nvkm}/subdev/pwr/memx.c  |   0
 .../nouveau/{core => nvkm}/subdev/pwr/nv108.c |   2 +-
 .../nouveau/{core => nvkm}/subdev/pwr/nva3.c  |   2 +-
 .../nouveau/{core => nvkm}/subdev/pwr/nvc0.c  |   2 +-
 .../nouveau/{core => nvkm}/subdev/pwr/nvd0.c  |   2 +-
 .../nouveau/{core => nvkm}/subdev/pwr/priv.h  |   0
 .../gpu/drm/nouveau/nvkm/subdev/therm/Kbuild  |  13 +
 .../{core => nvkm}/subdev/therm/base.c        |   0
 .../nouveau/{core => nvkm}/subdev/therm/fan.c |   0
 .../{core => nvkm}/subdev/therm/fannil.c      |   0
 .../{core => nvkm}/subdev/therm/fanpwm.c      |   0
 .../{core => nvkm}/subdev/therm/fantog.c      |   0
 .../{core => nvkm}/subdev/therm/gm107.c       |   0
 .../nouveau/{core => nvkm}/subdev/therm/ic.c  |   0
 .../{core => nvkm}/subdev/therm/nv40.c        |   0
 .../{core => nvkm}/subdev/therm/nv50.c        |   0
 .../{core => nvkm}/subdev/therm/nv84.c        |   0
 .../{core => nvkm}/subdev/therm/nva3.c        |   0
 .../{core => nvkm}/subdev/therm/nvd0.c        |   0
 .../{core => nvkm}/subdev/therm/priv.h        |   0
 .../{core => nvkm}/subdev/therm/temp.c        |   0
 .../gpu/drm/nouveau/nvkm/subdev/timer/Kbuild  |   3 +
 .../{core => nvkm}/subdev/timer/base.c        |   0
 .../{core => nvkm}/subdev/timer/gk20a.c       |   0
 .../{core => nvkm}/subdev/timer/nv04.c        |   0
 .../{core => nvkm}/subdev/timer/nv04.h        |   0
 .../{core => nvkm}/subdev/timer/priv.h        |   0
 drivers/gpu/drm/nouveau/nvkm/subdev/vm/Kbuild |   6 +
 .../nouveau/{core => nvkm}/subdev/vm/base.c   |   0
 .../nouveau/{core => nvkm}/subdev/vm/nv04.c   |   0
 .../nouveau/{core => nvkm}/subdev/vm/nv04.h   |   0
 .../nouveau/{core => nvkm}/subdev/vm/nv41.c   |   0
 .../nouveau/{core => nvkm}/subdev/vm/nv44.c   |   0
 .../nouveau/{core => nvkm}/subdev/vm/nv50.c   |   0
 .../nouveau/{core => nvkm}/subdev/vm/nvc0.c   |   0
 .../gpu/drm/nouveau/nvkm/subdev/volt/Kbuild   |   4 +
 .../nouveau/{core => nvkm}/subdev/volt/base.c |   0
 .../{core => nvkm}/subdev/volt/gk20a.c        |   0
 .../nouveau/{core => nvkm}/subdev/volt/gpio.c |   0
 .../nouveau/{core => nvkm}/subdev/volt/nv40.c |   0
 609 files changed, 510 insertions(+), 454 deletions(-)
 create mode 100644 drivers/gpu/drm/nouveau/Kbuild
 delete mode 100644 drivers/gpu/drm/nouveau/Makefile
 delete mode 120000 drivers/gpu/drm/nouveau/core/include/nvif/class.h
 delete mode 120000 drivers/gpu/drm/nouveau/core/include/nvif/event.h
 delete mode 120000 drivers/gpu/drm/nouveau/core/include/nvif/ioctl.h
 delete mode 120000 drivers/gpu/drm/nouveau/core/include/nvif/unpack.h
 rename drivers/gpu/drm/nouveau/dispnv04/{Makefile => Kbuild} (100%)
 rename drivers/gpu/drm/nouveau/{ => include}/nvif/class.h (100%)
 rename drivers/gpu/drm/nouveau/{ => include}/nvif/client.h (97%)
 rename drivers/gpu/drm/nouveau/{ => include}/nvif/device.h (97%)
 rename drivers/gpu/drm/nouveau/{ => include}/nvif/driver.h (100%)
 rename drivers/gpu/drm/nouveau/{ => include}/nvif/event.h (100%)
 rename drivers/gpu/drm/nouveau/{ => include}/nvif/ioctl.h (100%)
 rename drivers/gpu/drm/nouveau/{ => include}/nvif/list.h (100%)
 rename drivers/gpu/drm/nouveau/{ => include}/nvif/notify.h (100%)
 rename drivers/gpu/drm/nouveau/{ => include}/nvif/object.h (100%)
 rename drivers/gpu/drm/nouveau/{core => include/nvif}/os.h (100%)
 rename drivers/gpu/drm/nouveau/{ => include}/nvif/unpack.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/client.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/debug.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/device.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/engctx.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/engine.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/enum.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/event.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/gpuobj.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/handle.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/ioctl.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/mm.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/namedb.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/notify.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/object.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/option.h (100%)
 create mode 100644 drivers/gpu/drm/nouveau/include/nvkm/core/os.h
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/parent.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/printk.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/ramht.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/core/subdev.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/engine/bsp.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/engine/copy.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/engine/crypt.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/engine/device.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/engine/disp.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/engine/dmaobj.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/engine/falcon.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/engine/fifo.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/engine/graph.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/engine/mpeg.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/engine/perfmon.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/engine/ppp.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/engine/software.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/engine/vp.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/engine/xtensa.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bar.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/M0203.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/M0205.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/M0209.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/P0260.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/bit.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/bmp.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/boost.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/conn.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/cstep.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/dcb.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/disp.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/dp.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/extdev.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/fan.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/gpio.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/i2c.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/image.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/init.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/mxm.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/npde.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/pcir.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/perf.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/pll.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/pmu.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/ramcfg.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/rammap.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/therm.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/timing.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/vmap.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/volt.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bios/xpio.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/bus.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/clock.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/devinit.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/fb.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/fuse.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/gpio.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/i2c.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/ibus.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/instmem.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/ltc.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/mc.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/mxm.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/pwr.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/therm.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/timer.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/vga.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/vm.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => include/nvkm}/subdev/volt.h (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvif/Kbuild
 delete mode 120000 drivers/gpu/drm/nouveau/nvif/os.h
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/Kbuild
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/core/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/core/client.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/core/engctx.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/core/engine.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/core/enum.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/core/event.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/core/gpuobj.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/core/handle.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/core/ioctl.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/core/mm.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/core/namedb.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/core/notify.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/core/object.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/core/option.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/core/parent.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/core/printk.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/core/ramht.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/core/subdev.c (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/Kbuild
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/bsp/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/bsp/nv84.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/bsp/nv98.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/bsp/nvc0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/bsp/nve0.c (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/copy/Kbuild
 rename drivers/gpu/drm/nouveau/{core/engine/copy/fuc/nva3.fuc => nvkm/engine/copy/fuc/com.fuc} (99%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/copy/fuc/nva3.fuc3
 rename drivers/gpu/drm/nouveau/{core/engine/copy/fuc/nva3.fuc.h => nvkm/engine/copy/fuc/nva3.fuc3.h} (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/copy/fuc/nvc0.fuc3
 rename drivers/gpu/drm/nouveau/{core/engine/copy/fuc/nvc0.fuc.h => nvkm/engine/copy/fuc/nvc0.fuc3.h} (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/copy/nva3.c (99%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/copy/nvc0.c (99%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/copy/nve0.c (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/crypt/Kbuild
 rename drivers/gpu/drm/nouveau/{core/engine/crypt/fuc/nv98.fuc => nvkm/engine/crypt/fuc/nv98.fuc0s} (100%)
 rename drivers/gpu/drm/nouveau/{core/engine/crypt/fuc/nv98.fuc.h => nvkm/engine/crypt/fuc/nv98.fuc0s.h} (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/crypt/nv84.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/crypt/nv98.c (99%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/device/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/device/acpi.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/device/acpi.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/device/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/device/ctrl.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/device/gm100.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/device/nv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/device/nv10.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/device/nv20.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/device/nv30.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/device/nv40.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/device/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/device/nvc0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/device/nve0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/device/priv.h (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/conn.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/conn.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/dacnv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/dport.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/dport.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/gm107.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/gm204.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/hdanva3.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/hdanvd0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/hdminv84.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/hdminva3.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/hdminvd0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/hdminve0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/nv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/nv50.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/nv84.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/nv94.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/nva0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/nva3.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/nvd0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/nve0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/nvf0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/outp.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/outp.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/outpdp.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/outpdp.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/piornv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/priv.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/sorgm204.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/sornv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/sornv94.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/sornvd0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/disp/vga.c (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/dmaobj/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/dmaobj/nv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/dmaobj/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/dmaobj/nvc0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/dmaobj/nvd0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/dmaobj/priv.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/falcon.c (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/fifo/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/fifo/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/fifo/gk20a.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/fifo/nv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/fifo/nv04.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/fifo/nv10.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/fifo/nv108.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/fifo/nv17.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/fifo/nv40.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/fifo/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/fifo/nv50.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/fifo/nv84.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/fifo/nvc0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/fifo/nve0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/fifo/nve0.h (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/graph/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/ctx.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/ctxgk110b.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/ctxgk20a.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/ctxgm107.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/ctxnv108.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/ctxnv40.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/ctxnv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/ctxnvc0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/ctxnvc0.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/ctxnvc1.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/ctxnvc4.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/ctxnvc8.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/ctxnvd7.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/ctxnvd9.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/ctxnve4.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/ctxnvf0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/fuc/com.fuc (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/fuc/gpc.fuc (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/fuc/gpcgm107.fuc5 (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/fuc/gpcgm107.fuc5.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/fuc/gpcnv108.fuc5 (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/fuc/gpcnv108.fuc5.h (100%)
 rename drivers/gpu/drm/nouveau/{core/engine/graph/fuc/gpcnvc0.fuc => nvkm/engine/graph/fuc/gpcnvc0.fuc3} (100%)
 rename drivers/gpu/drm/nouveau/{core/engine/graph/fuc/gpcnvc0.fuc.h => nvkm/engine/graph/fuc/gpcnvc0.fuc3.h} (100%)
 rename drivers/gpu/drm/nouveau/{core/engine/graph/fuc/gpcnvd7.fuc => nvkm/engine/graph/fuc/gpcnvd7.fuc3} (100%)
 rename drivers/gpu/drm/nouveau/{core/engine/graph/fuc/gpcnvd7.fuc.h => nvkm/engine/graph/fuc/gpcnvd7.fuc3.h} (100%)
 rename drivers/gpu/drm/nouveau/{core/engine/graph/fuc/gpcnve0.fuc => nvkm/engine/graph/fuc/gpcnve0.fuc3} (100%)
 rename drivers/gpu/drm/nouveau/{core/engine/graph/fuc/gpcnve0.fuc.h => nvkm/engine/graph/fuc/gpcnve0.fuc3.h} (100%)
 rename drivers/gpu/drm/nouveau/{core/engine/graph/fuc/gpcnvf0.fuc => nvkm/engine/graph/fuc/gpcnvf0.fuc3} (100%)
 rename drivers/gpu/drm/nouveau/{core/engine/graph/fuc/gpcnvf0.fuc.h => nvkm/engine/graph/fuc/gpcnvf0.fuc3.h} (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/fuc/hub.fuc (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/fuc/hubgm107.fuc5 (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/fuc/hubgm107.fuc5.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/fuc/hubnv108.fuc5 (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/fuc/hubnv108.fuc5.h (100%)
 rename drivers/gpu/drm/nouveau/{core/engine/graph/fuc/hubnvc0.fuc => nvkm/engine/graph/fuc/hubnvc0.fuc3} (100%)
 rename drivers/gpu/drm/nouveau/{core/engine/graph/fuc/hubnvc0.fuc.h => nvkm/engine/graph/fuc/hubnvc0.fuc3.h} (100%)
 rename drivers/gpu/drm/nouveau/{core/engine/graph/fuc/hubnvd7.fuc => nvkm/engine/graph/fuc/hubnvd7.fuc3} (100%)
 rename drivers/gpu/drm/nouveau/{core/engine/graph/fuc/hubnvd7.fuc.h => nvkm/engine/graph/fuc/hubnvd7.fuc3.h} (100%)
 rename drivers/gpu/drm/nouveau/{core/engine/graph/fuc/hubnve0.fuc => nvkm/engine/graph/fuc/hubnve0.fuc3} (100%)
 rename drivers/gpu/drm/nouveau/{core/engine/graph/fuc/hubnve0.fuc.h => nvkm/engine/graph/fuc/hubnve0.fuc3.h} (100%)
 rename drivers/gpu/drm/nouveau/{core/engine/graph/fuc/hubnvf0.fuc => nvkm/engine/graph/fuc/hubnvf0.fuc3} (100%)
 rename drivers/gpu/drm/nouveau/{core/engine/graph/fuc/hubnvf0.fuc.h => nvkm/engine/graph/fuc/hubnvf0.fuc3.h} (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/fuc/macros.fuc (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/fuc/os.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/gk110b.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/gk20a.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/gm107.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nv10.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nv108.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nv20.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nv20.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nv25.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nv2a.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nv30.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nv34.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nv35.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nv40.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nv40.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nv50.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nvc0.c (99%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nvc0.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nvc1.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nvc4.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nvc8.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nvd7.c (98%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nvd9.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nve4.c (99%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/nvf0.c (99%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/graph/regs.h (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/mpeg/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/mpeg/nv31.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/mpeg/nv31.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/mpeg/nv40.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/mpeg/nv44.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/mpeg/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/mpeg/nv84.c (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/perfmon/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/perfmon/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/perfmon/daemon.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/perfmon/nv40.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/perfmon/nv40.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/perfmon/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/perfmon/nv84.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/perfmon/nva3.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/perfmon/nvc0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/perfmon/nvc0.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/perfmon/nve0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/perfmon/nvf0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/perfmon/priv.h (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/ppp/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/ppp/nv98.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/ppp/nvc0.c (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/software/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/software/nv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/software/nv10.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/software/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/software/nv50.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/software/nvc0.c (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/vp/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/vp/nv84.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/vp/nv98.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/vp/nvc0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/vp/nve0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/engine/xtensa.c (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/Kbuild
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/bar/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bar/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bar/gk20a.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bar/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bar/nvc0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bar/priv.h (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/bios/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/M0203.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/M0205.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/M0209.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/P0260.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/bit.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/boost.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/conn.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/cstep.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/dcb.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/disp.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/dp.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/extdev.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/fan.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/gpio.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/i2c.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/image.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/init.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/mxm.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/npde.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/pcir.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/perf.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/pll.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/pmu.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/priv.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/ramcfg.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/rammap.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/shadow.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/shadowacpi.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/shadowof.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/shadowpci.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/shadowramin.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/shadowrom.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/therm.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/timing.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/vmap.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/volt.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bios/xpio.c (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/bus/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bus/hwsq.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bus/hwsq.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bus/nv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bus/nv04.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bus/nv31.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bus/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bus/nv94.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/bus/nvc0.c (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/clock/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/clock/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/clock/gk20a.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/clock/nv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/clock/nv40.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/clock/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/clock/nv50.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/clock/nv84.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/clock/nva3.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/clock/nva3.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/clock/nvaa.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/clock/nvc0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/clock/nve0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/clock/pll.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/clock/pllnv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/clock/pllnva3.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/clock/seq.h (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/devinit/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/fbmem.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/gm107.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/gm204.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/nv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/nv04.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/nv05.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/nv10.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/nv1a.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/nv20.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/nv50.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/nv84.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/nv98.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/nva3.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/nvaf.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/nvc0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/devinit/priv.h (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fb/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/gddr3.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/gddr5.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/gk20a.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/gm107.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv04.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv10.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv1a.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv20.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv25.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv30.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv35.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv36.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv40.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv40.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv41.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv44.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv46.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv47.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv49.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv4e.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv50.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nv84.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nva3.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nvaa.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nvaf.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nvc0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nvc0.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/nve0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/priv.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramfuc.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramgk20a.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramgm107.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramnv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramnv10.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramnv1a.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramnv20.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramnv40.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramnv41.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramnv44.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramnv49.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramnv4e.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramnv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramnva3.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramnvaa.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramnvc0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramnve0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/ramseq.h (100%)
 rename drivers/gpu/drm/nouveau/{core/include => nvkm}/subdev/fb/regsnv04.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/sddr2.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fb/sddr3.c (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/fuse/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fuse/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fuse/g80.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fuse/gf100.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fuse/gm107.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/fuse/priv.h (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/gpio/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/gpio/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/gpio/nv10.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/gpio/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/gpio/nv94.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/gpio/nvd0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/gpio/nve0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/gpio/priv.h (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/i2c/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/anx9805.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/aux.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/bit.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/gf117.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/gm204.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/nv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/nv4e.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/nv50.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/nv94.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/nvd0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/nve0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/pad.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/pad.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/padgm204.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/padnv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/padnv94.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/port.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/i2c/priv.h (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/ibus/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/ibus/gk20a.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/ibus/nvc0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/ibus/nve0.c (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/instmem/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/instmem/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/instmem/nv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/instmem/nv04.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/instmem/nv40.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/instmem/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/instmem/priv.h (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/ltc/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/ltc/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/ltc/gf100.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/ltc/gk104.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/ltc/gm107.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/ltc/priv.h (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/mc/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/mc/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/mc/gk20a.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/mc/nv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/mc/nv04.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/mc/nv40.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/mc/nv44.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/mc/nv4c.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/mc/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/mc/nv94.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/mc/nv98.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/mc/nvc0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/mc/nvc3.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/mc/priv.h (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/mxm/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/mxm/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/mxm/mxms.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/mxm/mxms.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/mxm/nv50.c (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/pwr/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/fuc/arith.fuc (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/fuc/host.fuc (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/fuc/i2c_.fuc (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/fuc/idle.fuc (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/fuc/kernel.fuc (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/fuc/macros.fuc (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/fuc/memx.fuc (100%)
 rename drivers/gpu/drm/nouveau/{core/subdev/pwr/fuc/nv108.fuc => nvkm/subdev/pwr/fuc/nv108.fuc5} (100%)
 rename drivers/gpu/drm/nouveau/{core/subdev/pwr/fuc/nv108.fuc.h => nvkm/subdev/pwr/fuc/nv108.fuc5.h} (100%)
 rename drivers/gpu/drm/nouveau/{core/subdev/pwr/fuc/nva3.fuc => nvkm/subdev/pwr/fuc/nva3.fuc3} (100%)
 rename drivers/gpu/drm/nouveau/{core/subdev/pwr/fuc/nva3.fuc.h => nvkm/subdev/pwr/fuc/nva3.fuc3.h} (100%)
 rename drivers/gpu/drm/nouveau/{core/subdev/pwr/fuc/nvc0.fuc => nvkm/subdev/pwr/fuc/nvc0.fuc3} (100%)
 rename drivers/gpu/drm/nouveau/{core/subdev/pwr/fuc/nvc0.fuc.h => nvkm/subdev/pwr/fuc/nvc0.fuc3.h} (100%)
 rename drivers/gpu/drm/nouveau/{core/subdev/pwr/fuc/nvd0.fuc => nvkm/subdev/pwr/fuc/nvd0.fuc4} (100%)
 rename drivers/gpu/drm/nouveau/{core/subdev/pwr/fuc/nvd0.fuc.h => nvkm/subdev/pwr/fuc/nvd0.fuc4.h} (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/fuc/os.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/fuc/perf.fuc (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/fuc/test.fuc (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/gk104.c (98%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/gk20a.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/memx.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/nv108.c (98%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/nva3.c (98%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/nvc0.c (98%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/nvd0.c (98%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/pwr/priv.h (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/therm/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/therm/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/therm/fan.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/therm/fannil.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/therm/fanpwm.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/therm/fantog.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/therm/gm107.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/therm/ic.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/therm/nv40.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/therm/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/therm/nv84.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/therm/nva3.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/therm/nvd0.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/therm/priv.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/therm/temp.c (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/timer/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/timer/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/timer/gk20a.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/timer/nv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/timer/nv04.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/timer/priv.h (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/vm/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/vm/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/vm/nv04.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/vm/nv04.h (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/vm/nv41.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/vm/nv44.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/vm/nv50.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/vm/nvc0.c (100%)
 create mode 100644 drivers/gpu/drm/nouveau/nvkm/subdev/volt/Kbuild
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/volt/base.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/volt/gk20a.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/volt/gpio.c (100%)
 rename drivers/gpu/drm/nouveau/{core => nvkm}/subdev/volt/nv40.c (100%)

diff --git a/drivers/gpu/drm/nouveau/Kbuild b/drivers/gpu/drm/nouveau/Kbuild
new file mode 100644
index 0000000000000..2b765663c1a3f
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/Makefile b/drivers/gpu/drm/nouveau/Makefile
deleted file mode 100644
index 1febf6ec0b697..0000000000000
--- a/drivers/gpu/drm/nouveau/Makefile
+++ /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/drivers/gpu/drm/nouveau/core/include/nvif/class.h b/drivers/gpu/drm/nouveau/core/include/nvif/class.h
deleted file mode 120000
index f1ac4859edd44..0000000000000
--- a/drivers/gpu/drm/nouveau/core/include/nvif/class.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../nvif/class.h
\ No newline at end of file
diff --git a/drivers/gpu/drm/nouveau/core/include/nvif/event.h b/drivers/gpu/drm/nouveau/core/include/nvif/event.h
deleted file mode 120000
index 1b798538a7252..0000000000000
--- a/drivers/gpu/drm/nouveau/core/include/nvif/event.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../nvif/event.h
\ No newline at end of file
diff --git a/drivers/gpu/drm/nouveau/core/include/nvif/ioctl.h b/drivers/gpu/drm/nouveau/core/include/nvif/ioctl.h
deleted file mode 120000
index 8569c86907c54..0000000000000
--- a/drivers/gpu/drm/nouveau/core/include/nvif/ioctl.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../nvif/ioctl.h
\ No newline at end of file
diff --git a/drivers/gpu/drm/nouveau/core/include/nvif/unpack.h b/drivers/gpu/drm/nouveau/core/include/nvif/unpack.h
deleted file mode 120000
index 69d99292bca4b..0000000000000
--- a/drivers/gpu/drm/nouveau/core/include/nvif/unpack.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../nvif/unpack.h
\ No newline at end of file
diff --git a/drivers/gpu/drm/nouveau/dispnv04/Makefile b/drivers/gpu/drm/nouveau/dispnv04/Kbuild
similarity index 100%
rename from drivers/gpu/drm/nouveau/dispnv04/Makefile
rename to drivers/gpu/drm/nouveau/dispnv04/Kbuild
diff --git a/drivers/gpu/drm/nouveau/nvif/class.h b/drivers/gpu/drm/nouveau/include/nvif/class.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/nvif/class.h
rename to drivers/gpu/drm/nouveau/include/nvif/class.h
diff --git a/drivers/gpu/drm/nouveau/nvif/client.h b/drivers/gpu/drm/nouveau/include/nvif/client.h
similarity index 97%
rename from drivers/gpu/drm/nouveau/nvif/client.h
rename to drivers/gpu/drm/nouveau/include/nvif/client.h
index 28352f0882ec2..8b0048426ee5e 100644
--- a/drivers/gpu/drm/nouveau/nvif/client.h
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/nvif/device.h b/drivers/gpu/drm/nouveau/include/nvif/device.h
similarity index 97%
rename from drivers/gpu/drm/nouveau/nvif/device.h
rename to drivers/gpu/drm/nouveau/include/nvif/device.h
index 43180f9fe630d..4aa1b93a8cd4f 100644
--- a/drivers/gpu/drm/nouveau/nvif/device.h
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/nvif/driver.h b/drivers/gpu/drm/nouveau/include/nvif/driver.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/nvif/driver.h
rename to drivers/gpu/drm/nouveau/include/nvif/driver.h
diff --git a/drivers/gpu/drm/nouveau/nvif/event.h b/drivers/gpu/drm/nouveau/include/nvif/event.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/nvif/event.h
rename to drivers/gpu/drm/nouveau/include/nvif/event.h
diff --git a/drivers/gpu/drm/nouveau/nvif/ioctl.h b/drivers/gpu/drm/nouveau/include/nvif/ioctl.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/nvif/ioctl.h
rename to drivers/gpu/drm/nouveau/include/nvif/ioctl.h
diff --git a/drivers/gpu/drm/nouveau/nvif/list.h b/drivers/gpu/drm/nouveau/include/nvif/list.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/nvif/list.h
rename to drivers/gpu/drm/nouveau/include/nvif/list.h
diff --git a/drivers/gpu/drm/nouveau/nvif/notify.h b/drivers/gpu/drm/nouveau/include/nvif/notify.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/nvif/notify.h
rename to drivers/gpu/drm/nouveau/include/nvif/notify.h
diff --git a/drivers/gpu/drm/nouveau/nvif/object.h b/drivers/gpu/drm/nouveau/include/nvif/object.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/nvif/object.h
rename to drivers/gpu/drm/nouveau/include/nvif/object.h
diff --git a/drivers/gpu/drm/nouveau/core/os.h b/drivers/gpu/drm/nouveau/include/nvif/os.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/os.h
rename to drivers/gpu/drm/nouveau/include/nvif/os.h
diff --git a/drivers/gpu/drm/nouveau/nvif/unpack.h b/drivers/gpu/drm/nouveau/include/nvif/unpack.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/nvif/unpack.h
rename to drivers/gpu/drm/nouveau/include/nvif/unpack.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/client.h b/drivers/gpu/drm/nouveau/include/nvkm/core/client.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/client.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/client.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/debug.h b/drivers/gpu/drm/nouveau/include/nvkm/core/debug.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/debug.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/debug.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/device.h b/drivers/gpu/drm/nouveau/include/nvkm/core/device.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/device.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/device.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/engctx.h b/drivers/gpu/drm/nouveau/include/nvkm/core/engctx.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/engctx.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/engctx.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/engine.h b/drivers/gpu/drm/nouveau/include/nvkm/core/engine.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/engine.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/engine.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/enum.h b/drivers/gpu/drm/nouveau/include/nvkm/core/enum.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/enum.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/enum.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/event.h b/drivers/gpu/drm/nouveau/include/nvkm/core/event.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/event.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/event.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/gpuobj.h b/drivers/gpu/drm/nouveau/include/nvkm/core/gpuobj.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/gpuobj.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/gpuobj.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/handle.h b/drivers/gpu/drm/nouveau/include/nvkm/core/handle.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/handle.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/handle.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/ioctl.h b/drivers/gpu/drm/nouveau/include/nvkm/core/ioctl.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/ioctl.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/ioctl.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/mm.h b/drivers/gpu/drm/nouveau/include/nvkm/core/mm.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/mm.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/mm.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/namedb.h b/drivers/gpu/drm/nouveau/include/nvkm/core/namedb.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/namedb.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/namedb.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/notify.h b/drivers/gpu/drm/nouveau/include/nvkm/core/notify.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/notify.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/notify.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/object.h b/drivers/gpu/drm/nouveau/include/nvkm/core/object.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/object.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/object.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/option.h b/drivers/gpu/drm/nouveau/include/nvkm/core/option.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/option.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/option.h
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/core/os.h b/drivers/gpu/drm/nouveau/include/nvkm/core/os.h
new file mode 100644
index 0000000000000..cd57e238ddd34
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/include/core/parent.h b/drivers/gpu/drm/nouveau/include/nvkm/core/parent.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/parent.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/parent.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/printk.h b/drivers/gpu/drm/nouveau/include/nvkm/core/printk.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/printk.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/printk.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/ramht.h b/drivers/gpu/drm/nouveau/include/nvkm/core/ramht.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/ramht.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/ramht.h
diff --git a/drivers/gpu/drm/nouveau/core/include/core/subdev.h b/drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/core/subdev.h
rename to drivers/gpu/drm/nouveau/include/nvkm/core/subdev.h
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/bsp.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/bsp.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/engine/bsp.h
rename to drivers/gpu/drm/nouveau/include/nvkm/engine/bsp.h
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/copy.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/copy.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/engine/copy.h
rename to drivers/gpu/drm/nouveau/include/nvkm/engine/copy.h
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/crypt.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/crypt.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/engine/crypt.h
rename to drivers/gpu/drm/nouveau/include/nvkm/engine/crypt.h
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/device.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/device.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/engine/device.h
rename to drivers/gpu/drm/nouveau/include/nvkm/engine/device.h
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/disp.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/disp.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/engine/disp.h
rename to drivers/gpu/drm/nouveau/include/nvkm/engine/disp.h
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/dmaobj.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/dmaobj.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/engine/dmaobj.h
rename to drivers/gpu/drm/nouveau/include/nvkm/engine/dmaobj.h
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/falcon.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/falcon.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/engine/falcon.h
rename to drivers/gpu/drm/nouveau/include/nvkm/engine/falcon.h
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/fifo.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/engine/fifo.h
rename to drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/graph.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/graph.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/engine/graph.h
rename to drivers/gpu/drm/nouveau/include/nvkm/engine/graph.h
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/mpeg.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/mpeg.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/engine/mpeg.h
rename to drivers/gpu/drm/nouveau/include/nvkm/engine/mpeg.h
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/perfmon.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/perfmon.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/engine/perfmon.h
rename to drivers/gpu/drm/nouveau/include/nvkm/engine/perfmon.h
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/ppp.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/ppp.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/engine/ppp.h
rename to drivers/gpu/drm/nouveau/include/nvkm/engine/ppp.h
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/software.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/software.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/engine/software.h
rename to drivers/gpu/drm/nouveau/include/nvkm/engine/software.h
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/vp.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/vp.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/engine/vp.h
rename to drivers/gpu/drm/nouveau/include/nvkm/engine/vp.h
diff --git a/drivers/gpu/drm/nouveau/core/include/engine/xtensa.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/xtensa.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/engine/xtensa.h
rename to drivers/gpu/drm/nouveau/include/nvkm/engine/xtensa.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bar.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bar.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bar.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bar.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/M0203.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/M0203.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/M0203.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/M0203.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/M0205.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/M0205.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/M0205.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/M0205.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/M0209.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/M0209.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/M0209.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/M0209.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/P0260.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/P0260.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/P0260.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/P0260.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/bit.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/bit.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/bit.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/bit.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/bmp.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/bmp.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/bmp.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/bmp.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/boost.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/boost.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/boost.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/boost.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/conn.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/conn.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/cstep.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/cstep.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/cstep.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/cstep.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/dcb.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/dcb.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/dcb.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/dcb.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/disp.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/disp.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/disp.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/disp.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/dp.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/dp.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/dp.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/dp.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/extdev.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/extdev.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/extdev.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/extdev.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/fan.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/fan.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/fan.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/fan.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/gpio.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/gpio.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/gpio.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/gpio.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/i2c.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/i2c.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/i2c.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/i2c.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/image.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/image.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/image.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/image.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/init.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/init.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/init.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/init.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/mxm.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/mxm.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/mxm.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/mxm.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/npde.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/npde.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/npde.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/npde.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/pcir.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/pcir.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/pcir.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/pcir.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/perf.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/perf.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/perf.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/perf.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/pll.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/pll.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/pll.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/pll.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/pmu.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/pmu.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/pmu.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/pmu.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/ramcfg.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/ramcfg.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/ramcfg.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/ramcfg.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/rammap.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/rammap.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/rammap.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/rammap.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/therm.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/therm.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/therm.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/therm.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/timing.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/timing.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/timing.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/timing.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/vmap.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/vmap.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/vmap.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/vmap.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/volt.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/volt.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/volt.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/volt.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bios/xpio.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/xpio.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bios/xpio.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/xpio.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/bus.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bus.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/bus.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/bus.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/clock.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/clock.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/clock.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/clock.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/devinit.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/devinit.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/devinit.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/devinit.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/fb.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/fb.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/fuse.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/fuse.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/fuse.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/fuse.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/gpio.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/gpio.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/gpio.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/gpio.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/i2c.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/i2c.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/i2c.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/i2c.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/ibus.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/ibus.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/ibus.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/ibus.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/instmem.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/instmem.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/instmem.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/instmem.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/ltc.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/ltc.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/ltc.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/ltc.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/mc.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/mc.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/mc.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/mc.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/mxm.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/mxm.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/mxm.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/mxm.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/pwr.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/pwr.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/pwr.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/pwr.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/therm.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/therm.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/therm.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/therm.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/timer.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/timer.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/timer.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/timer.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/vga.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/vga.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/vga.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/vga.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/vm.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/vm.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/vm.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/vm.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/volt.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/volt.h
rename to drivers/gpu/drm/nouveau/include/nvkm/subdev/volt.h
diff --git a/drivers/gpu/drm/nouveau/nouveau_ttm.c b/drivers/gpu/drm/nouveau/nouveau_ttm.c
index 3d1cfcb96b6bf..2e0d1d998ca67 100644
--- a/drivers/gpu/drm/nouveau/nouveau_ttm.c
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/nvif/Kbuild b/drivers/gpu/drm/nouveau/nvif/Kbuild
new file mode 100644
index 0000000000000..ff8ed3a04d064
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/nvif/client.c b/drivers/gpu/drm/nouveau/nvif/client.c
index 3f7ac5bc8e039..80b96844221e1 100644
--- a/drivers/gpu/drm/nouveau/nvif/client.c
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/nvif/device.c b/drivers/gpu/drm/nouveau/nvif/device.c
index f477579725e3e..6f72244c52cd8 100644
--- a/drivers/gpu/drm/nouveau/nvif/device.c
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/nvif/object.c b/drivers/gpu/drm/nouveau/nvif/object.c
index dd85b56f6aa50..3ab4e2f8cc12e 100644
--- a/drivers/gpu/drm/nouveau/nvif/object.c
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/nvif/os.h b/drivers/gpu/drm/nouveau/nvif/os.h
deleted file mode 120000
index bd744b2cf5cfa..0000000000000
--- a/drivers/gpu/drm/nouveau/nvif/os.h
+++ /dev/null
@@ -1 +0,0 @@
-../core/os.h
\ No newline at end of file
diff --git a/drivers/gpu/drm/nouveau/nvkm/Kbuild b/drivers/gpu/drm/nouveau/nvkm/Kbuild
new file mode 100644
index 0000000000000..2832147b676c3
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/nvkm/core/Kbuild b/drivers/gpu/drm/nouveau/nvkm/core/Kbuild
new file mode 100644
index 0000000000000..a2bdb20691132
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/core/client.c b/drivers/gpu/drm/nouveau/nvkm/core/client.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/core/client.c
rename to drivers/gpu/drm/nouveau/nvkm/core/client.c
diff --git a/drivers/gpu/drm/nouveau/core/core/engctx.c b/drivers/gpu/drm/nouveau/nvkm/core/engctx.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/core/engctx.c
rename to drivers/gpu/drm/nouveau/nvkm/core/engctx.c
diff --git a/drivers/gpu/drm/nouveau/core/core/engine.c b/drivers/gpu/drm/nouveau/nvkm/core/engine.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/core/engine.c
rename to drivers/gpu/drm/nouveau/nvkm/core/engine.c
diff --git a/drivers/gpu/drm/nouveau/core/core/enum.c b/drivers/gpu/drm/nouveau/nvkm/core/enum.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/core/enum.c
rename to drivers/gpu/drm/nouveau/nvkm/core/enum.c
diff --git a/drivers/gpu/drm/nouveau/core/core/event.c b/drivers/gpu/drm/nouveau/nvkm/core/event.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/core/event.c
rename to drivers/gpu/drm/nouveau/nvkm/core/event.c
diff --git a/drivers/gpu/drm/nouveau/core/core/gpuobj.c b/drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/core/gpuobj.c
rename to drivers/gpu/drm/nouveau/nvkm/core/gpuobj.c
diff --git a/drivers/gpu/drm/nouveau/core/core/handle.c b/drivers/gpu/drm/nouveau/nvkm/core/handle.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/core/handle.c
rename to drivers/gpu/drm/nouveau/nvkm/core/handle.c
diff --git a/drivers/gpu/drm/nouveau/core/core/ioctl.c b/drivers/gpu/drm/nouveau/nvkm/core/ioctl.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/core/ioctl.c
rename to drivers/gpu/drm/nouveau/nvkm/core/ioctl.c
diff --git a/drivers/gpu/drm/nouveau/core/core/mm.c b/drivers/gpu/drm/nouveau/nvkm/core/mm.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/core/mm.c
rename to drivers/gpu/drm/nouveau/nvkm/core/mm.c
diff --git a/drivers/gpu/drm/nouveau/core/core/namedb.c b/drivers/gpu/drm/nouveau/nvkm/core/namedb.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/core/namedb.c
rename to drivers/gpu/drm/nouveau/nvkm/core/namedb.c
diff --git a/drivers/gpu/drm/nouveau/core/core/notify.c b/drivers/gpu/drm/nouveau/nvkm/core/notify.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/core/notify.c
rename to drivers/gpu/drm/nouveau/nvkm/core/notify.c
diff --git a/drivers/gpu/drm/nouveau/core/core/object.c b/drivers/gpu/drm/nouveau/nvkm/core/object.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/core/object.c
rename to drivers/gpu/drm/nouveau/nvkm/core/object.c
diff --git a/drivers/gpu/drm/nouveau/core/core/option.c b/drivers/gpu/drm/nouveau/nvkm/core/option.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/core/option.c
rename to drivers/gpu/drm/nouveau/nvkm/core/option.c
diff --git a/drivers/gpu/drm/nouveau/core/core/parent.c b/drivers/gpu/drm/nouveau/nvkm/core/parent.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/core/parent.c
rename to drivers/gpu/drm/nouveau/nvkm/core/parent.c
diff --git a/drivers/gpu/drm/nouveau/core/core/printk.c b/drivers/gpu/drm/nouveau/nvkm/core/printk.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/core/printk.c
rename to drivers/gpu/drm/nouveau/nvkm/core/printk.c
diff --git a/drivers/gpu/drm/nouveau/core/core/ramht.c b/drivers/gpu/drm/nouveau/nvkm/core/ramht.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/core/ramht.c
rename to drivers/gpu/drm/nouveau/nvkm/core/ramht.c
diff --git a/drivers/gpu/drm/nouveau/core/core/subdev.c b/drivers/gpu/drm/nouveau/nvkm/core/subdev.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/core/subdev.c
rename to drivers/gpu/drm/nouveau/nvkm/core/subdev.c
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/Kbuild
new file mode 100644
index 0000000000000..ebd30be3a62d4
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/nvkm/engine/bsp/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/bsp/Kbuild
new file mode 100644
index 0000000000000..da54c5610a675
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/bsp/nv84.c b/drivers/gpu/drm/nouveau/nvkm/engine/bsp/nv84.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/bsp/nv84.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/bsp/nv84.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/bsp/nv98.c b/drivers/gpu/drm/nouveau/nvkm/engine/bsp/nv98.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/bsp/nv98.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/bsp/nv98.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/bsp/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/engine/bsp/nvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/bsp/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/bsp/nvc0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/bsp/nve0.c b/drivers/gpu/drm/nouveau/nvkm/engine/bsp/nve0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/bsp/nve0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/bsp/nve0.c
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/copy/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/copy/Kbuild
new file mode 100644
index 0000000000000..d8aa5edba7260
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/copy/fuc/nva3.fuc b/drivers/gpu/drm/nouveau/nvkm/engine/copy/fuc/com.fuc
similarity index 99%
rename from drivers/gpu/drm/nouveau/core/engine/copy/fuc/nva3.fuc
rename to drivers/gpu/drm/nouveau/nvkm/engine/copy/fuc/com.fuc
index 219850d53286c..33b67dc711ac7 100644
--- a/drivers/gpu/drm/nouveau/core/engine/copy/fuc/nva3.fuc
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/nvkm/engine/copy/fuc/nva3.fuc3 b/drivers/gpu/drm/nouveau/nvkm/engine/copy/fuc/nva3.fuc3
new file mode 100644
index 0000000000000..e670620227e7f
--- /dev/null
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/copy/fuc/nva3.fuc3
@@ -0,0 +1,2 @@
+#define NVA3
+#include "com.fuc"
diff --git a/drivers/gpu/drm/nouveau/core/engine/copy/fuc/nva3.fuc.h b/drivers/gpu/drm/nouveau/nvkm/engine/copy/fuc/nva3.fuc3.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/copy/fuc/nva3.fuc.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/copy/fuc/nva3.fuc3.h
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/copy/fuc/nvc0.fuc3 b/drivers/gpu/drm/nouveau/nvkm/engine/copy/fuc/nvc0.fuc3
new file mode 100644
index 0000000000000..df6866c34e161
--- /dev/null
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/copy/fuc/nvc0.fuc3
@@ -0,0 +1,2 @@
+#define NVC0
+#include "com.fuc"
diff --git a/drivers/gpu/drm/nouveau/core/engine/copy/fuc/nvc0.fuc.h b/drivers/gpu/drm/nouveau/nvkm/engine/copy/fuc/nvc0.fuc3.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/copy/fuc/nvc0.fuc.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/copy/fuc/nvc0.fuc3.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/copy/nva3.c b/drivers/gpu/drm/nouveau/nvkm/engine/copy/nva3.c
similarity index 99%
rename from drivers/gpu/drm/nouveau/core/engine/copy/nva3.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/copy/nva3.c
index abb410ef09eab..13c05e09ff873 100644
--- a/drivers/gpu/drm/nouveau/core/engine/copy/nva3.c
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/copy/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/engine/copy/nvc0.c
similarity index 99%
rename from drivers/gpu/drm/nouveau/core/engine/copy/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/copy/nvc0.c
index 20a8cd7f77309..abe324993eaf3 100644
--- a/drivers/gpu/drm/nouveau/core/engine/copy/nvc0.c
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/copy/nve0.c b/drivers/gpu/drm/nouveau/nvkm/engine/copy/nve0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/copy/nve0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/copy/nve0.c
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/crypt/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/crypt/Kbuild
new file mode 100644
index 0000000000000..eaeafdf3bc817
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/crypt/fuc/nv98.fuc b/drivers/gpu/drm/nouveau/nvkm/engine/crypt/fuc/nv98.fuc0s
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/crypt/fuc/nv98.fuc
rename to drivers/gpu/drm/nouveau/nvkm/engine/crypt/fuc/nv98.fuc0s
diff --git a/drivers/gpu/drm/nouveau/core/engine/crypt/fuc/nv98.fuc.h b/drivers/gpu/drm/nouveau/nvkm/engine/crypt/fuc/nv98.fuc0s.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/crypt/fuc/nv98.fuc.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/crypt/fuc/nv98.fuc0s.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/crypt/nv84.c b/drivers/gpu/drm/nouveau/nvkm/engine/crypt/nv84.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/crypt/nv84.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/crypt/nv84.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/crypt/nv98.c b/drivers/gpu/drm/nouveau/nvkm/engine/crypt/nv98.c
similarity index 99%
rename from drivers/gpu/drm/nouveau/core/engine/crypt/nv98.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/crypt/nv98.c
index 5571c09534cb6..e0838c46ec177 100644
--- a/drivers/gpu/drm/nouveau/core/engine/crypt/nv98.c
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/nvkm/engine/device/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/device/Kbuild
new file mode 100644
index 0000000000000..77d06d46eff46
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/device/acpi.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/acpi.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/device/acpi.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/device/acpi.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/device/acpi.h b/drivers/gpu/drm/nouveau/nvkm/engine/device/acpi.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/device/acpi.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/device/acpi.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/device/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/device/base.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/device/ctrl.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/ctrl.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/device/ctrl.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/device/ctrl.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/device/gm100.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/device/gm100.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/device/nv04.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/nv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/device/nv04.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/device/nv04.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/device/nv10.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/nv10.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/device/nv10.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/device/nv10.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/device/nv20.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/nv20.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/device/nv20.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/device/nv20.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/device/nv30.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/nv30.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/device/nv30.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/device/nv30.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/device/nv40.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/nv40.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/device/nv40.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/device/nv40.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/device/nv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/device/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/device/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/device/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/nvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/device/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/device/nvc0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/device/nve0.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/nve0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/device/nve0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/device/nve0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/device/priv.h b/drivers/gpu/drm/nouveau/nvkm/engine/device/priv.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/device/priv.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/device/priv.h
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild
new file mode 100644
index 0000000000000..50bd1e2bb8fac
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/disp/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/base.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/base.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/conn.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/conn.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/conn.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/conn.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/conn.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/dacnv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/dacnv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/dacnv50.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/dacnv50.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/dport.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/dport.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/dport.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/dport.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/dport.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/dport.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/dport.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/dport.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/gm107.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/gm107.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/gm204.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/gm204.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/gm204.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/gm204.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/hdanva3.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdanva3.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/hdanva3.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/hdanva3.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/hdanvd0.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdanvd0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/hdanvd0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/hdanvd0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/hdminv84.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdminv84.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/hdminv84.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/hdminv84.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/hdminva3.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdminva3.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/hdminva3.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/hdminva3.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/hdminvd0.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdminvd0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/hdminvd0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/hdminvd0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/hdminve0.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdminve0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/hdminve0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/hdminve0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nv04.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/nv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/nv04.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/nv04.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/nv50.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nv84.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/nv84.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/nv84.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/nv84.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nv94.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/nv94.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/nv94.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/nv94.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nva0.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/nva0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/nva0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/nva0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nva3.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/nva3.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/nva3.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/nva3.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nvd0.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/nvd0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/nvd0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/nvd0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nve0.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/nve0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/nve0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/nve0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nvf0.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/nvf0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/nvf0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/nvf0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/outp.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/outp.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/outp.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/outp.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/outpdp.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/outpdp.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/outpdp.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/outpdp.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/outpdp.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/outpdp.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/outpdp.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/outpdp.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/piornv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/piornv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/piornv50.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/piornv50.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/priv.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/priv.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/priv.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/priv.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/sorgm204.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm204.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/sorgm204.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm204.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/sornv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sornv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/sornv50.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/sornv50.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/sornv94.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sornv94.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/sornv94.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/sornv94.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/sornvd0.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sornvd0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/sornvd0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/sornvd0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/vga.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/vga.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/disp/vga.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/disp/vga.c
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/Kbuild
new file mode 100644
index 0000000000000..4f9286a038eff
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/dmaobj/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/dmaobj/base.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/base.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/dmaobj/nv04.c b/drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/nv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/dmaobj/nv04.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/nv04.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/dmaobj/nv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/dmaobj/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/dmaobj/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/nvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/dmaobj/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/nvc0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/dmaobj/nvd0.c b/drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/nvd0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/dmaobj/nvd0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/nvd0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/dmaobj/priv.h b/drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/priv.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/dmaobj/priv.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/dmaobj/priv.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/falcon.c b/drivers/gpu/drm/nouveau/nvkm/engine/falcon.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/falcon.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/falcon.c
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/Kbuild
new file mode 100644
index 0000000000000..f38820faf44f8
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/fifo/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/fifo/base.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/gk20a.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk20a.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/fifo/gk20a.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk20a.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nv04.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/fifo/nv04.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nv04.h b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/fifo/nv04.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nv10.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv10.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/fifo/nv10.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv10.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nv108.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv108.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/fifo/nv108.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv108.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nv17.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv17.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/fifo/nv17.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv17.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nv40.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv40.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/fifo/nv40.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv40.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/fifo/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nv50.h b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv50.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/fifo/nv50.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv50.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nv84.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv84.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/fifo/nv84.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv84.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/fifo/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/fifo/nvc0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nve0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/fifo/nve0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/fifo/nve0.h b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nve0.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/fifo/nve0.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/fifo/nve0.h
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/graph/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/graph/Kbuild
new file mode 100644
index 0000000000000..fd56e979344b0
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/graph/ctx.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/ctx.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/ctx.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/ctx.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxgk110b.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxgk110b.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/ctxgk110b.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxgk110b.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxgk20a.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxgk20a.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/ctxgk20a.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxgk20a.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxgm107.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxgm107.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/ctxgm107.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxgm107.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnv108.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnv108.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/ctxnv108.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnv108.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnv40.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnv40.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/ctxnv50.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnv50.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnvc0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnvc0.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnvc0.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc1.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnvc1.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc1.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnvc1.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc4.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnvc4.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc4.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnvc4.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc8.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnvc8.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc8.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnvc8.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd7.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnvd7.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd7.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnvd7.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd9.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnvd9.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/ctxnvd9.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnvd9.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnve4.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnve4.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/ctxnve4.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnve4.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/ctxnvf0.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnvf0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/ctxnvf0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/ctxnvf0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/com.fuc b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/com.fuc
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/com.fuc
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/com.fuc
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpc.fuc b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpc.fuc
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpc.fuc
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpc.fuc
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcgm107.fuc5 b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcgm107.fuc5
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcgm107.fuc5
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcgm107.fuc5
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcgm107.fuc5.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcgm107.fuc5.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcgm107.fuc5.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcgm107.fuc5.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnv108.fuc5 b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnv108.fuc5
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnv108.fuc5
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnv108.fuc5
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnv108.fuc5.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnv108.fuc5.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnv108.fuc5.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnv108.fuc5.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnvc0.fuc3
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnvc0.fuc3
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnvc0.fuc3.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnvc0.fuc3.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvd7.fuc b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnvd7.fuc3
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvd7.fuc
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnvd7.fuc3
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvd7.fuc.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnvd7.fuc3.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvd7.fuc.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnvd7.fuc3.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnve0.fuc3
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnve0.fuc3
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnve0.fuc3.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnve0.fuc3.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvf0.fuc b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnvf0.fuc3
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvf0.fuc
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnvf0.fuc3
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvf0.fuc.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnvf0.fuc3.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvf0.fuc.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/gpcnvf0.fuc3.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hub.fuc b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hub.fuc
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/hub.fuc
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hub.fuc
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubgm107.fuc5 b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubgm107.fuc5
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubgm107.fuc5
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubgm107.fuc5
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubgm107.fuc5.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubgm107.fuc5.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubgm107.fuc5.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubgm107.fuc5.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5 b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnv108.fuc5
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnv108.fuc5
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnv108.fuc5.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnv108.fuc5.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnvc0.fuc3
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnvc0.fuc3
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnvc0.fuc3.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnvc0.fuc3.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnvd7.fuc3
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnvd7.fuc3
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnvd7.fuc3.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnvd7.fuc3.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnve0.fuc3
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnve0.fuc3
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnve0.fuc3.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnve0.fuc3.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnvf0.fuc3
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnvf0.fuc3
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnvf0.fuc3.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/hubnvf0.fuc3.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/macros.fuc b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/macros.fuc
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/macros.fuc
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/macros.fuc
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/fuc/os.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/os.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/fuc/os.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/fuc/os.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/gk110b.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/gk110b.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/gk110b.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/gk110b.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/gk20a.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/gk20a.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/gk20a.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/gk20a.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/gm107.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/gm107.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/gm107.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/gm107.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nv04.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nv04.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nv04.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nv10.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nv10.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nv10.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nv10.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nv108.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nv108.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nv108.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nv108.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nv20.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nv20.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nv20.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nv20.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nv20.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nv20.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nv20.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nv20.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nv25.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nv25.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nv25.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nv25.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nv2a.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nv2a.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nv2a.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nv2a.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nv30.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nv30.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nv30.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nv30.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nv34.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nv34.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nv34.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nv34.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nv35.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nv35.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nv35.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nv35.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nv40.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nv40.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nv40.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nv40.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nv40.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nv40.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nv40.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nv40.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nv50.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nv50.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nv50.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nv50.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nvc0.c
similarity index 99%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nvc0.c
index 17251e4b9e864..3e90e437dbbef 100644
--- a/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nvc0.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nvc0.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nvc0.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nvc1.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nvc1.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nvc1.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nvc1.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nvc4.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nvc4.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nvc4.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nvc4.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nvc8.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nvc8.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nvc8.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nvc8.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nvd7.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nvd7.c
similarity index 98%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nvd7.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nvd7.c
index 41e8445c7eeaa..6f9f5ede5588e 100644
--- a/drivers/gpu/drm/nouveau/core/engine/graph/nvd7.c
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/graph/nvd9.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nvd9.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nvd9.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nvd9.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/graph/nve4.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nve4.c
similarity index 99%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nve4.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nve4.c
index 0c71f5c67ae02..83a966fc5301b 100644
--- a/drivers/gpu/drm/nouveau/core/engine/graph/nve4.c
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/graph/nvf0.c b/drivers/gpu/drm/nouveau/nvkm/engine/graph/nvf0.c
similarity index 99%
rename from drivers/gpu/drm/nouveau/core/engine/graph/nvf0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/nvf0.c
index c306c0f2fc84a..73f77fa04a623 100644
--- a/drivers/gpu/drm/nouveau/core/engine/graph/nvf0.c
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/graph/regs.h b/drivers/gpu/drm/nouveau/nvkm/engine/graph/regs.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/graph/regs.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/graph/regs.h
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/Kbuild
new file mode 100644
index 0000000000000..39a045bcaf6e1
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/mpeg/nv31.c b/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv31.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/mpeg/nv31.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv31.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/mpeg/nv31.h b/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv31.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/mpeg/nv31.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv31.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/mpeg/nv40.c b/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv40.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/mpeg/nv40.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv40.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/mpeg/nv44.c b/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv44.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/mpeg/nv44.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv44.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/mpeg/nv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/mpeg/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/mpeg/nv84.c b/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv84.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/mpeg/nv84.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv84.c
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/perfmon/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/perfmon/Kbuild
new file mode 100644
index 0000000000000..d5f574c4e7b28
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/perfmon/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/perfmon/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/perfmon/base.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/perfmon/base.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/perfmon/daemon.c b/drivers/gpu/drm/nouveau/nvkm/engine/perfmon/daemon.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/perfmon/daemon.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/perfmon/daemon.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/perfmon/nv40.c b/drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nv40.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/perfmon/nv40.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nv40.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/perfmon/nv40.h b/drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nv40.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/perfmon/nv40.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nv40.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/perfmon/nv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/perfmon/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/perfmon/nv84.c b/drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nv84.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/perfmon/nv84.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nv84.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/perfmon/nva3.c b/drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nva3.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/perfmon/nva3.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nva3.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/perfmon/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/perfmon/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nvc0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/perfmon/nvc0.h b/drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nvc0.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/perfmon/nvc0.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nvc0.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/perfmon/nve0.c b/drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nve0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/perfmon/nve0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nve0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/perfmon/nvf0.c b/drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nvf0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/perfmon/nvf0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/perfmon/nvf0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h b/drivers/gpu/drm/nouveau/nvkm/engine/perfmon/priv.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/perfmon/priv.h
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/ppp/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/ppp/Kbuild
new file mode 100644
index 0000000000000..0c1de976f45dd
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/ppp/nv98.c b/drivers/gpu/drm/nouveau/nvkm/engine/ppp/nv98.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/ppp/nv98.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/ppp/nv98.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/ppp/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/engine/ppp/nvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/ppp/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/ppp/nvc0.c
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/software/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/software/Kbuild
new file mode 100644
index 0000000000000..e1332a15dc1b9
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/software/nv04.c b/drivers/gpu/drm/nouveau/nvkm/engine/software/nv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/software/nv04.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/software/nv04.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/software/nv10.c b/drivers/gpu/drm/nouveau/nvkm/engine/software/nv10.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/software/nv10.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/software/nv10.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/software/nv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/software/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/software/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/software/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/software/nv50.h b/drivers/gpu/drm/nouveau/nvkm/engine/software/nv50.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/software/nv50.h
rename to drivers/gpu/drm/nouveau/nvkm/engine/software/nv50.h
diff --git a/drivers/gpu/drm/nouveau/core/engine/software/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/engine/software/nvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/software/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/software/nvc0.c
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/vp/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/vp/Kbuild
new file mode 100644
index 0000000000000..6c1d9d1ede946
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/engine/vp/nv84.c b/drivers/gpu/drm/nouveau/nvkm/engine/vp/nv84.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/vp/nv84.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/vp/nv84.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/vp/nv98.c b/drivers/gpu/drm/nouveau/nvkm/engine/vp/nv98.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/vp/nv98.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/vp/nv98.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/vp/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/engine/vp/nvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/vp/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/vp/nvc0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/vp/nve0.c b/drivers/gpu/drm/nouveau/nvkm/engine/vp/nve0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/vp/nve0.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/vp/nve0.c
diff --git a/drivers/gpu/drm/nouveau/core/engine/xtensa.c b/drivers/gpu/drm/nouveau/nvkm/engine/xtensa.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/engine/xtensa.c
rename to drivers/gpu/drm/nouveau/nvkm/engine/xtensa.c
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/Kbuild
new file mode 100644
index 0000000000000..10ef07cf3f913
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/nvkm/subdev/bar/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/bar/Kbuild
new file mode 100644
index 0000000000000..922454f97de2a
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/bar/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bar/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bar/base.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bar/base.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bar/gk20a.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bar/gk20a.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bar/gk20a.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bar/gk20a.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bar/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bar/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bar/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bar/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bar/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bar/nvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bar/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bar/nvc0.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bar/priv.h b/drivers/gpu/drm/nouveau/nvkm/subdev/bar/priv.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bar/priv.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bar/priv.h
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/bios/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/Kbuild
new file mode 100644
index 0000000000000..64730d5e9351c
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/bios/M0203.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/M0203.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/M0203.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/M0203.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/M0205.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/M0205.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/M0205.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/M0205.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/M0209.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/M0209.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/M0209.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/M0209.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/P0260.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/P0260.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/P0260.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/P0260.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/base.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/bit.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/bit.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/bit.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/bit.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/boost.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/boost.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/boost.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/boost.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/conn.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/conn.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/conn.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/conn.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/cstep.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/cstep.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/cstep.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/cstep.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/dcb.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/dcb.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/disp.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/disp.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/disp.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/disp.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/dp.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/dp.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/dp.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/dp.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/extdev.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/extdev.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/extdev.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/extdev.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/fan.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/fan.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/fan.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/fan.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/gpio.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/gpio.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/gpio.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/gpio.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/i2c.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/i2c.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/image.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/image.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/image.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/image.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/init.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/init.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/mxm.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/mxm.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/npde.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/npde.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/npde.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/npde.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/pcir.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/pcir.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/pcir.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/pcir.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/perf.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/perf.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/perf.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/perf.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/pll.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/pll.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/pmu.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/pmu.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/pmu.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/pmu.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/priv.h b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/priv.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/priv.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/priv.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/ramcfg.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/ramcfg.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/ramcfg.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/ramcfg.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/rammap.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/rammap.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/rammap.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/rammap.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/shadow.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/shadow.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/shadowacpi.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/shadowacpi.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/shadowof.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowof.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/shadowof.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowof.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/shadowpci.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowpci.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/shadowpci.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowpci.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/shadowramin.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowramin.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/shadowramin.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowramin.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/shadowrom.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowrom.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/shadowrom.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowrom.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/therm.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/therm.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/timing.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/timing.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/timing.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/timing.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/vmap.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/vmap.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/vmap.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/vmap.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/volt.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/volt.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/volt.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/volt.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/xpio.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bios/xpio.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bios/xpio.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bios/xpio.c
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/bus/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/bus/Kbuild
new file mode 100644
index 0000000000000..633e9b4b6a3ae
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/bus/hwsq.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bus/hwsq.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bus/hwsq.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bus/hwsq.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bus/hwsq.h b/drivers/gpu/drm/nouveau/nvkm/subdev/bus/hwsq.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bus/hwsq.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bus/hwsq.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bus/nv04.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bus/nv04.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv04.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bus/nv04.h b/drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv04.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bus/nv04.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv04.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bus/nv31.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv31.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bus/nv31.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv31.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bus/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bus/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bus/nv94.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv94.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bus/nv94.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv94.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bus/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bus/nvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/bus/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/bus/nvc0.c
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/clock/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/clock/Kbuild
new file mode 100644
index 0000000000000..f0a86021fbb16
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/clock/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clock/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/clock/base.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/clock/base.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/clock/gk20a.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clock/gk20a.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/clock/gk20a.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/clock/gk20a.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/clock/nv04.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clock/nv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/clock/nv04.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/clock/nv04.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/clock/nv40.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clock/nv40.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/clock/nv40.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/clock/nv40.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/clock/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clock/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/clock/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/clock/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/clock/nv50.h b/drivers/gpu/drm/nouveau/nvkm/subdev/clock/nv50.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/clock/nv50.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/clock/nv50.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/clock/nv84.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clock/nv84.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/clock/nv84.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/clock/nv84.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/clock/nva3.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clock/nva3.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/clock/nva3.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/clock/nva3.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/clock/nva3.h b/drivers/gpu/drm/nouveau/nvkm/subdev/clock/nva3.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/clock/nva3.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/clock/nva3.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clock/nvaa.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/clock/nvaa.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/clock/nvaa.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/clock/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clock/nvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/clock/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/clock/nvc0.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/clock/nve0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clock/nve0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/clock/nve0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/clock/nve0.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/clock/pll.h b/drivers/gpu/drm/nouveau/nvkm/subdev/clock/pll.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/clock/pll.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/clock/pll.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/clock/pllnv04.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clock/pllnv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/clock/pllnv04.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/clock/pllnv04.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/clock/pllnva3.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clock/pllnva3.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/clock/pllnva3.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/clock/pllnva3.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/clock/seq.h b/drivers/gpu/drm/nouveau/nvkm/subdev/clock/seq.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/clock/seq.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/clock/seq.h
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/Kbuild
new file mode 100644
index 0000000000000..4321e285c51c3
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/devinit/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/base.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/base.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/devinit/fbmem.h b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/fbmem.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/fbmem.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/fbmem.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/devinit/gm107.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm107.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/gm107.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm107.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/devinit/gm204.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm204.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/gm204.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm204.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/devinit/nv04.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/nv04.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv04.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/devinit/nv04.h b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv04.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/nv04.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv04.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/devinit/nv05.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv05.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/nv05.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv05.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/devinit/nv10.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv10.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/nv10.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv10.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/devinit/nv1a.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv1a.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/nv1a.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv1a.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/devinit/nv20.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv20.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/nv20.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv20.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/devinit/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/devinit/nv50.h b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/nv50.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/devinit/nv84.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv84.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/nv84.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv84.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/devinit/nv98.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv98.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/nv98.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv98.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/devinit/nva3.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nva3.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/nva3.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nva3.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/devinit/nvaf.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nvaf.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/nvaf.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nvaf.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/devinit/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nvc0.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/devinit/priv.h b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/priv.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/devinit/priv.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/devinit/priv.h
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/Kbuild
new file mode 100644
index 0000000000000..bfd0166d3e1bd
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/fb/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/base.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/base.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/gddr3.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/gddr3.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/gddr3.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/gddr3.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/gddr5.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/gddr5.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/gddr5.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/gddr5.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/gk20a.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk20a.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/gk20a.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk20a.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/gm107.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm107.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/gm107.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm107.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv04.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv04.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv04.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv04.h b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv04.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv04.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv04.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv10.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv10.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv10.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv10.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv1a.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv1a.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv1a.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv1a.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv20.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv20.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv20.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv20.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv25.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv25.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv25.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv25.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv30.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv30.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv30.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv30.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv35.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv35.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv35.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv35.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv36.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv36.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv36.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv36.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv40.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv40.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv40.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv40.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv40.h b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv40.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv40.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv40.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv41.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv41.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv41.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv41.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv44.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv44.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv44.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv44.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv46.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv46.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv46.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv46.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv47.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv47.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv47.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv47.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv49.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv49.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv49.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv49.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv4e.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv4e.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv4e.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv4e.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv50.h b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv50.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv50.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv50.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nv84.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv84.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nv84.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv84.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nva3.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nva3.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nva3.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nva3.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nvaa.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nvaa.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nvaa.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nvaa.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nvaf.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nvaf.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nvaf.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nvaf.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nvc0.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nvc0.h b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nvc0.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nvc0.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nvc0.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/nve0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/nve0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/nve0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/nve0.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/priv.h b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/priv.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/priv.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/priv.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramfuc.h b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramfuc.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramfuc.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramfuc.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramgk20a.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgk20a.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramgk20a.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgk20a.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramgm107.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgm107.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramgm107.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgm107.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnv04.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramnv04.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv04.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnv10.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv10.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramnv10.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv10.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnv1a.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv1a.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramnv1a.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv1a.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnv20.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv20.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramnv20.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv20.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnv40.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv40.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramnv40.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv40.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnv41.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv41.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramnv41.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv41.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnv44.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv44.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramnv44.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv44.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnv49.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv49.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramnv49.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv49.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnv4e.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv4e.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramnv4e.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv4e.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramnv50.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv50.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnva3.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnva3.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramnva3.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnva3.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnvaa.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnvaa.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramnvaa.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnvaa.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnvc0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramnvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnvc0.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnve0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramnve0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnve0.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/ramseq.h b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramseq.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/ramseq.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramseq.h
diff --git a/drivers/gpu/drm/nouveau/core/include/subdev/fb/regsnv04.h b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/regsnv04.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/include/subdev/fb/regsnv04.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/regsnv04.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/sddr2.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/sddr2.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/sddr2.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/sddr2.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fb/sddr3.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/sddr3.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fb/sddr3.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fb/sddr3.c
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/fuse/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/fuse/Kbuild
new file mode 100644
index 0000000000000..0458bce2ceeb4
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/fuse/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fuse/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fuse/base.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fuse/base.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fuse/g80.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fuse/g80.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fuse/g80.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fuse/g80.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fuse/gf100.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fuse/gf100.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fuse/gf100.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fuse/gf100.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fuse/gm107.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fuse/gm107.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fuse/gm107.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fuse/gm107.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/fuse/priv.h b/drivers/gpu/drm/nouveau/nvkm/subdev/fuse/priv.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/fuse/priv.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/fuse/priv.h
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/Kbuild
new file mode 100644
index 0000000000000..77bc88672af6c
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/gpio/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/gpio/base.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/gpio/nv10.c b/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/nv10.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/gpio/nv10.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/gpio/nv10.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/gpio/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/gpio/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/gpio/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/gpio/nv94.c b/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/nv94.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/gpio/nv94.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/gpio/nv94.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/gpio/nvd0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/nvd0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/gpio/nvd0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/gpio/nvd0.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/gpio/nve0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/nve0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/gpio/nve0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/gpio/nve0.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/gpio/priv.h b/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/priv.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/gpio/priv.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/gpio/priv.h
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/Kbuild
new file mode 100644
index 0000000000000..cc8bd83683580
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/i2c/anx9805.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/anx9805.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/anx9805.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/anx9805.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/aux.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/aux.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/base.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/bit.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bit.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/bit.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/bit.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/gf117.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gf117.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/gf117.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gf117.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/gm204.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gm204.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/gm204.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/gm204.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/nv04.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/nv04.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv04.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/nv4e.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv4e.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/nv4e.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv4e.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/nv50.h b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv50.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/nv50.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv50.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/nv94.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv94.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/nv94.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nv94.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/nvd0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nvd0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/nvd0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nvd0.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/nve0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nve0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/nve0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/nve0.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/pad.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/pad.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/pad.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/pad.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/pad.h b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/pad.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/pad.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/pad.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/padgm204.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgm204.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/padgm204.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgm204.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/padnv04.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/padnv04.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv04.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/padnv94.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv94.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/padnv94.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padnv94.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/port.h b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/port.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/port.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/port.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/i2c/priv.h b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/priv.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/i2c/priv.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/i2c/priv.h
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/ibus/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/ibus/Kbuild
new file mode 100644
index 0000000000000..a006e535e4508
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/ibus/gk20a.c b/drivers/gpu/drm/nouveau/nvkm/subdev/ibus/gk20a.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/ibus/gk20a.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/ibus/gk20a.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/ibus/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/ibus/nvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/ibus/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/ibus/nvc0.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/ibus/nve0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/ibus/nve0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/ibus/nve0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/ibus/nve0.c
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/Kbuild
new file mode 100644
index 0000000000000..e6f35abe78797
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/instmem/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/instmem/base.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/instmem/base.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/instmem/nv04.c b/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/instmem/nv04.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv04.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/instmem/nv04.h b/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv04.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/instmem/nv04.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv04.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/instmem/nv40.c b/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv40.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/instmem/nv40.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv40.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/instmem/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/instmem/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/instmem/priv.h b/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/priv.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/instmem/priv.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/instmem/priv.h
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/Kbuild
new file mode 100644
index 0000000000000..e5df3d865f0cf
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/ltc/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/ltc/base.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/ltc/base.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/ltc/gf100.c b/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gf100.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/ltc/gf100.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gf100.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/ltc/gk104.c b/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gk104.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/ltc/gk104.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gk104.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/ltc/gm107.c b/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gm107.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/ltc/gm107.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/ltc/gm107.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/ltc/priv.h b/drivers/gpu/drm/nouveau/nvkm/subdev/ltc/priv.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/ltc/priv.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/ltc/priv.h
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mc/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/Kbuild
new file mode 100644
index 0000000000000..24b589b5001a4
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/mc/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/mc/base.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/mc/base.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/mc/gk20a.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/gk20a.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/mc/gk20a.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/mc/gk20a.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/mc/nv04.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/mc/nv04.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv04.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/mc/nv04.h b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv04.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/mc/nv04.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv04.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/mc/nv40.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv40.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/mc/nv40.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv40.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/mc/nv44.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv44.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/mc/nv44.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv44.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/mc/nv4c.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv4c.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/mc/nv4c.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv4c.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/mc/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/mc/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/mc/nv94.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv94.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/mc/nv94.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv94.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/mc/nv98.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv98.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/mc/nv98.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/mc/nv98.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/mc/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/mc/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/mc/nvc0.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/mc/nvc3.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/nvc3.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/mc/nvc3.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/mc/nvc3.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/mc/priv.h b/drivers/gpu/drm/nouveau/nvkm/subdev/mc/priv.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/mc/priv.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/mc/priv.h
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mxm/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/mxm/Kbuild
new file mode 100644
index 0000000000000..1a479e050b549
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/mxm/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/mxm/base.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/mxm/mxms.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/mxm/mxms.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/mxm/mxms.h b/drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/mxm/mxms.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/mxm/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/mxm/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/Kbuild
new file mode 100644
index 0000000000000..a664886040f4d
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/pwr/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/base.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/base.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/arith.fuc b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/arith.fuc
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/arith.fuc
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/arith.fuc
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/host.fuc b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/host.fuc
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/host.fuc
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/host.fuc
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/i2c_.fuc b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/i2c_.fuc
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/i2c_.fuc
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/i2c_.fuc
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/idle.fuc b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/idle.fuc
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/idle.fuc
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/idle.fuc
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/kernel.fuc b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/kernel.fuc
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/kernel.fuc
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/kernel.fuc
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/macros.fuc b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/macros.fuc
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/macros.fuc
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/macros.fuc
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/memx.fuc b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/memx.fuc
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/memx.fuc
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/memx.fuc
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/nv108.fuc5
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/nv108.fuc5
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/nv108.fuc5.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nv108.fuc.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/nv108.fuc5.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/nva3.fuc3
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/nva3.fuc3
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc.h b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/nva3.fuc3.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nva3.fuc.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/nva3.fuc3.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/nvc0.fuc3
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/nvc0.fuc3
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/nvc0.fuc3.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvc0.fuc.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/nvc0.fuc3.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/nvd0.fuc4
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/nvd0.fuc4
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/nvd0.fuc4.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/nvd0.fuc.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/nvd0.fuc4.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/os.h b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/os.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/os.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/os.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/perf.fuc b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/perf.fuc
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/perf.fuc
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/perf.fuc
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/test.fuc b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/test.fuc
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/fuc/test.fuc
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/fuc/test.fuc
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/gk104.c b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/gk104.c
similarity index 98%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/gk104.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/gk104.c
index d76612999b9f3..9bb419c904511 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/pwr/gk104.c
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/pwr/gk20a.c b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/gk20a.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/gk20a.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/gk20a.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/memx.c b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/memx.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/memx.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/memx.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/pwr/nv108.c b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/nv108.c
similarity index 98%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/nv108.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/nv108.c
index 04ff7c3c34e96..dacee084a6b2c 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/pwr/nv108.c
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/pwr/nva3.c b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/nva3.c
similarity index 98%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/nva3.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/nva3.c
index 998d53076b8b5..f8325a697cd83 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/pwr/nva3.c
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/pwr/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/nvc0.c
similarity index 98%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/nvc0.c
index 9a773e66efa43..669417c23f9ca 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/pwr/nvc0.c
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/pwr/nvd0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/nvd0.c
similarity index 98%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/nvd0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/nvd0.c
index 2b29be5d08ac5..d6e33d0a0544c 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/pwr/nvd0.c
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/pwr/priv.h b/drivers/gpu/drm/nouveau/nvkm/subdev/pwr/priv.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/pwr/priv.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/pwr/priv.h
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/Kbuild
new file mode 100644
index 0000000000000..9ac82070944a0
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/therm/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/therm/base.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/fan.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/fan.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/therm/fan.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/therm/fan.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/fannil.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/fannil.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/therm/fannil.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/therm/fannil.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/fanpwm.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/fanpwm.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/therm/fanpwm.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/therm/fanpwm.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/fantog.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/fantog.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/therm/fantog.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/therm/fantog.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/gm107.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gm107.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/therm/gm107.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/therm/gm107.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/ic.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/ic.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/therm/ic.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/therm/ic.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/nv40.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv40.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/therm/nv40.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv40.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/therm/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/nv84.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv84.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/therm/nv84.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/therm/nv84.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/nva3.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/nva3.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/therm/nva3.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/therm/nva3.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/nvd0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/nvd0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/therm/nvd0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/therm/nvd0.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/priv.h b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/priv.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/therm/priv.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/therm/priv.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/therm/temp.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/therm/temp.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/timer/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/timer/Kbuild
new file mode 100644
index 0000000000000..d1d38b4ba30ac
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/timer/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/timer/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/timer/base.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/timer/base.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/timer/gk20a.c b/drivers/gpu/drm/nouveau/nvkm/subdev/timer/gk20a.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/timer/gk20a.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/timer/gk20a.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/timer/nv04.c b/drivers/gpu/drm/nouveau/nvkm/subdev/timer/nv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/timer/nv04.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/timer/nv04.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/timer/nv04.h b/drivers/gpu/drm/nouveau/nvkm/subdev/timer/nv04.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/timer/nv04.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/timer/nv04.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/timer/priv.h b/drivers/gpu/drm/nouveau/nvkm/subdev/timer/priv.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/timer/priv.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/timer/priv.h
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/vm/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/vm/Kbuild
new file mode 100644
index 0000000000000..b0290c0566307
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/vm/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/vm/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/vm/base.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/vm/base.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/vm/nv04.c b/drivers/gpu/drm/nouveau/nvkm/subdev/vm/nv04.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/vm/nv04.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/vm/nv04.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/vm/nv04.h b/drivers/gpu/drm/nouveau/nvkm/subdev/vm/nv04.h
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/vm/nv04.h
rename to drivers/gpu/drm/nouveau/nvkm/subdev/vm/nv04.h
diff --git a/drivers/gpu/drm/nouveau/core/subdev/vm/nv41.c b/drivers/gpu/drm/nouveau/nvkm/subdev/vm/nv41.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/vm/nv41.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/vm/nv41.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/vm/nv44.c b/drivers/gpu/drm/nouveau/nvkm/subdev/vm/nv44.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/vm/nv44.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/vm/nv44.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/vm/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/vm/nv50.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/vm/nv50.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/vm/nv50.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/vm/nvc0.c b/drivers/gpu/drm/nouveau/nvkm/subdev/vm/nvc0.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/vm/nvc0.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/vm/nvc0.c
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/volt/Kbuild b/drivers/gpu/drm/nouveau/nvkm/subdev/volt/Kbuild
new file mode 100644
index 0000000000000..6b46ff4213a31
--- /dev/null
+++ b/drivers/gpu/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/drivers/gpu/drm/nouveau/core/subdev/volt/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/volt/base.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/volt/gk20a.c b/drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk20a.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/volt/gk20a.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/volt/gk20a.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/volt/gpio.c b/drivers/gpu/drm/nouveau/nvkm/subdev/volt/gpio.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/volt/gpio.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/volt/gpio.c
diff --git a/drivers/gpu/drm/nouveau/core/subdev/volt/nv40.c b/drivers/gpu/drm/nouveau/nvkm/subdev/volt/nv40.c
similarity index 100%
rename from drivers/gpu/drm/nouveau/core/subdev/volt/nv40.c
rename to drivers/gpu/drm/nouveau/nvkm/subdev/volt/nv40.c
-- 
GitLab