Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4cf43e0e authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge branch 'for-upstream/hdlcd' of git://linux-arm.org/linux-ld into drm-fixes

arm hdlcd fix.
* 'for-upstream/hdlcd' of git://linux-arm.org/linux-ld:
  drm: ARM HDLCD - fix an error code
  drm: ARM HDLCD - get rid of devm_clk_put()
parents 915e846d 69c2565a
Loading
Loading
Loading
Loading
+3 −11
Original line number Diff line number Diff line
@@ -57,14 +57,13 @@ static int hdlcd_load(struct drm_device *drm, unsigned long flags)
		DRM_ERROR("failed to map control registers area\n");
		ret = PTR_ERR(hdlcd->mmio);
		hdlcd->mmio = NULL;
		goto fail;
		return ret;
	}

	version = hdlcd_read(hdlcd, HDLCD_REG_VERSION);
	if ((version & HDLCD_PRODUCT_MASK) != HDLCD_PRODUCT_ID) {
		DRM_ERROR("unknown product id: 0x%x\n", version);
		ret = -EINVAL;
		goto fail;
		return -EINVAL;
	}
	DRM_INFO("found ARM HDLCD version r%dp%d\n",
		(version & HDLCD_VERSION_MAJOR_MASK) >> 8,
@@ -73,7 +72,7 @@ static int hdlcd_load(struct drm_device *drm, unsigned long flags)
	/* Get the optional framebuffer memory resource */
	ret = of_reserved_mem_device_init(drm->dev);
	if (ret && ret != -ENODEV)
		goto fail;
		return ret;

	ret = dma_set_mask_and_coherent(drm->dev, DMA_BIT_MASK(32));
	if (ret)
@@ -101,8 +100,6 @@ static int hdlcd_load(struct drm_device *drm, unsigned long flags)
	drm_crtc_cleanup(&hdlcd->crtc);
setup_fail:
	of_reserved_mem_device_release(drm->dev);
fail:
	devm_clk_put(drm->dev, hdlcd->clk);

	return ret;
}
@@ -412,7 +409,6 @@ static int hdlcd_drm_bind(struct device *dev)
	pm_runtime_put_sync(drm->dev);
	pm_runtime_disable(drm->dev);
	of_reserved_mem_device_release(drm->dev);
	devm_clk_put(dev, hdlcd->clk);
err_free:
	drm_dev_unref(drm);

@@ -436,10 +432,6 @@ static void hdlcd_drm_unbind(struct device *dev)
	pm_runtime_put_sync(drm->dev);
	pm_runtime_disable(drm->dev);
	of_reserved_mem_device_release(drm->dev);
	if (!IS_ERR(hdlcd->clk)) {
		devm_clk_put(drm->dev, hdlcd->clk);
		hdlcd->clk = NULL;
	}
	drm_mode_config_cleanup(drm);
	drm_dev_unregister(drm);
	drm_dev_unref(drm);