]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/nouveau/fb: switch to instanced constructor
authorBen Skeggs <bskeggs@redhat.com>
Fri, 4 Dec 2020 01:16:21 +0000 (11:16 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Thu, 11 Feb 2021 01:49:52 +0000 (11:49 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
43 files changed:
drivers/gpu/drm/nouveau/include/nvkm/core/device.h
drivers/gpu/drm/nouveau/include/nvkm/core/layout.h
drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h
drivers/gpu/drm/nouveau/nvkm/core/subdev.c
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/base.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/g84.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ga100.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ga102.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf100.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf100.h
drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf108.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk104.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk110.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk20a.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm107.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm200.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm20b.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp100.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp102.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp10b.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/gt215.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/gv100.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/mcp77.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/mcp89.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv04.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv10.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv1a.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv20.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv25.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv30.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv35.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv36.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv40.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv41.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv44.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv46.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv47.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv49.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv4e.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv50.c
drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv50.h
drivers/gpu/drm/nouveau/nvkm/subdev/fb/priv.h

index 0b5c85218c71d9e2a46d4804acfa047e11e3853e..c1cb34ba1d40ec30a4571a48d3996640894ee492 100644 (file)
@@ -60,7 +60,6 @@ struct nvkm_device {
                struct notifier_block nb;
        } acpi;
 
-       struct nvkm_fb *fb;
        struct nvkm_fuse *fuse;
        struct nvkm_gpio *gpio;
        struct nvkm_gsp *gsp;
@@ -141,7 +140,6 @@ struct nvkm_device_chip {
 #include <core/layout.h>
 #undef NVKM_LAYOUT_INST
 #undef NVKM_LAYOUT_ONCE
-       int (*fb      )(struct nvkm_device *, int idx, struct nvkm_fb **);
        int (*fuse    )(struct nvkm_device *, int idx, struct nvkm_fuse **);
        int (*gpio    )(struct nvkm_device *, int idx, struct nvkm_gpio **);
        int (*gsp     )(struct nvkm_device *, int idx, struct nvkm_gsp **);
index 9f5fad93eaccf88abffa614d0fd828a944510558..85092d589ad41bbf7fcca9852bf89dcec4f6e6c2 100644 (file)
@@ -2,6 +2,7 @@
 NVKM_LAYOUT_ONCE(NVKM_SUBDEV_VBIOS   , struct nvkm_bios    ,     bios)
 NVKM_LAYOUT_ONCE(NVKM_SUBDEV_DEVINIT , struct nvkm_devinit ,  devinit)
 NVKM_LAYOUT_ONCE(NVKM_SUBDEV_BUS     , struct nvkm_bus     ,      bus)
+NVKM_LAYOUT_ONCE(NVKM_SUBDEV_FB      , struct nvkm_fb      ,       fb)
 NVKM_LAYOUT_ONCE(NVKM_SUBDEV_BAR     , struct nvkm_bar     ,      bar)
 NVKM_LAYOUT_ONCE(NVKM_SUBDEV_FAULT   , struct nvkm_fault   ,    fault)
 NVKM_LAYOUT_ONCE(NVKM_SUBDEV_ACR     , struct nvkm_acr     ,      acr)
index 7fb5cd8e29af9284c6ffc7a5b93e3d474eea43e2..ef6a6297148c13200ca3f80b7b9fe33340c28c38 100644 (file)
@@ -58,40 +58,40 @@ void nvkm_fb_tile_init(struct nvkm_fb *, int region, u32 addr, u32 size,
 void nvkm_fb_tile_fini(struct nvkm_fb *, int region, struct nvkm_fb_tile *);
 void nvkm_fb_tile_prog(struct nvkm_fb *, int region, struct nvkm_fb_tile *);
 
-int nv04_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int nv10_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int nv1a_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int nv20_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int nv25_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int nv30_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int nv35_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int nv36_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int nv40_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int nv41_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int nv44_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int nv46_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int nv47_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int nv49_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int nv4e_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int nv50_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int g84_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int gt215_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int mcp77_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int mcp89_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int gf100_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int gf108_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int gk104_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int gk110_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int gk20a_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int gm107_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int gm200_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int gm20b_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int gp100_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int gp102_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int gp10b_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int gv100_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int ga100_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
-int ga102_fb_new(struct nvkm_device *, int, struct nvkm_fb **);
+int nv04_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int nv10_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int nv1a_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int nv20_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int nv25_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int nv30_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int nv35_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int nv36_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int nv40_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int nv41_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int nv44_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int nv46_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int nv47_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int nv49_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int nv4e_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int nv50_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int g84_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int gt215_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int mcp77_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int mcp89_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int gf100_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int gf108_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int gk104_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int gk110_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int gk20a_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int gm107_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int gm200_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int gm20b_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int gp100_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int gp102_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int gp10b_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int gv100_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int ga100_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
+int ga102_fb_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fb **);
 
 #include <subdev/bios.h>
 #include <subdev/bios/ramcfg.h>
index 56b61a266f1f8419a58fdf3a8c675d283c0b1734..e43a88fff9bb9820b06615b7e7dbf5094ab2f4dc 100644 (file)
@@ -33,7 +33,6 @@ nvkm_subdev_type[NVKM_SUBDEV_NR] = {
 #include <core/layout.h>
 #undef NVKM_LAYOUT_ONCE
 #undef NVKM_LAYOUT_INST
-       [NVKM_SUBDEV_FB      ] = "fb",
        [NVKM_SUBDEV_FUSE    ] = "fuse",
        [NVKM_SUBDEV_GPIO    ] = "gpio",
        [NVKM_SUBDEV_GSP     ] = "gsp",
index 123a01f2683076af6ca2fc0478b865b906102e1b..a4ef6cac85fa5c323ad96ac007c25d3854dc6974 100644 (file)
@@ -81,7 +81,7 @@ nv4_chipset = {
        .bus      = { 0x00000001, nv04_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv04_devinit_new },
-       .fb = nv04_fb_new,
+       .fb       = { 0x00000001, nv04_fb_new },
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
        .mc = nv04_mc_new,
@@ -102,7 +102,7 @@ nv5_chipset = {
        .bus      = { 0x00000001, nv04_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv05_devinit_new },
-       .fb = nv04_fb_new,
+       .fb       = { 0x00000001, nv04_fb_new },
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
        .mc = nv04_mc_new,
@@ -123,7 +123,7 @@ nv10_chipset = {
        .bus      = { 0x00000001, nv04_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv10_devinit_new },
-       .fb = nv10_fb_new,
+       .fb       = { 0x00000001, nv10_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
@@ -143,7 +143,7 @@ nv11_chipset = {
        .bus      = { 0x00000001, nv04_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv10_devinit_new },
-       .fb = nv10_fb_new,
+       .fb       = { 0x00000001, nv10_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
@@ -165,7 +165,7 @@ nv15_chipset = {
        .bus      = { 0x00000001, nv04_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv10_devinit_new },
-       .fb = nv10_fb_new,
+       .fb       = { 0x00000001, nv10_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
@@ -187,7 +187,7 @@ nv17_chipset = {
        .bus      = { 0x00000001, nv04_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv10_devinit_new },
-       .fb = nv10_fb_new,
+       .fb       = { 0x00000001, nv10_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
@@ -209,7 +209,7 @@ nv18_chipset = {
        .bus      = { 0x00000001, nv04_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv10_devinit_new },
-       .fb = nv10_fb_new,
+       .fb       = { 0x00000001, nv10_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
@@ -231,7 +231,7 @@ nv1a_chipset = {
        .bus      = { 0x00000001, nv04_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv1a_fb_new,
+       .fb       = { 0x00000001, nv1a_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
@@ -253,7 +253,7 @@ nv1f_chipset = {
        .bus      = { 0x00000001, nv04_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv1a_fb_new,
+       .fb       = { 0x00000001, nv1a_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
@@ -275,7 +275,7 @@ nv20_chipset = {
        .bus      = { 0x00000001, nv04_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv20_devinit_new },
-       .fb = nv20_fb_new,
+       .fb       = { 0x00000001, nv20_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
@@ -297,7 +297,7 @@ nv25_chipset = {
        .bus      = { 0x00000001, nv04_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv20_devinit_new },
-       .fb = nv25_fb_new,
+       .fb       = { 0x00000001, nv25_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
@@ -319,7 +319,7 @@ nv28_chipset = {
        .bus      = { 0x00000001, nv04_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv20_devinit_new },
-       .fb = nv25_fb_new,
+       .fb       = { 0x00000001, nv25_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
@@ -341,7 +341,7 @@ nv2a_chipset = {
        .bus      = { 0x00000001, nv04_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv20_devinit_new },
-       .fb = nv25_fb_new,
+       .fb       = { 0x00000001, nv25_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
@@ -363,7 +363,7 @@ nv30_chipset = {
        .bus      = { 0x00000001, nv04_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv20_devinit_new },
-       .fb = nv30_fb_new,
+       .fb       = { 0x00000001, nv30_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
@@ -385,7 +385,7 @@ nv31_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv20_devinit_new },
-       .fb = nv30_fb_new,
+       .fb       = { 0x00000001, nv30_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
@@ -408,7 +408,7 @@ nv34_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv10_devinit_new },
-       .fb = nv10_fb_new,
+       .fb       = { 0x00000001, nv10_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
@@ -431,7 +431,7 @@ nv35_chipset = {
        .bus      = { 0x00000001, nv04_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv20_devinit_new },
-       .fb = nv35_fb_new,
+       .fb       = { 0x00000001, nv35_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
@@ -453,7 +453,7 @@ nv36_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv04_clk_new },
        .devinit  = { 0x00000001, nv20_devinit_new },
-       .fb = nv36_fb_new,
+       .fb       = { 0x00000001, nv36_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv04_instmem_new,
@@ -476,7 +476,7 @@ nv40_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv40_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv40_fb_new,
+       .fb       = { 0x00000001, nv40_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv40_instmem_new,
@@ -502,7 +502,7 @@ nv41_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv40_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv41_fb_new,
+       .fb       = { 0x00000001, nv41_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv40_instmem_new,
@@ -528,7 +528,7 @@ nv42_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv40_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv41_fb_new,
+       .fb       = { 0x00000001, nv41_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv40_instmem_new,
@@ -554,7 +554,7 @@ nv43_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv40_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv41_fb_new,
+       .fb       = { 0x00000001, nv41_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv40_instmem_new,
@@ -580,7 +580,7 @@ nv44_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv40_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv44_fb_new,
+       .fb       = { 0x00000001, nv44_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv40_instmem_new,
@@ -606,7 +606,7 @@ nv45_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv40_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv40_fb_new,
+       .fb       = { 0x00000001, nv40_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv40_instmem_new,
@@ -632,7 +632,7 @@ nv46_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv40_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv46_fb_new,
+       .fb       = { 0x00000001, nv46_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv40_instmem_new,
@@ -658,7 +658,7 @@ nv47_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv40_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv47_fb_new,
+       .fb       = { 0x00000001, nv47_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv40_instmem_new,
@@ -684,7 +684,7 @@ nv49_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv40_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv49_fb_new,
+       .fb       = { 0x00000001, nv49_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv40_instmem_new,
@@ -710,7 +710,7 @@ nv4a_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv40_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv44_fb_new,
+       .fb       = { 0x00000001, nv44_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv40_instmem_new,
@@ -736,7 +736,7 @@ nv4b_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv40_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv49_fb_new,
+       .fb       = { 0x00000001, nv49_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv40_instmem_new,
@@ -762,7 +762,7 @@ nv4c_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv40_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv46_fb_new,
+       .fb       = { 0x00000001, nv46_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv40_instmem_new,
@@ -788,7 +788,7 @@ nv4e_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv40_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv4e_fb_new,
+       .fb       = { 0x00000001, nv4e_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv4e_i2c_new,
        .imem = nv40_instmem_new,
@@ -815,7 +815,7 @@ nv50_chipset = {
        .bus      = { 0x00000001, nv50_bus_new },
        .clk      = { 0x00000001, nv50_clk_new },
        .devinit  = { 0x00000001, nv50_devinit_new },
-       .fb = nv50_fb_new,
+       .fb       = { 0x00000001, nv50_fb_new },
        .fuse = nv50_fuse_new,
        .gpio = nv50_gpio_new,
        .i2c = nv50_i2c_new,
@@ -843,7 +843,7 @@ nv63_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv40_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv46_fb_new,
+       .fb       = { 0x00000001, nv46_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv40_instmem_new,
@@ -869,7 +869,7 @@ nv67_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv40_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv46_fb_new,
+       .fb       = { 0x00000001, nv46_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv40_instmem_new,
@@ -895,7 +895,7 @@ nv68_chipset = {
        .bus      = { 0x00000001, nv31_bus_new },
        .clk      = { 0x00000001, nv40_clk_new },
        .devinit  = { 0x00000001, nv1a_devinit_new },
-       .fb = nv46_fb_new,
+       .fb       = { 0x00000001, nv46_fb_new },
        .gpio = nv10_gpio_new,
        .i2c = nv04_i2c_new,
        .imem = nv40_instmem_new,
@@ -922,7 +922,7 @@ nv84_chipset = {
        .bus      = { 0x00000001, nv50_bus_new },
        .clk      = { 0x00000001, g84_clk_new },
        .devinit  = { 0x00000001, g84_devinit_new },
-       .fb = g84_fb_new,
+       .fb       = { 0x00000001, g84_fb_new },
        .fuse = nv50_fuse_new,
        .gpio = nv50_gpio_new,
        .i2c = nv50_i2c_new,
@@ -954,7 +954,7 @@ nv86_chipset = {
        .bus      = { 0x00000001, nv50_bus_new },
        .clk      = { 0x00000001, g84_clk_new },
        .devinit  = { 0x00000001, g84_devinit_new },
-       .fb = g84_fb_new,
+       .fb       = { 0x00000001, g84_fb_new },
        .fuse = nv50_fuse_new,
        .gpio = nv50_gpio_new,
        .i2c = nv50_i2c_new,
@@ -986,7 +986,7 @@ nv92_chipset = {
        .bus      = { 0x00000001, nv50_bus_new },
        .clk      = { 0x00000001, g84_clk_new },
        .devinit  = { 0x00000001, g84_devinit_new },
-       .fb = g84_fb_new,
+       .fb       = { 0x00000001, g84_fb_new },
        .fuse = nv50_fuse_new,
        .gpio = nv50_gpio_new,
        .i2c = nv50_i2c_new,
@@ -1018,7 +1018,7 @@ nv94_chipset = {
        .bus      = { 0x00000001, g94_bus_new },
        .clk      = { 0x00000001, g84_clk_new },
        .devinit  = { 0x00000001, g84_devinit_new },
-       .fb = g84_fb_new,
+       .fb       = { 0x00000001, g84_fb_new },
        .fuse = nv50_fuse_new,
        .gpio = g94_gpio_new,
        .i2c = g94_i2c_new,
@@ -1050,7 +1050,7 @@ nv96_chipset = {
        .bus      = { 0x00000001, g94_bus_new },
        .clk      = { 0x00000001, g84_clk_new },
        .devinit  = { 0x00000001, g84_devinit_new },
-       .fb = g84_fb_new,
+       .fb       = { 0x00000001, g84_fb_new },
        .fuse = nv50_fuse_new,
        .gpio = g94_gpio_new,
        .i2c = g94_i2c_new,
@@ -1082,7 +1082,7 @@ nv98_chipset = {
        .bus      = { 0x00000001, g94_bus_new },
        .clk      = { 0x00000001, g84_clk_new },
        .devinit  = { 0x00000001, g98_devinit_new },
-       .fb = g84_fb_new,
+       .fb       = { 0x00000001, g84_fb_new },
        .fuse = nv50_fuse_new,
        .gpio = g94_gpio_new,
        .i2c = g94_i2c_new,
@@ -1114,7 +1114,7 @@ nva0_chipset = {
        .bus      = { 0x00000001, g94_bus_new },
        .clk      = { 0x00000001, g84_clk_new },
        .devinit  = { 0x00000001, g84_devinit_new },
-       .fb = g84_fb_new,
+       .fb       = { 0x00000001, g84_fb_new },
        .fuse = nv50_fuse_new,
        .gpio = g94_gpio_new,
        .i2c = nv50_i2c_new,
@@ -1146,7 +1146,7 @@ nva3_chipset = {
        .bus      = { 0x00000001, g94_bus_new },
        .clk      = { 0x00000001, gt215_clk_new },
        .devinit  = { 0x00000001, gt215_devinit_new },
-       .fb = gt215_fb_new,
+       .fb       = { 0x00000001, gt215_fb_new },
        .fuse = nv50_fuse_new,
        .gpio = g94_gpio_new,
        .i2c = g94_i2c_new,
@@ -1180,7 +1180,7 @@ nva5_chipset = {
        .bus      = { 0x00000001, g94_bus_new },
        .clk      = { 0x00000001, gt215_clk_new },
        .devinit  = { 0x00000001, gt215_devinit_new },
-       .fb = gt215_fb_new,
+       .fb       = { 0x00000001, gt215_fb_new },
        .fuse = nv50_fuse_new,
        .gpio = g94_gpio_new,
        .i2c = g94_i2c_new,
@@ -1213,7 +1213,7 @@ nva8_chipset = {
        .bus      = { 0x00000001, g94_bus_new },
        .clk      = { 0x00000001, gt215_clk_new },
        .devinit  = { 0x00000001, gt215_devinit_new },
-       .fb = gt215_fb_new,
+       .fb       = { 0x00000001, gt215_fb_new },
        .fuse = nv50_fuse_new,
        .gpio = g94_gpio_new,
        .i2c = g94_i2c_new,
@@ -1246,7 +1246,7 @@ nvaa_chipset = {
        .bus      = { 0x00000001, g94_bus_new },
        .clk      = { 0x00000001, mcp77_clk_new },
        .devinit  = { 0x00000001, g98_devinit_new },
-       .fb = mcp77_fb_new,
+       .fb       = { 0x00000001, mcp77_fb_new },
        .fuse = nv50_fuse_new,
        .gpio = g94_gpio_new,
        .i2c = g94_i2c_new,
@@ -1278,7 +1278,7 @@ nvac_chipset = {
        .bus      = { 0x00000001, g94_bus_new },
        .clk      = { 0x00000001, mcp77_clk_new },
        .devinit  = { 0x00000001, g98_devinit_new },
-       .fb = mcp77_fb_new,
+       .fb       = { 0x00000001, mcp77_fb_new },
        .fuse = nv50_fuse_new,
        .gpio = g94_gpio_new,
        .i2c = g94_i2c_new,
@@ -1310,7 +1310,7 @@ nvaf_chipset = {
        .bus      = { 0x00000001, g94_bus_new },
        .clk      = { 0x00000001, gt215_clk_new },
        .devinit  = { 0x00000001, mcp89_devinit_new },
-       .fb = mcp89_fb_new,
+       .fb       = { 0x00000001, mcp89_fb_new },
        .fuse = nv50_fuse_new,
        .gpio = g94_gpio_new,
        .i2c = g94_i2c_new,
@@ -1343,7 +1343,7 @@ nvc0_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gf100_clk_new },
        .devinit  = { 0x00000001, gf100_devinit_new },
-       .fb = gf100_fb_new,
+       .fb       = { 0x00000001, gf100_fb_new },
        .fuse = gf100_fuse_new,
        .gpio = g94_gpio_new,
        .i2c = g94_i2c_new,
@@ -1380,7 +1380,7 @@ nvc1_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gf100_clk_new },
        .devinit  = { 0x00000001, gf100_devinit_new },
-       .fb = gf108_fb_new,
+       .fb       = { 0x00000001, gf108_fb_new },
        .fuse = gf100_fuse_new,
        .gpio = g94_gpio_new,
        .i2c = g94_i2c_new,
@@ -1416,7 +1416,7 @@ nvc3_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gf100_clk_new },
        .devinit  = { 0x00000001, gf100_devinit_new },
-       .fb = gf100_fb_new,
+       .fb       = { 0x00000001, gf100_fb_new },
        .fuse = gf100_fuse_new,
        .gpio = g94_gpio_new,
        .i2c = g94_i2c_new,
@@ -1452,7 +1452,7 @@ nvc4_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gf100_clk_new },
        .devinit  = { 0x00000001, gf100_devinit_new },
-       .fb = gf100_fb_new,
+       .fb       = { 0x00000001, gf100_fb_new },
        .fuse = gf100_fuse_new,
        .gpio = g94_gpio_new,
        .i2c = g94_i2c_new,
@@ -1489,7 +1489,7 @@ nvc8_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gf100_clk_new },
        .devinit  = { 0x00000001, gf100_devinit_new },
-       .fb = gf100_fb_new,
+       .fb       = { 0x00000001, gf100_fb_new },
        .fuse = gf100_fuse_new,
        .gpio = g94_gpio_new,
        .i2c = g94_i2c_new,
@@ -1526,7 +1526,7 @@ nvce_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gf100_clk_new },
        .devinit  = { 0x00000001, gf100_devinit_new },
-       .fb = gf100_fb_new,
+       .fb       = { 0x00000001, gf100_fb_new },
        .fuse = gf100_fuse_new,
        .gpio = g94_gpio_new,
        .i2c = g94_i2c_new,
@@ -1563,7 +1563,7 @@ nvcf_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gf100_clk_new },
        .devinit  = { 0x00000001, gf100_devinit_new },
-       .fb = gf100_fb_new,
+       .fb       = { 0x00000001, gf100_fb_new },
        .fuse = gf100_fuse_new,
        .gpio = g94_gpio_new,
        .i2c = g94_i2c_new,
@@ -1599,7 +1599,7 @@ nvd7_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gf100_clk_new },
        .devinit  = { 0x00000001, gf100_devinit_new },
-       .fb = gf100_fb_new,
+       .fb       = { 0x00000001, gf100_fb_new },
        .fuse = gf100_fuse_new,
        .gpio = gf119_gpio_new,
        .i2c = gf117_i2c_new,
@@ -1634,7 +1634,7 @@ nvd9_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gf100_clk_new },
        .devinit  = { 0x00000001, gf100_devinit_new },
-       .fb = gf100_fb_new,
+       .fb       = { 0x00000001, gf100_fb_new },
        .fuse = gf100_fuse_new,
        .gpio = gf119_gpio_new,
        .i2c = gf119_i2c_new,
@@ -1670,7 +1670,7 @@ nve4_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gk104_clk_new },
        .devinit  = { 0x00000001, gf100_devinit_new },
-       .fb = gk104_fb_new,
+       .fb       = { 0x00000001, gk104_fb_new },
        .fuse = gf100_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gk104_i2c_new,
@@ -1709,7 +1709,7 @@ nve6_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gk104_clk_new },
        .devinit  = { 0x00000001, gf100_devinit_new },
-       .fb = gk104_fb_new,
+       .fb       = { 0x00000001, gk104_fb_new },
        .fuse = gf100_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gk104_i2c_new,
@@ -1748,7 +1748,7 @@ nve7_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gk104_clk_new },
        .devinit  = { 0x00000001, gf100_devinit_new },
-       .fb = gk104_fb_new,
+       .fb       = { 0x00000001, gk104_fb_new },
        .fuse = gf100_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gk104_i2c_new,
@@ -1785,7 +1785,7 @@ nvea_chipset = {
        .bar      = { 0x00000001, gk20a_bar_new },
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gk20a_clk_new },
-       .fb = gk20a_fb_new,
+       .fb       = { 0x00000001, gk20a_fb_new },
        .fuse = gf100_fuse_new,
        .ibus = gk20a_ibus_new,
        .imem = gk20a_instmem_new,
@@ -1812,7 +1812,7 @@ nvf0_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gk104_clk_new },
        .devinit  = { 0x00000001, gf100_devinit_new },
-       .fb = gk110_fb_new,
+       .fb       = { 0x00000001, gk110_fb_new },
        .fuse = gf100_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gk110_i2c_new,
@@ -1850,7 +1850,7 @@ nvf1_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gk104_clk_new },
        .devinit  = { 0x00000001, gf100_devinit_new },
-       .fb = gk110_fb_new,
+       .fb       = { 0x00000001, gk110_fb_new },
        .fuse = gf100_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gk110_i2c_new,
@@ -1888,7 +1888,7 @@ nv106_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gk104_clk_new },
        .devinit  = { 0x00000001, gf100_devinit_new },
-       .fb = gk110_fb_new,
+       .fb       = { 0x00000001, gk110_fb_new },
        .fuse = gf100_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gk110_i2c_new,
@@ -1926,7 +1926,7 @@ nv108_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gk104_clk_new },
        .devinit  = { 0x00000001, gf100_devinit_new },
-       .fb = gk110_fb_new,
+       .fb       = { 0x00000001, gk110_fb_new },
        .fuse = gf100_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gk110_i2c_new,
@@ -1964,7 +1964,7 @@ nv117_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gk104_clk_new },
        .devinit  = { 0x00000001, gm107_devinit_new },
-       .fb = gm107_fb_new,
+       .fb       = { 0x00000001, gm107_fb_new },
        .fuse = gm107_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gk110_i2c_new,
@@ -2000,7 +2000,7 @@ nv118_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gk104_clk_new },
        .devinit  = { 0x00000001, gm107_devinit_new },
-       .fb = gm107_fb_new,
+       .fb       = { 0x00000001, gm107_fb_new },
        .fuse = gm107_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gk110_i2c_new,
@@ -2034,7 +2034,7 @@ nv120_chipset = {
        .bios     = { 0x00000001, nvkm_bios_new },
        .bus      = { 0x00000001, gf100_bus_new },
        .devinit  = { 0x00000001, gm200_devinit_new },
-       .fb = gm200_fb_new,
+       .fb       = { 0x00000001, gm200_fb_new },
        .fuse = gm107_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gm200_i2c_new,
@@ -2072,7 +2072,7 @@ nv124_chipset = {
        .bios     = { 0x00000001, nvkm_bios_new },
        .bus      = { 0x00000001, gf100_bus_new },
        .devinit  = { 0x00000001, gm200_devinit_new },
-       .fb = gm200_fb_new,
+       .fb       = { 0x00000001, gm200_fb_new },
        .fuse = gm107_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gm200_i2c_new,
@@ -2110,7 +2110,7 @@ nv126_chipset = {
        .bios     = { 0x00000001, nvkm_bios_new },
        .bus      = { 0x00000001, gf100_bus_new },
        .devinit  = { 0x00000001, gm200_devinit_new },
-       .fb = gm200_fb_new,
+       .fb       = { 0x00000001, gm200_fb_new },
        .fuse = gm107_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gm200_i2c_new,
@@ -2146,7 +2146,7 @@ nv12b_chipset = {
        .bar      = { 0x00000001, gm20b_bar_new },
        .bus      = { 0x00000001, gf100_bus_new },
        .clk      = { 0x00000001, gm20b_clk_new },
-       .fb = gm20b_fb_new,
+       .fb       = { 0x00000001, gm20b_fb_new },
        .fuse = gm107_fuse_new,
        .ibus = gk20a_ibus_new,
        .imem = gk20a_instmem_new,
@@ -2173,7 +2173,7 @@ nv130_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .devinit  = { 0x00000001, gm200_devinit_new },
        .fault    = { 0x00000001, gp100_fault_new },
-       .fb = gp100_fb_new,
+       .fb       = { 0x00000001, gp100_fb_new },
        .fuse = gm107_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gm200_i2c_new,
@@ -2213,7 +2213,7 @@ nv132_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .devinit  = { 0x00000001, gm200_devinit_new },
        .fault    = { 0x00000001, gp100_fault_new },
-       .fb = gp102_fb_new,
+       .fb       = { 0x00000001, gp102_fb_new },
        .fuse = gm107_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gm200_i2c_new,
@@ -2251,7 +2251,7 @@ nv134_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .devinit  = { 0x00000001, gm200_devinit_new },
        .fault    = { 0x00000001, gp100_fault_new },
-       .fb = gp102_fb_new,
+       .fb       = { 0x00000001, gp102_fb_new },
        .fuse = gm107_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gm200_i2c_new,
@@ -2289,7 +2289,7 @@ nv136_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .devinit  = { 0x00000001, gm200_devinit_new },
        .fault    = { 0x00000001, gp100_fault_new },
-       .fb = gp102_fb_new,
+       .fb       = { 0x00000001, gp102_fb_new },
        .fuse = gm107_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gm200_i2c_new,
@@ -2326,7 +2326,7 @@ nv137_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .devinit  = { 0x00000001, gm200_devinit_new },
        .fault    = { 0x00000001, gp100_fault_new },
-       .fb = gp102_fb_new,
+       .fb       = { 0x00000001, gp102_fb_new },
        .fuse = gm107_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gm200_i2c_new,
@@ -2364,7 +2364,7 @@ nv138_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .devinit  = { 0x00000001, gm200_devinit_new },
        .fault    = { 0x00000001, gp100_fault_new },
-       .fb = gp102_fb_new,
+       .fb       = { 0x00000001, gp102_fb_new },
        .fuse = gm107_fuse_new,
        .gpio = gk104_gpio_new,
        .i2c = gm200_i2c_new,
@@ -2398,7 +2398,7 @@ nv13b_chipset = {
        .bar      = { 0x00000001, gm20b_bar_new },
        .bus      = { 0x00000001, gf100_bus_new },
        .fault    = { 0x00000001, gp10b_fault_new },
-       .fb = gp10b_fb_new,
+       .fb       = { 0x00000001, gp10b_fb_new },
        .fuse = gm107_fuse_new,
        .ibus = gp10b_ibus_new,
        .imem = gk20a_instmem_new,
@@ -2424,7 +2424,7 @@ nv140_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .devinit  = { 0x00000001, gv100_devinit_new },
        .fault    = { 0x00000001, gv100_fault_new },
-       .fb = gv100_fb_new,
+       .fb       = { 0x00000001, gv100_fb_new },
        .fuse = gm107_fuse_new,
        .gpio = gk104_gpio_new,
        .gsp = gv100_gsp_new,
@@ -2468,7 +2468,7 @@ nv162_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .devinit  = { 0x00000001, tu102_devinit_new },
        .fault    = { 0x00000001, tu102_fault_new },
-       .fb = gv100_fb_new,
+       .fb       = { 0x00000001, gv100_fb_new },
        .fuse = gm107_fuse_new,
        .gpio = gk104_gpio_new,
        .gsp = gv100_gsp_new,
@@ -2506,7 +2506,7 @@ nv164_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .devinit  = { 0x00000001, tu102_devinit_new },
        .fault    = { 0x00000001, tu102_fault_new },
-       .fb = gv100_fb_new,
+       .fb       = { 0x00000001, gv100_fb_new },
        .fuse = gm107_fuse_new,
        .gpio = gk104_gpio_new,
        .gsp = gv100_gsp_new,
@@ -2545,7 +2545,7 @@ nv166_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .devinit  = { 0x00000001, tu102_devinit_new },
        .fault    = { 0x00000001, tu102_fault_new },
-       .fb = gv100_fb_new,
+       .fb       = { 0x00000001, gv100_fb_new },
        .fuse = gm107_fuse_new,
        .gpio = gk104_gpio_new,
        .gsp = gv100_gsp_new,
@@ -2585,7 +2585,7 @@ nv167_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .devinit  = { 0x00000001, tu102_devinit_new },
        .fault    = { 0x00000001, tu102_fault_new },
-       .fb = gv100_fb_new,
+       .fb       = { 0x00000001, gv100_fb_new },
        .fuse = gm107_fuse_new,
        .gpio = gk104_gpio_new,
        .gsp = gv100_gsp_new,
@@ -2623,7 +2623,7 @@ nv168_chipset = {
        .bus      = { 0x00000001, gf100_bus_new },
        .devinit  = { 0x00000001, tu102_devinit_new },
        .fault    = { 0x00000001, tu102_fault_new },
-       .fb = gv100_fb_new,
+       .fb       = { 0x00000001, gv100_fb_new },
        .fuse = gm107_fuse_new,
        .gpio = gk104_gpio_new,
        .gsp = gv100_gsp_new,
@@ -2658,7 +2658,7 @@ nv170_chipset = {
        .bar      = { 0x00000001, tu102_bar_new },
        .bios     = { 0x00000001, nvkm_bios_new },
        .devinit  = { 0x00000001, ga100_devinit_new },
-       .fb = ga100_fb_new,
+       .fb       = { 0x00000001, ga100_fb_new },
        .gpio = gk104_gpio_new,
        .i2c = gm200_i2c_new,
        .ibus = gm200_ibus_new,
@@ -2675,7 +2675,7 @@ nv172_chipset = {
        .bar      = { 0x00000001, tu102_bar_new },
        .bios     = { 0x00000001, nvkm_bios_new },
        .devinit  = { 0x00000001, ga100_devinit_new },
-       .fb = ga102_fb_new,
+       .fb       = { 0x00000001, ga102_fb_new },
        .gpio = ga102_gpio_new,
        .i2c = gm200_i2c_new,
        .ibus = gm200_ibus_new,
@@ -2694,7 +2694,7 @@ nv174_chipset = {
        .bar      = { 0x00000001, tu102_bar_new },
        .bios     = { 0x00000001, nvkm_bios_new },
        .devinit  = { 0x00000001, ga100_devinit_new },
-       .fb = ga102_fb_new,
+       .fb       = { 0x00000001, ga102_fb_new },
        .gpio = ga102_gpio_new,
        .i2c = gm200_i2c_new,
        .ibus = gm200_ibus_new,
@@ -3248,7 +3248,6 @@ nvkm_device_ctor(const struct nvkm_device_func *func,
 #include <core/layout.h>
 #undef NVKM_LAYOUT_INST
 #undef NVKM_LAYOUT_ONCE
-               _(NVKM_SUBDEV_FB      ,       fb);
                _(NVKM_SUBDEV_FUSE    ,     fuse);
                _(NVKM_SUBDEV_GPIO    ,     gpio);
                _(NVKM_SUBDEV_GSP     ,      gsp);
index 7a13165915c911bbb0833e997367b088b13f6e8f..6faaea948fc44d5ac8ff487f47f26f08af55e20a 100644 (file)
@@ -227,9 +227,9 @@ nvkm_fb = {
 
 void
 nvkm_fb_ctor(const struct nvkm_fb_func *func, struct nvkm_device *device,
-            int index, struct nvkm_fb *fb)
+            enum nvkm_subdev_type type, int inst, struct nvkm_fb *fb)
 {
-       nvkm_subdev_ctor(&nvkm_fb, device, index, &fb->subdev);
+       nvkm_subdev_ctor(&nvkm_fb, device, type, inst, &fb->subdev);
        fb->func = func;
        fb->tile.regions = fb->func->tile.regions;
        fb->page = nvkm_longopt(device->cfgopt, "NvFbBigPage", fb->func->default_bigpage);
@@ -238,10 +238,10 @@ nvkm_fb_ctor(const struct nvkm_fb_func *func, struct nvkm_device *device,
 
 int
 nvkm_fb_new_(const struct nvkm_fb_func *func, struct nvkm_device *device,
-            int index, struct nvkm_fb **pfb)
+            enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
        if (!(*pfb = kzalloc(sizeof(**pfb), GFP_KERNEL)))
                return -ENOMEM;
-       nvkm_fb_ctor(func, device, index, *pfb);
+       nvkm_fb_ctor(func, device, type, inst, *pfb);
        return 0;
 }
index 06bf95c0c5493bd37866eb38d32b6ba323c69156..770a4ad391229d35baff9ff49528864f4d17eb03 100644 (file)
@@ -32,7 +32,7 @@ g84_fb = {
 };
 
 int
-g84_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+g84_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nv50_fb_new_(&g84_fb, device, index, pfb);
+       return nv50_fb_new_(&g84_fb, device, type, inst, pfb);
 }
index bf82686851cd4a5b47e830448c49058ddf92c615..b47bebfbc26f97bcb27673cf2b67b99484363952 100644 (file)
@@ -34,7 +34,7 @@ ga100_fb = {
 };
 
 int
-ga100_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+ga100_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return gp102_fb_new_(&ga100_fb, device, index, pfb);
+       return gp102_fb_new_(&ga100_fb, device, type, inst, pfb);
 }
index bcecf84a6e67995a50d527cf73dab04a77e67105..6ea7908f05638cd1b58221ffe0a24314fac5ded9 100644 (file)
@@ -34,7 +34,7 @@ ga102_fb = {
 };
 
 int
-ga102_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+ga102_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return gp102_fb_new_(&ga102_fb, device, index, pfb);
+       return gp102_fb_new_(&ga102_fb, device, type, inst, pfb);
 }
index e8dc4e913494a5e8791b171fce4bbe54deec08af..9dcc40f9ef797b8f310e5b00b4af3847d3a1d8e5 100644 (file)
@@ -117,13 +117,13 @@ gf100_fb_dtor(struct nvkm_fb *base)
 
 int
 gf100_fb_new_(const struct nvkm_fb_func *func, struct nvkm_device *device,
-             int index, struct nvkm_fb **pfb)
+             enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
        struct gf100_fb *fb;
 
        if (!(fb = kzalloc(sizeof(*fb), GFP_KERNEL)))
                return -ENOMEM;
-       nvkm_fb_ctor(func, device, index, &fb->base);
+       nvkm_fb_ctor(func, device, type, inst, &fb->base);
        *pfb = &fb->base;
 
        return 0;
@@ -141,7 +141,7 @@ gf100_fb = {
 };
 
 int
-gf100_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+gf100_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return gf100_fb_new_(&gf100_fb, device, index, pfb);
+       return gf100_fb_new_(&gf100_fb, device, type, inst, pfb);
 }
index 2ed7cdaab37c36fad1e333162ed9b09a2380e494..0cac7b06acc818d2f97a307b9fb971c2526eaf19 100644 (file)
@@ -10,8 +10,8 @@ struct gf100_fb {
        dma_addr_t r100c10;
 };
 
-int gf100_fb_new_(const struct nvkm_fb_func *, struct nvkm_device *,
-                 int index, struct nvkm_fb **);
+int gf100_fb_new_(const struct nvkm_fb_func *, struct nvkm_device *, enum nvkm_subdev_type, int,
+                 struct nvkm_fb **);
 void *gf100_fb_dtor(struct nvkm_fb *);
 void gf100_fb_init(struct nvkm_fb *);
 void gf100_fb_intr(struct nvkm_fb *);
index 4a9f463745b53450452e2796bdbfcbecdad12669..76678dd60f93f9fd7373615776d73266abbe7344 100644 (file)
@@ -36,7 +36,7 @@ gf108_fb = {
 };
 
 int
-gf108_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+gf108_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return gf100_fb_new_(&gf108_fb, device, index, pfb);
+       return gf100_fb_new_(&gf108_fb, device, type, inst, pfb);
 }
index 48fd98e08baae33993f9440581c61b8cb9e580ce..f73442ccb424b491461054cb30abe87aaf6f8520 100644 (file)
@@ -83,7 +83,7 @@ gk104_fb = {
 };
 
 int
-gk104_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+gk104_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return gf100_fb_new_(&gk104_fb, device, index, pfb);
+       return gf100_fb_new_(&gk104_fb, device, type, inst, pfb);
 }
index 0695e5dd360e4b419c68be377ae8f0f4d85bfaa2..45d6cdffafeedc5f326bc45556357d882531f7d9 100644 (file)
@@ -65,7 +65,7 @@ gk110_fb = {
 };
 
 int
-gk110_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+gk110_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return gf100_fb_new_(&gk110_fb, device, index, pfb);
+       return gf100_fb_new_(&gk110_fb, device, type, inst, pfb);
 }
index a7e29b1250941e4684f7a49cde5dca3195d2bd6d..6bc42f89d8c4100a100750b70a0012ab5dd34776 100644 (file)
@@ -34,7 +34,7 @@ gk20a_fb = {
 };
 
 int
-gk20a_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+gk20a_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return gf100_fb_new_(&gk20a_fb, device, index, pfb);
+       return gf100_fb_new_(&gk20a_fb, device, type, inst, pfb);
 }
index 69c876d5d1c11ed0af14c399644ae500545cadcd..de52462a92bf0ecd2b85a509091800e7b9761444 100644 (file)
@@ -36,7 +36,7 @@ gm107_fb = {
 };
 
 int
-gm107_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+gm107_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return gf100_fb_new_(&gm107_fb, device, index, pfb);
+       return gf100_fb_new_(&gm107_fb, device, type, inst, pfb);
 }
index d3b8c3367152b4b18b58ecc38770c3cf4279d962..5acf8d15d06fb70a5970f6082e69f1cffbd937b7 100644 (file)
@@ -67,7 +67,7 @@ gm200_fb = {
 };
 
 int
-gm200_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+gm200_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return gf100_fb_new_(&gm200_fb, device, index, pfb);
+       return gf100_fb_new_(&gm200_fb, device, type, inst, pfb);
 }
index 12db61e31128ce0f1e1904b072a52a2bc9b809d1..86f61a3f2feae1563be947d66b99921232a181d8 100644 (file)
@@ -34,7 +34,7 @@ gm20b_fb = {
 };
 
 int
-gm20b_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+gm20b_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return gf100_fb_new_(&gm20b_fb, device, index, pfb);
+       return gf100_fb_new_(&gm20b_fb, device, type, inst, pfb);
 }
index 8205ce436b3e847663d5d44ab35c9e13885008a4..09e943edc3628256f514a8ba7050b0775eeafdce 100644 (file)
@@ -71,7 +71,7 @@ gp100_fb = {
 };
 
 int
-gp100_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+gp100_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return gf100_fb_new_(&gp100_fb, device, index, pfb);
+       return gf100_fb_new_(&gp100_fb, device, type, inst, pfb);
 }
index fc8c93aa3da52e6b85fcb99a8d83a1589023b0c6..0e78b3d734a0fbfb0f1f047a1cf93f3181be8002 100644 (file)
@@ -114,9 +114,9 @@ gp102_fb = {
 
 int
 gp102_fb_new_(const struct nvkm_fb_func *func, struct nvkm_device *device,
-             int index, struct nvkm_fb **pfb)
+             enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       int ret = gf100_fb_new_(func, device, index, pfb);
+       int ret = gf100_fb_new_(func, device, type, inst, pfb);
        if (ret)
                return ret;
 
@@ -126,9 +126,9 @@ gp102_fb_new_(const struct nvkm_fb_func *func, struct nvkm_device *device,
 }
 
 int
-gp102_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+gp102_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return gp102_fb_new_(&gp102_fb, device, index, pfb);
+       return gp102_fb_new_(&gp102_fb, device, type, inst, pfb);
 }
 
 MODULE_FIRMWARE("nvidia/gp102/nvdec/scrubber.bin");
index af8e43979dc1154866ec13631ce0fa7a8dfd9a4f..84c9815a6d48aa5975815c379033e9612903e8b2 100644 (file)
@@ -31,7 +31,7 @@ gp10b_fb = {
 };
 
 int
-gp10b_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+gp10b_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return gf100_fb_new_(&gp10b_fb, device, index, pfb);
+       return gf100_fb_new_(&gp10b_fb, device, type, inst, pfb);
 }
index 9266559b45f971c44569508093c99a25de1f106a..c1ec9758617c69e40ecc6dd4828b80209ab52c83 100644 (file)
@@ -32,7 +32,7 @@ gt215_fb = {
 };
 
 int
-gt215_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+gt215_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nv50_fb_new_(&gt215_fb, device, index, pfb);
+       return nv50_fb_new_(&gt215_fb, device, type, inst, pfb);
 }
index feda86a5fba8592000ac2657a815b72203cbaf91..63daa83ae12d13252e408986bf8a4ec405c01944 100644 (file)
@@ -42,9 +42,9 @@ gv100_fb = {
 };
 
 int
-gv100_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+gv100_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return gp102_fb_new_(&gv100_fb, device, index, pfb);
+       return gp102_fb_new_(&gv100_fb, device, type, inst, pfb);
 }
 
 MODULE_FIRMWARE("nvidia/gv100/nvdec/scrubber.bin");
index 73b3b86a282622a39998b0b90761edeb8c8e49cb..70c7b08ee0a65936f05c4ea896b29755dfa742d0 100644 (file)
@@ -31,7 +31,7 @@ mcp77_fb = {
 };
 
 int
-mcp77_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+mcp77_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nv50_fb_new_(&mcp77_fb, device, index, pfb);
+       return nv50_fb_new_(&mcp77_fb, device, type, inst, pfb);
 }
index 6d11e32ec7addc2497e3bab52d22355ebcce1ea1..308d955168e8b1c3e6a78ed3cac7233ae716ce30 100644 (file)
@@ -31,7 +31,7 @@ mcp89_fb = {
 };
 
 int
-mcp89_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+mcp89_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nv50_fb_new_(&mcp89_fb, device, index, pfb);
+       return nv50_fb_new_(&mcp89_fb, device, type, inst, pfb);
 }
index c886664533c81dd3fc056a6e5220d6705ec4d53b..8d5a007ecc47658c9db981a1cd57a2cb0aca02eb 100644 (file)
@@ -44,7 +44,7 @@ nv04_fb = {
 };
 
 int
-nv04_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+nv04_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nvkm_fb_new_(&nv04_fb, device, index, pfb);
+       return nvkm_fb_new_(&nv04_fb, device, type, inst, pfb);
 }
index c998b7e96aa3f0287dd22f2a47e4eb44adb152cb..7d2c16b27032f73a325d80f31d4df7b771e28494 100644 (file)
@@ -64,7 +64,7 @@ nv10_fb = {
 };
 
 int
-nv10_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+nv10_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nvkm_fb_new_(&nv10_fb, device, index, pfb);
+       return nvkm_fb_new_(&nv10_fb, device, type, inst, pfb);
 }
index 7b9f04f44af8940cd0043374ec66c1f4791b9067..4bdad2abd56f6252a4e90fee22c766c6fab71211 100644 (file)
@@ -36,7 +36,7 @@ nv1a_fb = {
 };
 
 int
-nv1a_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+nv1a_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nvkm_fb_new_(&nv1a_fb, device, index, pfb);
+       return nvkm_fb_new_(&nv1a_fb, device, type, inst, pfb);
 }
index e5ddbe6b698e4d02d3c1b69a2370a1d05922626a..d254f27f9b3768cf983742769b439475f14e27ac 100644 (file)
@@ -96,7 +96,7 @@ nv20_fb = {
 };
 
 int
-nv20_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+nv20_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nvkm_fb_new_(&nv20_fb, device, index, pfb);
+       return nvkm_fb_new_(&nv20_fb, device, type, inst, pfb);
 }
index fb87e699ff54917535fc96528ab81d8182841e9e..47da66dea6e6e2feed8ef96e93624197057eae26 100644 (file)
@@ -54,7 +54,7 @@ nv25_fb = {
 };
 
 int
-nv25_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+nv25_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nvkm_fb_new_(&nv25_fb, device, index, pfb);
+       return nvkm_fb_new_(&nv25_fb, device, type, inst, pfb);
 }
index 6e033495fc1aef0bed468d4d244eac8ce360656e..0f87efb636d5d62609ad1c6f14a37a4562d3a29f 100644 (file)
@@ -127,7 +127,7 @@ nv30_fb = {
 };
 
 int
-nv30_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+nv30_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nvkm_fb_new_(&nv30_fb, device, index, pfb);
+       return nvkm_fb_new_(&nv30_fb, device, type, inst, pfb);
 }
index 02a38d83c812be4f60efe0272cd695080c759ec1..0694dcfd107e6dc9bcd4075900f7ad40509c218e 100644 (file)
@@ -56,7 +56,7 @@ nv35_fb = {
 };
 
 int
-nv35_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+nv35_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nvkm_fb_new_(&nv35_fb, device, index, pfb);
+       return nvkm_fb_new_(&nv35_fb, device, type, inst, pfb);
 }
index f45143ebded3bd0236307c89cfa9db53bfcf3998..1a39770372f15d15055017cfd5eb537a580b5866 100644 (file)
@@ -56,7 +56,7 @@ nv36_fb = {
 };
 
 int
-nv36_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+nv36_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nvkm_fb_new_(&nv36_fb, device, index, pfb);
+       return nvkm_fb_new_(&nv36_fb, device, type, inst, pfb);
 }
index f51ba70c673ae620053f0a24269ced9e22c977ed..77dbb9d6ba480dde95758023feae72058a36eed5 100644 (file)
@@ -62,7 +62,7 @@ nv40_fb = {
 };
 
 int
-nv40_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+nv40_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nvkm_fb_new_(&nv40_fb, device, index, pfb);
+       return nvkm_fb_new_(&nv40_fb, device, type, inst, pfb);
 }
index b77f08d34cc35a34d66e7873eca701206e6ad1dd..0f9d9e48e7add9a03fe5011651def9c62610bb38 100644 (file)
@@ -56,7 +56,7 @@ nv41_fb = {
 };
 
 int
-nv41_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+nv41_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nvkm_fb_new_(&nv41_fb, device, index, pfb);
+       return nvkm_fb_new_(&nv41_fb, device, type, inst, pfb);
 }
index b59dc486083decb9714550f7cf9bd6c36b62d87d..b1046ee9f0eaf53f4a73aa710caaa56c94306639 100644 (file)
@@ -65,7 +65,7 @@ nv44_fb = {
 };
 
 int
-nv44_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+nv44_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nvkm_fb_new_(&nv44_fb, device, index, pfb);
+       return nvkm_fb_new_(&nv44_fb, device, type, inst, pfb);
 }
index cab7d20fa03981e3a04754de86e4823db1fd6709..0d78de422dfa823989aaad8bbe0ac30de7764ba5 100644 (file)
@@ -51,7 +51,7 @@ nv46_fb = {
 };
 
 int
-nv46_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+nv46_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nvkm_fb_new_(&nv46_fb, device, index, pfb);
+       return nvkm_fb_new_(&nv46_fb, device, type, inst, pfb);
 }
index a8b0ad4c871db966129c6df0642477b5c6a6db63..5cedde29c8eee93ea36b65affaaa19b038eb8b28 100644 (file)
@@ -39,7 +39,7 @@ nv47_fb = {
 };
 
 int
-nv47_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+nv47_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nvkm_fb_new_(&nv47_fb, device, index, pfb);
+       return nvkm_fb_new_(&nv47_fb, device, type, inst, pfb);
 }
index d0b317bb0252e5b05a6328158ad504b628e4a7dc..95cc099603d8bfb46f666c3c2545410591c36404 100644 (file)
@@ -39,7 +39,7 @@ nv49_fb = {
 };
 
 int
-nv49_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+nv49_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nvkm_fb_new_(&nv49_fb, device, index, pfb);
+       return nvkm_fb_new_(&nv49_fb, device, type, inst, pfb);
 }
index 6a6f0c0860713c594f2ad65b1e3f9a94fbb9f596..c9f3148f4e75cfd9aee63b6c9c3d185cb588a5ff 100644 (file)
@@ -37,7 +37,7 @@ nv4e_fb = {
 };
 
 int
-nv4e_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+nv4e_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nvkm_fb_new_(&nv4e_fb, device, index, pfb);
+       return nvkm_fb_new_(&nv4e_fb, device, type, inst, pfb);
 }
index b2f5bf8144eaaa660e085190c950bb9afbda5b2d..95fd8f83401025bdb219b894dcddceb9697a6c70 100644 (file)
@@ -262,16 +262,15 @@ nv50_fb_ = {
 
 int
 nv50_fb_new_(const struct nv50_fb_func *func, struct nvkm_device *device,
-            int index, struct nvkm_fb **pfb)
+            enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
        struct nv50_fb *fb;
 
        if (!(fb = kzalloc(sizeof(*fb), GFP_KERNEL)))
                return -ENOMEM;
-       nvkm_fb_ctor(&nv50_fb_, device, index, &fb->base);
+       nvkm_fb_ctor(&nv50_fb_, device, type, inst, &fb->base);
        fb->func = func;
        *pfb = &fb->base;
-
        return 0;
 }
 
@@ -283,7 +282,7 @@ nv50_fb = {
 };
 
 int
-nv50_fb_new(struct nvkm_device *device, int index, struct nvkm_fb **pfb)
+nv50_fb_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst, struct nvkm_fb **pfb)
 {
-       return nv50_fb_new_(&nv50_fb, device, index, pfb);
+       return nv50_fb_new_(&nv50_fb, device, type, inst, pfb);
 }
index 5e2b0c9539ede919ca40d2d93a6e0dc8d5abb7bb..a5e673859a90165533fc935d054428c5afb05f72 100644 (file)
@@ -17,6 +17,6 @@ struct nv50_fb_func {
        u32 trap;
 };
 
-int nv50_fb_new_(const struct nv50_fb_func *, struct nvkm_device *, int index,
+int nv50_fb_new_(const struct nv50_fb_func *, struct nvkm_device *, enum nvkm_subdev_type, int,
                 struct nvkm_fb **pfb);
 #endif
index 66932ac10d15c68b65e80d982a90e54873e3d393..3f1be9780c65fdd35c4f4088f254cf72c21d145b 100644 (file)
@@ -38,9 +38,9 @@ struct nvkm_fb_func {
 };
 
 void nvkm_fb_ctor(const struct nvkm_fb_func *, struct nvkm_device *device,
-                 int index, struct nvkm_fb *);
+                 enum nvkm_subdev_type type, int inst, struct nvkm_fb *);
 int nvkm_fb_new_(const struct nvkm_fb_func *, struct nvkm_device *device,
-                int index, struct nvkm_fb **);
+                enum nvkm_subdev_type type, int inst, struct nvkm_fb **);
 int nvkm_fb_bios_memtype(struct nvkm_bios *);
 
 void nv10_fb_tile_init(struct nvkm_fb *, int i, u32 addr, u32 size,
@@ -78,7 +78,7 @@ int gm200_fb_init_page(struct nvkm_fb *);
 void gp100_fb_init_remapper(struct nvkm_fb *);
 void gp100_fb_init_unkn(struct nvkm_fb *);
 
-int gp102_fb_new_(const struct nvkm_fb_func *, struct nvkm_device *, int,
+int gp102_fb_new_(const struct nvkm_fb_func *, struct nvkm_device *, enum nvkm_subdev_type, int,
                  struct nvkm_fb **);
 bool gp102_fb_vpr_scrub_required(struct nvkm_fb *);
 int gp102_fb_vpr_scrub(struct nvkm_fb *);