Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm: xlnx: Store base pointers in zynqmp_disp directly

The blend, avbuf, and audio members of zynqmp_disp are anonymous structs
with only one member each. This is rather pointless, so move the members
up a level.

Signed-off-by: Sean Anderson <sean.anderson@linux.dev>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240423171859.3953024-2-sean.anderson@linux.dev

authored by

Sean Anderson and committed by
Tomi Valkeinen
e0db0269 b58a0bc9

+19 -25
+19 -25
drivers/gpu/drm/xlnx/zynqmp_disp.c
··· 141 141 * struct zynqmp_disp - Display controller 142 142 * @dev: Device structure 143 143 * @dpsub: Display subsystem 144 - * @blend.base: Register I/O base address for the blender 145 - * @avbuf.base: Register I/O base address for the audio/video buffer manager 146 - * @audio.base: Registers I/O base address for the audio mixer 144 + * @blend: Register I/O base address for the blender 145 + * @avbuf: Register I/O base address for the audio/video buffer manager 146 + * @audio: Registers I/O base address for the audio mixer 147 147 * @layers: Layers (planes) 148 148 */ 149 149 struct zynqmp_disp { 150 150 struct device *dev; 151 151 struct zynqmp_dpsub *dpsub; 152 152 153 - struct { 154 - void __iomem *base; 155 - } blend; 156 - struct { 157 - void __iomem *base; 158 - } avbuf; 159 - struct { 160 - void __iomem *base; 161 - } audio; 153 + void __iomem *blend; 154 + void __iomem *avbuf; 155 + void __iomem *audio; 162 156 163 157 struct zynqmp_disp_layer layers[ZYNQMP_DPSUB_NUM_LAYERS]; 164 158 }; ··· 404 410 405 411 static u32 zynqmp_disp_avbuf_read(struct zynqmp_disp *disp, int reg) 406 412 { 407 - return readl(disp->avbuf.base + reg); 413 + return readl(disp->avbuf + reg); 408 414 } 409 415 410 416 static void zynqmp_disp_avbuf_write(struct zynqmp_disp *disp, int reg, u32 val) 411 417 { 412 - writel(val, disp->avbuf.base + reg); 418 + writel(val, disp->avbuf + reg); 413 419 } 414 420 415 421 static bool zynqmp_disp_layer_is_video(const struct zynqmp_disp_layer *layer) ··· 645 651 646 652 static void zynqmp_disp_blend_write(struct zynqmp_disp *disp, int reg, u32 val) 647 653 { 648 - writel(val, disp->blend.base + reg); 654 + writel(val, disp->blend + reg); 649 655 } 650 656 651 657 /* ··· 871 877 872 878 static void zynqmp_disp_audio_write(struct zynqmp_disp *disp, int reg, u32 val) 873 879 { 874 - writel(val, disp->audio.base + reg); 880 + writel(val, disp->audio + reg); 875 881 } 876 882 877 883 /** ··· 1406 1412 disp->dev = &pdev->dev; 1407 1413 disp->dpsub = dpsub; 1408 1414 1409 - disp->blend.base = devm_platform_ioremap_resource_byname(pdev, "blend"); 1410 - if (IS_ERR(disp->blend.base)) { 1411 - ret = PTR_ERR(disp->blend.base); 1415 + disp->blend = devm_platform_ioremap_resource_byname(pdev, "blend"); 1416 + if (IS_ERR(disp->blend)) { 1417 + ret = PTR_ERR(disp->blend); 1412 1418 goto error; 1413 1419 } 1414 1420 1415 - disp->avbuf.base = devm_platform_ioremap_resource_byname(pdev, "av_buf"); 1416 - if (IS_ERR(disp->avbuf.base)) { 1417 - ret = PTR_ERR(disp->avbuf.base); 1421 + disp->avbuf = devm_platform_ioremap_resource_byname(pdev, "av_buf"); 1422 + if (IS_ERR(disp->avbuf)) { 1423 + ret = PTR_ERR(disp->avbuf); 1418 1424 goto error; 1419 1425 } 1420 1426 1421 - disp->audio.base = devm_platform_ioremap_resource_byname(pdev, "aud"); 1422 - if (IS_ERR(disp->audio.base)) { 1423 - ret = PTR_ERR(disp->audio.base); 1427 + disp->audio = devm_platform_ioremap_resource_byname(pdev, "aud"); 1428 + if (IS_ERR(disp->audio)) { 1429 + ret = PTR_ERR(disp->audio); 1424 1430 goto error; 1425 1431 } 1426 1432