diff options
author | Jamie Iles <jamie@jamieiles.com> | 2011-05-23 05:22:56 -0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2011-05-24 21:21:19 -0400 |
commit | 711a632d1f0d3ffc576f7a298f66888f66014d61 (patch) | |
tree | f1d0ad298b45cffa24c5173fae60a642ec5b68f7 | |
parent | 47854888cc21cb1afd7797c66886a8b06cf35979 (diff) |
mtd: onenand: convert to mtd_device_register()
Convert to mtd_device_register() and remove the CONFIG_MTD_PARTITIONS
preprocessor conditionals as partitioning is always available.
Cc: Kyungmin Park <kyungmin.park@samsung.com>
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>
-rw-r--r-- | drivers/mtd/onenand/Kconfig | 1 | ||||
-rw-r--r-- | drivers/mtd/onenand/generic.c | 16 | ||||
-rw-r--r-- | drivers/mtd/onenand/onenand_base.c | 6 |
3 files changed, 5 insertions, 18 deletions
diff --git a/drivers/mtd/onenand/Kconfig b/drivers/mtd/onenand/Kconfig index 4f426195f8d..772ad296661 100644 --- a/drivers/mtd/onenand/Kconfig +++ b/drivers/mtd/onenand/Kconfig | |||
@@ -1,7 +1,6 @@ | |||
1 | menuconfig MTD_ONENAND | 1 | menuconfig MTD_ONENAND |
2 | tristate "OneNAND Device Support" | 2 | tristate "OneNAND Device Support" |
3 | depends on MTD | 3 | depends on MTD |
4 | select MTD_PARTITIONS | ||
5 | help | 4 | help |
6 | This enables support for accessing all type of OneNAND flash | 5 | This enables support for accessing all type of OneNAND flash |
7 | devices. For further information see | 6 | devices. For further information see |
diff --git a/drivers/mtd/onenand/generic.c b/drivers/mtd/onenand/generic.c index ac08750748a..2d70d354d84 100644 --- a/drivers/mtd/onenand/generic.c +++ b/drivers/mtd/onenand/generic.c | |||
@@ -30,9 +30,7 @@ | |||
30 | */ | 30 | */ |
31 | #define DRIVER_NAME "onenand-flash" | 31 | #define DRIVER_NAME "onenand-flash" |
32 | 32 | ||
33 | #ifdef CONFIG_MTD_PARTITIONS | ||
34 | static const char *part_probes[] = { "cmdlinepart", NULL, }; | 33 | static const char *part_probes[] = { "cmdlinepart", NULL, }; |
35 | #endif | ||
36 | 34 | ||
37 | struct onenand_info { | 35 | struct onenand_info { |
38 | struct mtd_info mtd; | 36 | struct mtd_info mtd; |
@@ -75,15 +73,13 @@ static int __devinit generic_onenand_probe(struct platform_device *pdev) | |||
75 | goto out_iounmap; | 73 | goto out_iounmap; |
76 | } | 74 | } |
77 | 75 | ||
78 | #ifdef CONFIG_MTD_PARTITIONS | ||
79 | err = parse_mtd_partitions(&info->mtd, part_probes, &info->parts, 0); | 76 | err = parse_mtd_partitions(&info->mtd, part_probes, &info->parts, 0); |
80 | if (err > 0) | 77 | if (err > 0) |
81 | add_mtd_partitions(&info->mtd, info->parts, err); | 78 | mtd_device_register(&info->mtd, info->parts, err); |
82 | else if (err <= 0 && pdata && pdata->parts) | 79 | else if (err <= 0 && pdata && pdata->parts) |
83 | add_mtd_partitions(&info->mtd, pdata->parts, pdata->nr_parts); | 80 | mtd_device_register(&info->mtd, pdata->parts, pdata->nr_parts); |
84 | else | 81 | else |
85 | #endif | 82 | err = mtd_device_register(&info->mtd, NULL, 0); |
86 | err = add_mtd_device(&info->mtd); | ||
87 | 83 | ||
88 | platform_set_drvdata(pdev, info); | 84 | platform_set_drvdata(pdev, info); |
89 | 85 | ||
@@ -108,11 +104,7 @@ static int __devexit generic_onenand_remove(struct platform_device *pdev) | |||
108 | platform_set_drvdata(pdev, NULL); | 104 | platform_set_drvdata(pdev, NULL); |
109 | 105 | ||
110 | if (info) { | 106 | if (info) { |
111 | if (info->parts) | 107 | mtd_device_unregister(&info->mtd); |
112 | del_mtd_partitions(&info->mtd); | ||
113 | else | ||
114 | del_mtd_device(&info->mtd); | ||
115 | |||
116 | onenand_release(&info->mtd); | 108 | onenand_release(&info->mtd); |
117 | release_mem_region(res->start, size); | 109 | release_mem_region(res->start, size); |
118 | iounmap(info->onenand.base); | 110 | iounmap(info->onenand.base); |
diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c index 289ee3b1b03..ac9e959802a 100644 --- a/drivers/mtd/onenand/onenand_base.c +++ b/drivers/mtd/onenand/onenand_base.c | |||
@@ -4142,12 +4142,8 @@ void onenand_release(struct mtd_info *mtd) | |||
4142 | { | 4142 | { |
4143 | struct onenand_chip *this = mtd->priv; | 4143 | struct onenand_chip *this = mtd->priv; |
4144 | 4144 | ||
4145 | #ifdef CONFIG_MTD_PARTITIONS | ||
4146 | /* Deregister partitions */ | 4145 | /* Deregister partitions */ |
4147 | del_mtd_partitions (mtd); | 4146 | mtd_device_unregister(mtd); |
4148 | #endif | ||
4149 | /* Deregister the device */ | ||
4150 | del_mtd_device (mtd); | ||
4151 | 4147 | ||
4152 | /* Free bad block table memory, if allocated */ | 4148 | /* Free bad block table memory, if allocated */ |
4153 | if (this->bbm) { | 4149 | if (this->bbm) { |