drm/tilcdc: request and mapp iomem with devres
tilcdc currently just ioremaps its iomem, without doing the (a bit more robust) request on the memory first. The devm_ functions provide a handy way to both request and ioremap the memory with automatic cleanup. Replace the manual ioremap with the devm_ version. Suggested-by: Thomas Zimmermann <tzimmermann@suse.de> Signed-off-by: Philipp Stanner <pstanner@redhat.com> Reviewed-by: Jyri Sarha <jyri.sarha@iki.fi> Tested-by: Jyri Sarha <jyri.sarha@iki.fi> Signed-off-by: Jyri Sarha <jyri.sarha@iki.fi> Link: https://patchwork.freedesktop.org/patch/msgid/20231222115216.19218-2-pstanner@redhat.com
This commit is contained in:
parent
021a81e7ac
commit
a196a5166e
@ -182,9 +182,6 @@ static void tilcdc_fini(struct drm_device *dev)
|
||||
if (priv->clk)
|
||||
clk_put(priv->clk);
|
||||
|
||||
if (priv->mmio)
|
||||
iounmap(priv->mmio);
|
||||
|
||||
if (priv->wq)
|
||||
destroy_workqueue(priv->wq);
|
||||
|
||||
@ -201,7 +198,6 @@ static int tilcdc_init(const struct drm_driver *ddrv, struct device *dev)
|
||||
struct platform_device *pdev = to_platform_device(dev);
|
||||
struct device_node *node = dev->of_node;
|
||||
struct tilcdc_drm_private *priv;
|
||||
struct resource *res;
|
||||
u32 bpp = 0;
|
||||
int ret;
|
||||
|
||||
@ -226,17 +222,10 @@ static int tilcdc_init(const struct drm_driver *ddrv, struct device *dev)
|
||||
goto init_failed;
|
||||
}
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
if (!res) {
|
||||
dev_err(dev, "failed to get memory resource\n");
|
||||
ret = -EINVAL;
|
||||
goto init_failed;
|
||||
}
|
||||
|
||||
priv->mmio = ioremap(res->start, resource_size(res));
|
||||
if (!priv->mmio) {
|
||||
dev_err(dev, "failed to ioremap\n");
|
||||
ret = -ENOMEM;
|
||||
priv->mmio = devm_platform_ioremap_resource(pdev, 0);
|
||||
if (IS_ERR(priv->mmio)) {
|
||||
dev_err(dev, "failed to request / ioremap\n");
|
||||
ret = PTR_ERR(priv->mmio);
|
||||
goto init_failed;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user