return 0;
 }
 
-int armada_drm_crtc_create(struct drm_device *dev, unsigned num,
-       struct resource *res, int irq)
+int armada_drm_crtc_create(struct drm_device *dev, struct resource *res,
+       int irq)
 {
        struct armada_private *priv = dev->dev_private;
        struct armada_crtc *dcrtc;
        }
 
        dcrtc->base = base;
-       dcrtc->num = num;
+       dcrtc->num = dev->mode_config.num_crtc;
        dcrtc->clk = ERR_PTR(-EINVAL);
        dcrtc->csc_yuv_mode = CSC_AUTO;
        dcrtc->csc_rgb_mode = CSC_AUTO;
 
 };
 #define drm_to_armada_crtc(c) container_of(c, struct armada_crtc, crtc)
 
-int armada_drm_crtc_create(struct drm_device *, unsigned, struct resource *,
-       int);
+int armada_drm_crtc_create(struct drm_device *, struct resource *, int);
 void armada_drm_crtc_gamma_set(struct drm_crtc *, u16, u16, u16, int);
 void armada_drm_crtc_gamma_get(struct drm_crtc *, u16 *, u16 *, u16 *, int);
 void armada_drm_crtc_disable_irq(struct armada_crtc *, u32);
 
                if (irq < 0)
                        goto err_kms;
 
-               ret = armada_drm_crtc_create(dev, n, res[n], irq);
+               ret = armada_drm_crtc_create(dev, res[n], irq);
                if (ret)
                        goto err_kms;
        }
                goto err_kms;
 #endif
 
-       ret = drm_vblank_init(dev, n);
+       ret = drm_vblank_init(dev, dev->mode_config.num_crtc);
        if (ret)
                goto err_kms;