* PCOPY engine/subdev functions
  ******************************************************************************/
 
-static struct nouveau_enum nva3_copy_isr_error_name[] = {
+static const struct nouveau_enum nva3_copy_isr_error_name[] = {
        { 0x0001, "ILLEGAL_MTHD" },
        { 0x0002, "INVALID_ENUM" },
        { 0x0003, "INVALID_BITFIELD" },
 
  * PCOPY engine/subdev functions
  ******************************************************************************/
 
-static struct nouveau_enum nvc0_copy_isr_error_name[] = {
+static const struct nouveau_enum nvc0_copy_isr_error_name[] = {
        { 0x0001, "ILLEGAL_MTHD" },
        { 0x0002, "INVALID_ENUM" },
        { 0x0003, "INVALID_BITFIELD" },
 
  * PCRYPT engine/subdev functions
  ******************************************************************************/
 
-static struct nouveau_bitfield nv84_crypt_intr_mask[] = {
+static const struct nouveau_bitfield nv84_crypt_intr_mask[] = {
        { 0x00000001, "INVALID_STATE" },
        { 0x00000002, "ILLEGAL_MTHD" },
        { 0x00000004, "ILLEGAL_CLASS" },
 
  * PCRYPT engine/subdev functions
  ******************************************************************************/
 
-static struct nouveau_enum nv98_crypt_isr_error_name[] = {
+static const struct nouveau_enum nv98_crypt_isr_error_name[] = {
        { 0x0000, "ILLEGAL_MTHD" },
        { 0x0001, "INVALID_BITFIELD" },
        { 0x0002, "INVALID_ENUM" },
 
  * PFIFO engine
  ******************************************************************************/
 
-struct nouveau_enum nvc0_fifo_fault_unit[] = {
+static const struct nouveau_enum nvc0_fifo_fault_unit[] = {
        { 0x00, "PGRAPH" },
        { 0x03, "PEEPHOLE" },
        { 0x04, "BAR1" },
        {}
 };
 
-struct nouveau_enum nvc0_fifo_fault_reason[] = {
+static const struct nouveau_enum nvc0_fifo_fault_reason[] = {
        { 0x00, "PT_NOT_PRESENT" },
        { 0x01, "PT_TOO_SHORT" },
        { 0x02, "PAGE_NOT_PRESENT" },
        {}
 };
 
-struct nouveau_enum nvc0_fifo_fault_hubclient[] = {
+static const struct nouveau_enum nvc0_fifo_fault_hubclient[] = {
        { 0x01, "PCOPY0" },
        { 0x02, "PCOPY1" },
        { 0x04, "DISPATCH" },
        {}
 };
 
-struct nouveau_enum nvc0_fifo_fault_gpcclient[] = {
+static const struct nouveau_enum nvc0_fifo_fault_gpcclient[] = {
        { 0x01, "TEX" },
        { 0x0c, "ESETUP" },
        { 0x0e, "CTXCTL" },
        {}
 };
 
-struct nouveau_bitfield nvc0_fifo_subfifo_intr[] = {
+static const struct nouveau_bitfield nvc0_fifo_subfifo_intr[] = {
 /*     { 0x00008000, "" }      seen with null ib push */
        { 0x00200000, "ILLEGAL_MTHD" },
        { 0x00800000, "EMPTY_SUBC" },
 
  * PFIFO engine
  ******************************************************************************/
 
-struct nouveau_enum nve0_fifo_fault_unit[] = {
+static const struct nouveau_enum nve0_fifo_fault_unit[] = {
        {}
 };
 
-struct nouveau_enum nve0_fifo_fault_reason[] = {
+static const struct nouveau_enum nve0_fifo_fault_reason[] = {
        { 0x00, "PT_NOT_PRESENT" },
        { 0x01, "PT_TOO_SHORT" },
        { 0x02, "PAGE_NOT_PRESENT" },
        {}
 };
 
-struct nouveau_enum nve0_fifo_fault_hubclient[] = {
+static const struct nouveau_enum nve0_fifo_fault_hubclient[] = {
        {}
 };
 
-struct nouveau_enum nve0_fifo_fault_gpcclient[] = {
+static const struct nouveau_enum nve0_fifo_fault_gpcclient[] = {
        {}
 };
 
-struct nouveau_bitfield nve0_fifo_subfifo_intr[] = {
+static const struct nouveau_bitfield nve0_fifo_subfifo_intr[] = {
        { 0x00200000, "ILLEGAL_MTHD" },
        { 0x00800000, "EMPTY_SUBC" },
        {}
 
        return true;
 }
 
-static struct nouveau_bitfield
+static const struct nouveau_bitfield
 nv04_graph_intr_name[] = {
        { NV_PGRAPH_INTR_NOTIFY, "NOTIFY" },
        {}
 };
 
-static struct nouveau_bitfield
+static const struct nouveau_bitfield
 nv04_graph_nstatus[] = {
        { NV04_PGRAPH_NSTATUS_STATE_IN_USE,       "STATE_IN_USE" },
        { NV04_PGRAPH_NSTATUS_INVALID_STATE,      "INVALID_STATE" },
        {}
 };
 
-struct nouveau_bitfield
+const struct nouveau_bitfield
 nv04_graph_nsource[] = {
        { NV03_PGRAPH_NSOURCE_NOTIFICATION,       "NOTIFICATION" },
        { NV03_PGRAPH_NSOURCE_DATA_ERROR,         "DATA_ERROR" },
 
        pfifo->start(pfifo, &flags);
 }
 
-struct nouveau_bitfield nv10_graph_intr_name[] = {
+const struct nouveau_bitfield nv10_graph_intr_name[] = {
        { NV_PGRAPH_INTR_NOTIFY, "NOTIFY" },
        { NV_PGRAPH_INTR_ERROR,  "ERROR"  },
        {}
 };
 
-struct nouveau_bitfield nv10_graph_nstatus[] = {
+const struct nouveau_bitfield nv10_graph_nstatus[] = {
        { NV10_PGRAPH_NSTATUS_STATE_IN_USE,       "STATE_IN_USE" },
        { NV10_PGRAPH_NSTATUS_INVALID_STATE,      "INVALID_STATE" },
        { NV10_PGRAPH_NSTATUS_BAD_ARGUMENT,       "BAD_ARGUMENT" },
 
        return timeout ? -EBUSY : 0;
 }
 
-static struct nouveau_enum nv50_mp_exec_error_names[] = {
+static const struct nouveau_enum nv50_mp_exec_error_names[] = {
        { 3, "STACK_UNDERFLOW", NULL },
        { 4, "QUADON_ACTIVE", NULL },
        { 8, "TIMEOUT", NULL },
        {}
 };
 
-static struct nouveau_bitfield nv50_graph_trap_m2mf[] = {
+static const struct nouveau_bitfield nv50_graph_trap_m2mf[] = {
        { 0x00000001, "NOTIFY" },
        { 0x00000002, "IN" },
        { 0x00000004, "OUT" },
        {}
 };
 
-static struct nouveau_bitfield nv50_graph_trap_vfetch[] = {
+static const struct nouveau_bitfield nv50_graph_trap_vfetch[] = {
        { 0x00000001, "FAULT" },
        {}
 };
 
-static struct nouveau_bitfield nv50_graph_trap_strmout[] = {
+static const struct nouveau_bitfield nv50_graph_trap_strmout[] = {
        { 0x00000001, "FAULT" },
        {}
 };
 
-static struct nouveau_bitfield nv50_graph_trap_ccache[] = {
+static const struct nouveau_bitfield nv50_graph_trap_ccache[] = {
        { 0x00000001, "FAULT" },
        {}
 };
 
 /* There must be a *lot* of these. Will take some time to gather them up. */
-struct nouveau_enum nv50_data_error_names[] = {
+const struct nouveau_enum nv50_data_error_names[] = {
        { 0x00000003, "INVALID_OPERATION", NULL },
        { 0x00000004, "INVALID_VALUE", NULL },
        { 0x00000005, "INVALID_ENUM", NULL },
        {}
 };
 
-static struct nouveau_bitfield nv50_graph_intr_name[] = {
+static const struct nouveau_bitfield nv50_graph_intr_name[] = {
        { 0x00000001, "NOTIFY" },
        { 0x00000002, "COMPUTE_QUERY" },
        { 0x00000010, "ILLEGAL_MTHD" },
 
 struct nouveau_enum {
        u32 value;
        const char *name;
-       void *data;
+       const void *data;
 };
 
 const struct nouveau_enum *
 
 extern struct nouveau_oclass nvc0_graph_oclass;
 extern struct nouveau_oclass nve0_graph_oclass;
 
-extern struct nouveau_bitfield nv04_graph_nsource[];
+extern const struct nouveau_bitfield nv04_graph_nsource[];
 extern struct nouveau_ofuncs nv04_graph_ofuncs;
 bool nv04_graph_idle(void *obj);
 
-extern struct nouveau_bitfield nv10_graph_intr_name[];
-extern struct nouveau_bitfield nv10_graph_nstatus[];
+extern const struct nouveau_bitfield nv10_graph_intr_name[];
+extern const struct nouveau_bitfield nv10_graph_nstatus[];
 
-extern struct nouveau_enum nv50_data_error_names[];
+extern const struct nouveau_enum nv50_data_error_names[];
 
 #endif
 
        },
 };
 
-static struct nouveau_enum vm_dispatch_subclients[] = {
+static const struct nouveau_enum vm_dispatch_subclients[] = {
        { 0x00000000, "GRCTX", NULL },
        { 0x00000001, "NOTIFY", NULL },
        { 0x00000002, "QUERY", NULL },
        {}
 };
 
-static struct nouveau_enum vm_ccache_subclients[] = {
+static const struct nouveau_enum vm_ccache_subclients[] = {
        { 0x00000000, "CB", NULL },
        { 0x00000001, "TIC", NULL },
        { 0x00000002, "TSC", NULL },
        {}
 };
 
-static struct nouveau_enum vm_prop_subclients[] = {
+static const struct nouveau_enum vm_prop_subclients[] = {
        { 0x00000000, "RT0", NULL },
        { 0x00000001, "RT1", NULL },
        { 0x00000002, "RT2", NULL },
        {}
 };
 
-static struct nouveau_enum vm_pfifo_subclients[] = {
+static const struct nouveau_enum vm_pfifo_subclients[] = {
        { 0x00000000, "PUSHBUF", NULL },
        { 0x00000001, "SEMAPHORE", NULL },
        {}
 };
 
-static struct nouveau_enum vm_bar_subclients[] = {
+static const struct nouveau_enum vm_bar_subclients[] = {
        { 0x00000000, "FB", NULL },
        { 0x00000001, "IN", NULL },
        {}
 };
 
-static struct nouveau_enum vm_client[] = {
+static const struct nouveau_enum vm_client[] = {
        { 0x00000000, "STRMOUT", NULL },
        { 0x00000003, "DISPATCH", vm_dispatch_subclients },
        { 0x00000004, "PFIFO_WRITE", NULL },
        {}
 };
 
-static struct nouveau_enum vm_engine[] = {
+static const struct nouveau_enum vm_engine[] = {
        { 0x00000000, "PGRAPH", NULL },
        { 0x00000001, "PVP", NULL },
        { 0x00000004, "PEEPHOLE", NULL },
        {}
 };
 
-static struct nouveau_enum vm_fault[] = {
+static const struct nouveau_enum vm_fault[] = {
        { 0x00000000, "PT_NOT_PRESENT", NULL },
        { 0x00000001, "PT_TOO_SHORT", NULL },
        { 0x00000002, "PAGE_NOT_PRESENT", NULL },