Commit e0bf12a4 authored by Giovanni Di Santi's avatar Giovanni Di Santi Committed by Helge Deller
Browse files

fbdev: kyro: Use devm_ioremap() for mmio registers



Replace the manual ioremap() call for the MMIO registers with the
device-managed devm_ioremap() variant.

This simplifies the driver's resource management by ensuring the memory is
automatically unmapped when the driver detaches from the device.

Signed-off-by: default avatarGiovanni Di Santi <giovanni.disanti.lkl@gmail.com>
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent b56f93f5
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -701,13 +701,14 @@ static int kyrofb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
	kyro_fix.mmio_len   = pci_resource_len(pdev, 1);

	currentpar->regbase = deviceInfo.pSTGReg =
		ioremap(kyro_fix.mmio_start, kyro_fix.mmio_len);
		devm_ioremap(&pdev->dev, kyro_fix.mmio_start,
			     kyro_fix.mmio_len);
	if (!currentpar->regbase)
		goto out_free_fb;

	info->screen_base = pci_ioremap_wc_bar(pdev, 0);
	if (!info->screen_base)
		goto out_unmap_regs;
		goto out_free_fb;

	if (!nomtrr)
		currentpar->wc_cookie = arch_phys_wc_add(kyro_fix.smem_start,
@@ -755,8 +756,6 @@ static int kyrofb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)

out_unmap:
	iounmap(info->screen_base);
out_unmap_regs:
	iounmap(currentpar->regbase);
out_free_fb:
	framebuffer_release(info);

@@ -779,7 +778,6 @@ static void kyrofb_remove(struct pci_dev *pdev)
	deviceInfo.ulOverlayOffset = 0;

	iounmap(info->screen_base);
	iounmap(par->regbase);

	arch_phys_wc_del(par->wc_cookie);