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>2022-06-02 00:15:02 +0300
commit0547b2f3890c3dae9f6b96a6d09401d2d10ff760 (patch)
tree083d41101690f0dee409bef0974758875fe3ad75
parent2730636738820dd3cde1f35cdc665cc490b8f07f (diff)
downloadlinux-0547b2f3890c3dae9f6b96a6d09401d2d10ff760.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 782664a9e600..df030c9c9146 100644
--- a/drivers/gpu/drm/starfive/starfive_drm_crtc.c
+++ b/drivers/gpu/drm/starfive/starfive_drm_crtc.c
@@ -21,20 +21,6 @@
#include "starfive_drm_vpp.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)
{
@@ -311,13 +297,14 @@ static 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);
@@ -419,7 +406,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,