kernel: add DT binding support to the uimage parsers

It allows specifying default and Netgear parsers directly in the DT.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
master
Rafał Miłecki 2018-11-22 13:20:04 +01:00
parent 934edb764d
commit a22311e6a6
1 changed files with 21 additions and 0 deletions

View File

@ -16,6 +16,7 @@
#include <linux/vmalloc.h> #include <linux/vmalloc.h>
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/version.h>
#include <linux/byteorder/generic.h> #include <linux/byteorder/generic.h>
#include "mtdsplit.h" #include "mtdsplit.h"
@ -239,9 +240,19 @@ mtdsplit_uimage_parse_generic(struct mtd_info *master,
uimage_verify_default); 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 = { static struct mtd_part_parser uimage_generic_parser = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.name = "uimage-fw", .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, .parse_fn = mtdsplit_uimage_parse_generic,
.type = MTD_PARSER_TYPE_FIRMWARE, .type = MTD_PARSER_TYPE_FIRMWARE,
}; };
@ -296,9 +307,19 @@ mtdsplit_uimage_parse_netgear(struct mtd_info *master,
uimage_verify_wndr3700); 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 = { static struct mtd_part_parser uimage_netgear_parser = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.name = "netgear-fw", .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, .parse_fn = mtdsplit_uimage_parse_netgear,
.type = MTD_PARSER_TYPE_FIRMWARE, .type = MTD_PARSER_TYPE_FIRMWARE,
}; };