mtd: edb7312: convert to mtd_device_register()
Convert to mtd_device_register() and remove the CONFIG_MTD_PARTITIONS preprocessor conditionals as partitioning is always available. Signed-off-by: Jamie Iles <jamie@jamieiles.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
Родитель
bc2ffddc46
Коммит
5af3aa24cf
|
@ -15,10 +15,7 @@
|
|||
#include <asm/io.h>
|
||||
#include <linux/mtd/mtd.h>
|
||||
#include <linux/mtd/map.h>
|
||||
|
||||
#ifdef CONFIG_MTD_PARTITIONS
|
||||
#include <linux/mtd/partitions.h>
|
||||
#endif
|
||||
|
||||
#define WINDOW_ADDR 0x00000000 /* physical properties of flash */
|
||||
#define WINDOW_SIZE 0x01000000
|
||||
|
@ -40,8 +37,6 @@ struct map_info edb7312nor_map = {
|
|||
.phys = WINDOW_ADDR,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_MTD_PARTITIONS
|
||||
|
||||
/*
|
||||
* MTD partitioning stuff
|
||||
*/
|
||||
|
@ -66,8 +61,6 @@ static struct mtd_partition static_partitions[3] =
|
|||
|
||||
static const char *probes[] = { "RedBoot", "cmdlinepart", NULL };
|
||||
|
||||
#endif
|
||||
|
||||
static int mtd_parts_nb = 0;
|
||||
static struct mtd_partition *mtd_parts = 0;
|
||||
|
||||
|
@ -96,27 +89,24 @@ static int __init init_edb7312nor(void)
|
|||
if (mymtd) {
|
||||
mymtd->owner = THIS_MODULE;
|
||||
|
||||
#ifdef CONFIG_MTD_PARTITIONS
|
||||
mtd_parts_nb = parse_mtd_partitions(mymtd, probes, &mtd_parts, MTDID);
|
||||
if (mtd_parts_nb > 0)
|
||||
part_type = "detected";
|
||||
part_type = "detected";
|
||||
|
||||
if (mtd_parts_nb == 0)
|
||||
{
|
||||
if (mtd_parts_nb == 0) {
|
||||
mtd_parts = static_partitions;
|
||||
mtd_parts_nb = ARRAY_SIZE(static_partitions);
|
||||
part_type = "static";
|
||||
}
|
||||
#endif
|
||||
add_mtd_device(mymtd);
|
||||
|
||||
if (mtd_parts_nb == 0)
|
||||
printk(KERN_NOTICE MSG_PREFIX "no partition info available\n");
|
||||
printk(KERN_NOTICE MSG_PREFIX "no partition info available\n");
|
||||
else
|
||||
{
|
||||
printk(KERN_NOTICE MSG_PREFIX
|
||||
"using %s partition definition\n", part_type);
|
||||
add_mtd_partitions(mymtd, mtd_parts, mtd_parts_nb);
|
||||
}
|
||||
/* Register the whole device first. */
|
||||
mtd_device_register(mymtd, NULL, 0);
|
||||
mtd_device_register(mymtd, mtd_parts, mtd_parts_nb);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -127,7 +117,7 @@ static int __init init_edb7312nor(void)
|
|||
static void __exit cleanup_edb7312nor(void)
|
||||
{
|
||||
if (mymtd) {
|
||||
del_mtd_device(mymtd);
|
||||
mtd_device_unregister(mymtd);
|
||||
map_destroy(mymtd);
|
||||
}
|
||||
if (edb7312nor_map.virt) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче