| From a089467e8c20632979cf5696fd84c7cedeef06fb Mon Sep 17 00:00:00 2001 | |
| From: Sasha Levin <sashal@kernel.org> | |
| Date: Thu, 8 Oct 2026 15:13:04 -0400 | |
| Subject: fbdev: hyperv_fb: Simplify hvfb_putmem | |
| From: Saurabh Sengar <ssengar@linux.microsoft.com> | |
| [ Upstream commit f5e728a50bb17336a20803dde488515b833ecd1d ] | |
| The device object required in 'hvfb_release_phymem' function | |
| for 'dma_free_coherent' can also be obtained from the 'info' | |
| pointer, making 'hdev' parameter in 'hvfb_putmem' redundant. | |
| Remove the unnecessary 'hdev' argument from 'hvfb_putmem'. | |
| [ Backport to 6.6.y: Pass info->device through the target's | |
| hvfb_release_phymem() helper and remove the now-redundant hdev | |
| argument from each hvfb_putmem() call. ] | |
| Signed-off-by: Saurabh Sengar <ssengar@linux.microsoft.com> | |
| Reviewed-by: Michael Kelley <mhklinux@outlook.com> | |
| Tested-by: Michael Kelley <mhklinux@outlook.com> | |
| Link: https://lore.kernel.org/r/1740845791-19977-2-git-send-email-ssengar@linux.microsoft.com | |
| Signed-off-by: Wei Liu <wei.liu@kernel.org> | |
| Message-ID: <1740845791-19977-2-git-send-email-ssengar@linux.microsoft.com> | |
| Assisted-by: LLM | |
| Signed-off-by: Artem Dinaburg <artem@trailofbits.com> | |
| Signed-off-by: Sasha Levin <sashal@kernel.org> | |
| --- | |
| drivers/video/fbdev/hyperv_fb.c | 12 ++++++------ | |
| 1 file changed, 6 insertions(+), 6 deletions(-) | |
| diff --git a/drivers/video/fbdev/hyperv_fb.c b/drivers/video/fbdev/hyperv_fb.c | |
| index 80e8ec36b7db2..80e6d96821795 100644 | |
| --- a/drivers/video/fbdev/hyperv_fb.c | |
| +++ b/drivers/video/fbdev/hyperv_fb.c | |
| @@ -973,7 +973,7 @@ static phys_addr_t hvfb_get_phymem(struct hv_device *hdev, | |
| } | |
| /* Release contiguous physical memory */ | |
| -static void hvfb_release_phymem(struct hv_device *hdev, | |
| +static void hvfb_release_phymem(struct device *device, | |
| phys_addr_t paddr, unsigned int size) | |
| { | |
| unsigned int order = get_order(size); | |
| @@ -981,7 +981,7 @@ static void hvfb_release_phymem(struct hv_device *hdev, | |
| if (order <= MAX_ORDER) | |
| __free_pages(pfn_to_page(paddr >> PAGE_SHIFT), order); | |
| else | |
| - dma_free_coherent(&hdev->device, | |
| + dma_free_coherent(device, | |
| round_up(size, PAGE_SIZE), | |
| phys_to_virt(paddr), | |
| paddr); | |
| @@ -1100,7 +1100,7 @@ static int hvfb_getmem(struct hv_device *hdev, struct fb_info *info) | |
| } | |
| /* Release the framebuffer */ | |
| -static void hvfb_putmem(struct hv_device *hdev, struct fb_info *info) | |
| +static void hvfb_putmem(struct fb_info *info) | |
| { | |
| struct hvfb_par *par = info->par; | |
| @@ -1109,7 +1109,7 @@ static void hvfb_putmem(struct hv_device *hdev, struct fb_info *info) | |
| iounmap(par->mmio_vp); | |
| vmbus_free_mmio(par->mem->start, screen_fb_size); | |
| } else { | |
| - hvfb_release_phymem(hdev, info->fix.smem_start, | |
| + hvfb_release_phymem(info->device, info->fix.smem_start, | |
| screen_fb_size); | |
| } | |
| @@ -1223,7 +1223,7 @@ static int hvfb_probe(struct hv_device *hdev, | |
| error: | |
| fb_deferred_io_cleanup(info); | |
| - hvfb_putmem(hdev, info); | |
| + hvfb_putmem(info); | |
| error2: | |
| vmbus_close(hdev->channel); | |
| error1: | |
| @@ -1252,7 +1252,7 @@ static void hvfb_remove(struct hv_device *hdev) | |
| vmbus_close(hdev->channel); | |
| hv_set_drvdata(hdev, NULL); | |
| - hvfb_putmem(hdev, info); | |
| + hvfb_putmem(info); | |
| framebuffer_release(info); | |
| } | |
| -- | |
| 2.53.0 | |