|
|
|
@ -16,6 +16,7 @@ |
|
|
|
|
#include <linux/vmalloc.h> |
|
|
|
|
#include <linux/mtd/mtd.h> |
|
|
|
|
#include <linux/mtd/partitions.h> |
|
|
|
|
#include <linux/version.h> |
|
|
|
|
#include <linux/byteorder/generic.h> |
|
|
|
|
|
|
|
|
|
#include "mtdsplit.h" |
|
|
|
@ -239,9 +240,19 @@ mtdsplit_uimage_parse_generic(struct mtd_info *master, |
|
|
|
|
uimage_verify_default); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0) |
|
|
|
|
static const struct of_device_id mtdsplit_uimage_of_match_table[] = { |
|
|
|
|
{ .compatible = "denx,uimage" }, |
|
|
|
|
{}, |
|
|
|
|
}; |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
static struct mtd_part_parser uimage_generic_parser = { |
|
|
|
|
.owner = THIS_MODULE, |
|
|
|
|
.name = "uimage-fw", |
|
|
|
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0) |
|
|
|
|
.of_match_table = mtdsplit_uimage_of_match_table, |
|
|
|
|
#endif |
|
|
|
|
.parse_fn = mtdsplit_uimage_parse_generic, |
|
|
|
|
.type = MTD_PARSER_TYPE_FIRMWARE, |
|
|
|
|
}; |
|
|
|
@ -296,9 +307,19 @@ mtdsplit_uimage_parse_netgear(struct mtd_info *master, |
|
|
|
|
uimage_verify_wndr3700); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0) |
|
|
|
|
static const struct of_device_id mtdsplit_uimage_netgear_of_match_table[] = { |
|
|
|
|
{ .compatible = "netgear,uimage" }, |
|
|
|
|
{}, |
|
|
|
|
}; |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
static struct mtd_part_parser uimage_netgear_parser = { |
|
|
|
|
.owner = THIS_MODULE, |
|
|
|
|
.name = "netgear-fw", |
|
|
|
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0) |
|
|
|
|
.of_match_table = mtdsplit_uimage_netgear_of_match_table, |
|
|
|
|
#endif |
|
|
|
|
.parse_fn = mtdsplit_uimage_parse_netgear, |
|
|
|
|
.type = MTD_PARSER_TYPE_FIRMWARE, |
|
|
|
|
}; |
|
|
|
|