projects
/
openwrt
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
generic: 5.15: get uImage.FIT partition parser ready
[openwrt/openwrt.git]
/
target
/
linux
/
generic
/
files
/
block
/
partitions
/
fit.c
diff --git
a/target/linux/generic/files/block/partitions/fit.c
b/target/linux/generic/files/block/partitions/fit.c
index 75516af493d7770d26289db4a85ec703b539d105..46ccef62eeecc7db0d7ce35c03ba825b63b2bf1e 100644
(file)
--- a/
target/linux/generic/files/block/partitions/fit.c
+++ b/
target/linux/generic/files/block/partitions/fit.c
@@
-20,6
+20,7
@@
#include <linux/of_device.h>
#include <linux/of_fdt.h>
#include <linux/libfdt.h>
#include <linux/of_device.h>
#include <linux/of_fdt.h>
#include <linux/libfdt.h>
+#include <linux/version.h>
#include "check.h"
#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)
{
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;
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;
}
return 0;
}
- dsectors = get_capacity(
state->
bdev->bd_disk);
+ dsectors = get_capacity(bdev->bd_disk);
if (sectors)
dsectors = (dsectors>sectors)?sectors:dsectors;
if (sectors)
dsectors = (dsectors>sectors)?sectors:dsectors;