From 30a5e073906ab671c31063cb0deed00686369277 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Fri, 7 Jan 2022 17:39:42 +0000 Subject: generic: 5.15: get uImage.FIT partition parser ready Prepare uImage.FIT partition parser for Linux 5.15 Signed-off-by: Daniel Golle Signed-off-by: Ansuel Smith --- target/linux/generic/files/block/partitions/fit.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'target/linux/generic/files') diff --git a/target/linux/generic/files/block/partitions/fit.c b/target/linux/generic/files/block/partitions/fit.c index 75516af493..46ccef62ee 100644 --- a/target/linux/generic/files/block/partitions/fit.c +++ b/target/linux/generic/files/block/partitions/fit.c @@ -20,6 +20,7 @@ #include #include #include +#include #include "check.h" @@ -72,7 +73,12 @@ int parse_fit_partitions(struct parsed_partitions *state, u64 fit_start_sector, u64 sectors, int *slot, int add_remain) { - struct address_space *mapping = state->bdev->bd_inode->i_mapping; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 11, 0) + struct block_device *bdev = state->disk->part0; +#else + struct block_device *bdev = state->bdev; +#endif + struct address_space *mapping = bdev->bd_inode->i_mapping; struct page *page; void *fit, *init_fit; struct partition_meta_info *info; @@ -116,7 +122,7 @@ int parse_fit_partitions(struct parsed_partitions *state, u64 fit_start_sector, return 0; } - dsectors = get_capacity(state->bdev->bd_disk); + dsectors = get_capacity(bdev->bd_disk); if (sectors) dsectors = (dsectors>sectors)?sectors:dsectors; -- cgit v1.2.3