summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmil Renner Berthing <kernel@esmil.dk>2021-09-20 22:09:40 +0300
committerEmil Renner Berthing <kernel@esmil.dk>2021-09-27 03:08:15 +0300
commit06c9d960fff06fe7138a8c6bd989ef5a25a25eca (patch)
tree614206e058d449303232593306c63db76337af92
parent9857fc4b9f8c5a5b495424d2e13dfbb6bcf6f165 (diff)
downloadlinux-06c9d960fff06fe7138a8c6bd989ef5a25a25eca.tar.xz
drm/starfive: crtc: Use devm_platform_ioremap_resource_byname
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
-rw-r--r--drivers/gpu/drm/starfive/starfive_drm_crtc.c28
-rw-r--r--drivers/gpu/drm/starfive/starfive_drm_lcdc.c10
-rw-r--r--drivers/gpu/drm/starfive/starfive_drm_vpp.h4
3 files changed, 9 insertions, 33 deletions
diff --git a/drivers/gpu/drm/starfive/starfive_drm_crtc.c b/drivers/gpu/drm/starfive/starfive_drm_crtc.c
index e761febada2c..ceddfb9506cf 100644
--- a/drivers/gpu/drm/starfive/starfive_drm_crtc.c
+++ b/drivers/gpu/drm/starfive/starfive_drm_crtc.c
@@ -22,20 +22,6 @@
#include <soc/starfive/vic7100.h>
//#include <video/sys_comm_regs.h>
-struct resource_name {
- char name[10];
-};
-
-static const struct resource_name mem_res_name[] = {
- {"lcdc"},
- {"vpp0"},
- {"vpp1"},
- {"vpp2"},
- {"clk"},
- {"rst"},
- {"sys"}
-};
-
static inline struct drm_encoder *
starfive_head_atom_get_encoder(struct starfive_crtc *sf_crtc)
{
@@ -314,13 +300,14 @@ int starfive_crtc_create(struct drm_device *drm_dev,
static int starfive_crtc_get_memres(struct platform_device *pdev, struct starfive_crtc *sf_crtc)
{
- struct device *dev = &pdev->dev;
+ static const char *const mem_res_name[] = {
+ "lcdc", "vpp0", "vpp1", "vpp2", "clk", "rst", "sys"
+ };
int i;
for (i = 0; i < ARRAY_SIZE(mem_res_name); i++) {
- const char *name = mem_res_name[i].name;
- struct resource *res = platform_get_resource_byname(pdev, IORESOURCE_MEM, name);
- void __iomem *regs = devm_ioremap_resource(dev, res);
+ const char *name = mem_res_name[i];
+ void __iomem *regs = devm_platform_ioremap_resource_byname(pdev, name);
if (IS_ERR(regs))
return PTR_ERR(regs);
@@ -422,7 +409,10 @@ static int starfive_crtc_bind(struct device *dev, struct device *master, void *d
spin_lock_init(&crtcp->reg_lock);
- starfive_crtc_get_memres(pdev, crtcp);
+ ret = starfive_crtc_get_memres(pdev, crtcp);
+ if (ret)
+ return ret;
+
ret = starfive_parse_dt(dev, crtcp);
crtcp->pp_conn_lcdc = starfive_pp_get_2lcdc_id(crtcp);
diff --git a/drivers/gpu/drm/starfive/starfive_drm_lcdc.c b/drivers/gpu/drm/starfive/starfive_drm_lcdc.c
index e3a7423c21f3..705118b2891b 100644
--- a/drivers/gpu/drm/starfive/starfive_drm_lcdc.c
+++ b/drivers/gpu/drm/starfive/starfive_drm_lcdc.c
@@ -7,16 +7,6 @@
#include "starfive_drm_lcdc.h"
#include "starfive_drm_vpp.h"
-static const struct res_name mem_res_name[] = {
- {"lcdc"},
- {"vpp0"},
- {"vpp1"},
- {"vpp2"},
- {"clk"},
- {"rst"},
- {"sys"}
-};
-
static u32 sf_fb_clkread32(struct starfive_crtc *sf_crtc, u32 reg)
{
return ioread32(sf_crtc->base_clk + reg);
diff --git a/drivers/gpu/drm/starfive/starfive_drm_vpp.h b/drivers/gpu/drm/starfive/starfive_drm_vpp.h
index 189bc820fc32..c5bd2e219a3a 100644
--- a/drivers/gpu/drm/starfive/starfive_drm_vpp.h
+++ b/drivers/gpu/drm/starfive/starfive_drm_vpp.h
@@ -40,10 +40,6 @@
//vout clk registers
#define CLK_LCDC_OCLK_CTRL 0x14
-struct res_name {
- char name[10];
-};
-
enum PP_LCD_PATH {
SYS_BUS_OUTPUT = 0,
FIFO_OUTPUT = 1,