Back-merge tag 'v4.7-rc5' into drm-next
Linux 4.7-rc5 The fsl-dcu pull needs -rc3 so go to -rc5 for now.
此提交包含在:
@@ -97,6 +97,22 @@ static struct drm_driver sun4i_drv_driver = {
|
||||
.disable_vblank = sun4i_drv_disable_vblank,
|
||||
};
|
||||
|
||||
static void sun4i_remove_framebuffers(void)
|
||||
{
|
||||
struct apertures_struct *ap;
|
||||
|
||||
ap = alloc_apertures(1);
|
||||
if (!ap)
|
||||
return;
|
||||
|
||||
/* The framebuffer can be located anywhere in RAM */
|
||||
ap->ranges[0].base = 0;
|
||||
ap->ranges[0].size = ~0;
|
||||
|
||||
remove_conflicting_framebuffers(ap, "sun4i-drm-fb", false);
|
||||
kfree(ap);
|
||||
}
|
||||
|
||||
static int sun4i_drv_bind(struct device *dev)
|
||||
{
|
||||
struct drm_device *drm;
|
||||
@@ -140,6 +156,9 @@ static int sun4i_drv_bind(struct device *dev)
|
||||
}
|
||||
drm->irq_enabled = true;
|
||||
|
||||
/* Remove early framebuffers (ie. simplefb) */
|
||||
sun4i_remove_framebuffers();
|
||||
|
||||
/* Create our framebuffer */
|
||||
drv->fbdev = sun4i_framebuffer_init(drm);
|
||||
if (IS_ERR(drv->fbdev)) {
|
||||
@@ -166,6 +185,7 @@ static void sun4i_drv_unbind(struct device *dev)
|
||||
{
|
||||
struct drm_device *drm = dev_get_drvdata(dev);
|
||||
|
||||
drm_connector_unregister_all(drm);
|
||||
drm_dev_unregister(drm);
|
||||
drm_kms_helper_poll_fini(drm);
|
||||
sun4i_framebuffer_free(drm);
|
||||
|
新增問題並參考
封鎖使用者