diff options
Diffstat (limited to 'drivers/mtd/nand/fsmc_nand.c')
-rw-r--r-- | drivers/mtd/nand/fsmc_nand.c | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/drivers/mtd/nand/fsmc_nand.c b/drivers/mtd/nand/fsmc_nand.c index 0d45ef3883e8..e9b275ac381c 100644 --- a/drivers/mtd/nand/fsmc_nand.c +++ b/drivers/mtd/nand/fsmc_nand.c | |||
@@ -120,8 +120,6 @@ static struct fsmc_eccplace fsmc_ecc4_sp_place = { | |||
120 | } | 120 | } |
121 | }; | 121 | }; |
122 | 122 | ||
123 | |||
124 | #ifdef CONFIG_MTD_PARTITIONS | ||
125 | /* | 123 | /* |
126 | * Default partition tables to be used if the partition information not | 124 | * Default partition tables to be used if the partition information not |
127 | * provided through platform data. | 125 | * provided through platform data. |
@@ -182,7 +180,6 @@ static struct mtd_partition partition_info_128KB_blk[] = { | |||
182 | #ifdef CONFIG_MTD_CMDLINE_PARTS | 180 | #ifdef CONFIG_MTD_CMDLINE_PARTS |
183 | const char *part_probes[] = { "cmdlinepart", NULL }; | 181 | const char *part_probes[] = { "cmdlinepart", NULL }; |
184 | #endif | 182 | #endif |
185 | #endif | ||
186 | 183 | ||
187 | /** | 184 | /** |
188 | * struct fsmc_nand_data - structure for FSMC NAND device state | 185 | * struct fsmc_nand_data - structure for FSMC NAND device state |
@@ -719,7 +716,6 @@ static int __init fsmc_nand_probe(struct platform_device *pdev) | |||
719 | * platform data, | 716 | * platform data, |
720 | * default partition information present in driver. | 717 | * default partition information present in driver. |
721 | */ | 718 | */ |
722 | #ifdef CONFIG_MTD_PARTITIONS | ||
723 | #ifdef CONFIG_MTD_CMDLINE_PARTS | 719 | #ifdef CONFIG_MTD_CMDLINE_PARTS |
724 | /* | 720 | /* |
725 | * Check if partition info passed via command line | 721 | * Check if partition info passed via command line |
@@ -777,19 +773,10 @@ static int __init fsmc_nand_probe(struct platform_device *pdev) | |||
777 | } | 773 | } |
778 | #endif | 774 | #endif |
779 | 775 | ||
780 | if (host->partitions) { | 776 | ret = mtd_device_register(&host->mtd, host->partitions, |
781 | ret = add_mtd_partitions(&host->mtd, host->partitions, | 777 | host->nr_partitions); |
782 | host->nr_partitions); | 778 | if (ret) |
783 | if (ret) | ||
784 | goto err_probe; | ||
785 | } | ||
786 | #else | ||
787 | dev_info(&pdev->dev, "Registering %s as whole device\n", mtd->name); | ||
788 | if (!add_mtd_device(mtd)) { | ||
789 | ret = -ENXIO; | ||
790 | goto err_probe; | 779 | goto err_probe; |
791 | } | ||
792 | #endif | ||
793 | 780 | ||
794 | platform_set_drvdata(pdev, host); | 781 | platform_set_drvdata(pdev, host); |
795 | dev_info(&pdev->dev, "FSMC NAND driver registration successful\n"); | 782 | dev_info(&pdev->dev, "FSMC NAND driver registration successful\n"); |
@@ -835,11 +822,7 @@ static int fsmc_nand_remove(struct platform_device *pdev) | |||
835 | platform_set_drvdata(pdev, NULL); | 822 | platform_set_drvdata(pdev, NULL); |
836 | 823 | ||
837 | if (host) { | 824 | if (host) { |
838 | #ifdef CONFIG_MTD_PARTITIONS | 825 | mtd_device_unregister(&host->mtd); |
839 | del_mtd_partitions(&host->mtd); | ||
840 | #else | ||
841 | del_mtd_device(&host->mtd); | ||
842 | #endif | ||
843 | clk_disable(host->clk); | 826 | clk_disable(host->clk); |
844 | clk_put(host->clk); | 827 | clk_put(host->clk); |
845 | 828 | ||