drm/armada: permit CRTCs to be registered as separate devices

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
此提交包含在:
Russell King
2014-04-22 11:10:15 +01:00
父節點 ad49579adf
當前提交 d8c96083cf
共有 3 個檔案被更改,包括 122 行新增14 行删除

查看文件

@@ -115,7 +115,7 @@ static int armada_drm_load(struct drm_device *dev, unsigned long flags)
return -EINVAL;
}
if (!res[0] || !mem)
if (!mem)
return -ENXIO;
if (!devm_request_mem_region(dev->dev, mem->start,
@@ -168,7 +168,8 @@ static int armada_drm_load(struct drm_device *dev, unsigned long flags)
if (irq < 0)
goto err_kms;
ret = armada_drm_crtc_create(dev, res[n], irq, variant);
ret = armada_drm_crtc_create(dev, dev->dev, res[n], irq,
variant);
if (ret)
goto err_kms;
}
@@ -490,14 +491,24 @@ static struct platform_driver armada_drm_platform_driver = {
static int __init armada_drm_init(void)
{
int ret;
armada_drm_driver.num_ioctls = ARRAY_SIZE(armada_ioctls);
return platform_driver_register(&armada_drm_platform_driver);
ret = platform_driver_register(&armada_lcd_platform_driver);
if (ret)
return ret;
ret = platform_driver_register(&armada_drm_platform_driver);
if (ret)
platform_driver_unregister(&armada_lcd_platform_driver);
return ret;
}
module_init(armada_drm_init);
static void __exit armada_drm_exit(void)
{
platform_driver_unregister(&armada_drm_platform_driver);
platform_driver_unregister(&armada_lcd_platform_driver);
}
module_exit(armada_drm_exit);