On Tue Mar 10, 2026 at 6:38 PM IST, Thomas Zimmermann wrote: > Hi, > > thanks for the patch. Let's hope there are no conflicts with other > hardware. IDK if anyone still uses this driver. Hi Thomas,
Thanks for reviewing this. Since I currently do not have access to the hardware needed to test the change properly, I will drop this patch for now. I may revisit it once I can validate the behavior on real hardware. Thanks again for your feedback. Best regards, Hardik > > Am 10.03.26 um 13:30 schrieb Hardik Phalet: >> The driver calls ioremap() on the HGA video memory at 0xb0000 without >> first reserving the physical address range. This leaves the kernel >> resource tree incomplete and can cause silent conflicts with other >> drivers claiming the same range. >> >> Add a devm_request_mem_region() call before ioremap() in >> hga_card_detect() to reserve the memory region. >> >> Signed-off-by: Hardik Phalet <[email protected]> > > Reviewed-by: Thomas Zimmermann <[email protected]> > > Best regards > Thomas > >> --- >> Changes in v3: >> - Used dev_err() to log memory region request, based on another review >> comment by Thomas [2]. >> Changes in v2: >> - Used devm_request_mem_region instead of request_mem_region, based on a >> review comment by Thomas [1]. >> >> v1: https://lore.kernel.org/all/[email protected]/ >> v2: https://lore.kernel.org/all/[email protected]/ >> [1]: >> https://lore.kernel.org/all/[email protected]/ >> [2]: >> https://lore.kernel.org/all/[email protected]/ >> >> drivers/video/fbdev/hgafb.c | 9 +++++++-- >> 1 file changed, 7 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/video/fbdev/hgafb.c b/drivers/video/fbdev/hgafb.c >> index 14418aa3791a..d32fd1c5217c 100644 >> --- a/drivers/video/fbdev/hgafb.c >> +++ b/drivers/video/fbdev/hgafb.c >> @@ -276,7 +276,7 @@ static void hga_blank(int blank_mode) >> spin_unlock_irqrestore(&hga_reg_lock, flags); >> } >> >> -static int hga_card_detect(void) >> +static int hga_card_detect(struct platform_device *pdev) >> { >> int count = 0; >> void __iomem *p, *q; >> @@ -284,6 +284,11 @@ static int hga_card_detect(void) >> >> hga_vram_len = 0x08000; >> >> + if (!devm_request_mem_region(&pdev->dev, 0xb0000, hga_vram_len, >> "hgafb")) { >> + dev_err(&pdev->dev, "cannot reserve video memory at 0xb0000\n"); >> + return -EBUSY; >> + } >> + >> hga_vram = ioremap(0xb0000, hga_vram_len); >> if (!hga_vram) >> return -ENOMEM; >> @@ -568,7 +573,7 @@ static int hgafb_probe(struct platform_device *pdev) >> struct fb_info *info; >> int ret; >> >> - ret = hga_card_detect(); >> + ret = hga_card_detect(pdev); >> if (ret) >> return ret; >> > > -- > -- > Thomas Zimmermann > Graphics Driver Developer > SUSE Software Solutions Germany GmbH > Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com > GF: Jochen Jaser, Andrew McDonald, Werner Knoblich, (HRB 36809, AG Nürnberg)
