diff options
author | Emil Renner Berthing <kernel@esmil.dk> | 2021-09-20 22:09:40 +0300 |
---|---|---|
committer | Emil Renner Berthing <kernel@esmil.dk> | 2022-06-02 00:15:02 +0300 |
commit | 0547b2f3890c3dae9f6b96a6d09401d2d10ff760 (patch) | |
tree | 083d41101690f0dee409bef0974758875fe3ad75 | |
parent | 2730636738820dd3cde1f35cdc665cc490b8f07f (diff) | |
download | linux-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.c | 28 | ||||
-rw-r--r-- | drivers/gpu/drm/starfive/starfive_drm_lcdc.c | 10 | ||||
-rw-r--r-- | drivers/gpu/drm/starfive/starfive_drm_vpp.h | 4 |
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, |