drm/nouveau/acr: allow module to load when HSFW(s) are missing
[linux-2.6-microblaze.git] / drivers / gpu / drm / nouveau / nvkm / subdev / acr / gm200.c
index 9a63940..74ffcf1 100644 (file)
 #include <nvfw/acr.h>
 #include <nvfw/flcn.h>
 
+const struct nvkm_acr_func
+gm200_acr = {
+};
+
+int
+gm200_acr_nofw(struct nvkm_acr *acr, int ver, const struct nvkm_acr_fwif *fwif)
+{
+       nvkm_warn(&acr->subdev, "firmware unavailable\n");
+       return 0;
+}
+
 int
 gm200_acr_init(struct nvkm_acr *acr)
 {
@@ -425,7 +436,7 @@ gm200_acr_load_fwif[] = {
 };
 
 static const struct nvkm_acr_func
-gm200_acr = {
+gm200_acr_0 = {
        .load = gm200_acr_load_fwif,
        .unload = gm200_acr_unload_fwif,
        .wpr_parse = gm200_acr_wpr_parse,
@@ -459,7 +470,8 @@ gm200_acr_load(struct nvkm_acr *acr, int ver, const struct nvkm_acr_fwif *fwif)
 
 static const struct nvkm_acr_fwif
 gm200_acr_fwif[] = {
-       { 0, gm200_acr_load, &gm200_acr },
+       {  0, gm200_acr_load, &gm200_acr_0 },
+       { -1, gm200_acr_nofw, &gm200_acr },
        {}
 };