Extract the MMIO region mapping logic from mshv_map_user_memory() into a dedicated mshv_map_mmio_region() function. This improves code organization and consistency with the existing mshv_map_pinned_region() and mshv_map_movable_region() functions.
Signed-off-by: Stanislav Kinsburskii <[email protected]> --- drivers/hv/mshv_regions.c | 8 ++++++++ drivers/hv/mshv_root.h | 2 ++ drivers/hv/mshv_root_main.c | 5 +---- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/hv/mshv_regions.c b/drivers/hv/mshv_regions.c index 85f8b7bddf939..7bcfba9ebac12 100644 --- a/drivers/hv/mshv_regions.c +++ b/drivers/hv/mshv_regions.c @@ -830,3 +830,11 @@ int mshv_map_movable_region(struct mshv_mem_region *region) return 0; } + +int mshv_map_mmio_region(struct mshv_mem_region *region, + unsigned long mmio_pfn) +{ + return hv_call_map_mmio_pfns(region->partition->pt_id, + region->start_gfn, + mmio_pfn, region->nr_pfns); +} diff --git a/drivers/hv/mshv_root.h b/drivers/hv/mshv_root.h index 0f4fc57a14cd0..b091db06390b0 100644 --- a/drivers/hv/mshv_root.h +++ b/drivers/hv/mshv_root.h @@ -379,5 +379,7 @@ void mshv_region_movable_fini(struct mshv_mem_region *region); bool mshv_region_movable_init(struct mshv_mem_region *region); int mshv_map_pinned_region(struct mshv_mem_region *region); int mshv_map_movable_region(struct mshv_mem_region *region); +int mshv_map_mmio_region(struct mshv_mem_region *region, + unsigned long mmio_pfn); #endif /* _MSHV_ROOT_H_ */ diff --git a/drivers/hv/mshv_root_main.c b/drivers/hv/mshv_root_main.c index e38438c539c5d..d5197559d7650 100644 --- a/drivers/hv/mshv_root_main.c +++ b/drivers/hv/mshv_root_main.c @@ -1394,10 +1394,7 @@ mshv_map_user_memory(struct mshv_partition *partition, ret = mshv_map_movable_region(region); break; case MSHV_REGION_TYPE_MMIO: - ret = hv_call_map_mmio_pfns(partition->pt_id, - region->start_gfn, - mmio_pfn, - region->nr_pfns); + ret = mshv_map_mmio_region(region, mmio_pfn); break; }

