diff options
author | Jamie Iles <jamie@jamieiles.com> | 2011-05-23 05:22:58 -0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2011-05-24 21:21:30 -0400 |
commit | 436c06da0482d7fb4843d3e546196b66433c56e6 (patch) | |
tree | cafdb20b5a352f0d820badbf64c3aa328c08d971 /drivers/mtd | |
parent | ba52f3a253d12848fa0e9c242a3406963ae98ece (diff) |
mtd: dataflash: 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>
Diffstat (limited to 'drivers/mtd')
-rw-r--r-- | drivers/mtd/devices/mtd_dataflash.c | 45 |
1 files changed, 18 insertions, 27 deletions
diff --git a/drivers/mtd/devices/mtd_dataflash.c b/drivers/mtd/devices/mtd_dataflash.c index c5015cc721d5..13749d458a31 100644 --- a/drivers/mtd/devices/mtd_dataflash.c +++ b/drivers/mtd/devices/mtd_dataflash.c | |||
@@ -637,6 +637,8 @@ add_dataflash_otp(struct spi_device *spi, char *name, | |||
637 | struct flash_platform_data *pdata = spi->dev.platform_data; | 637 | struct flash_platform_data *pdata = spi->dev.platform_data; |
638 | char *otp_tag = ""; | 638 | char *otp_tag = ""; |
639 | int err = 0; | 639 | int err = 0; |
640 | struct mtd_partition *parts; | ||
641 | int nr_parts = 0; | ||
640 | 642 | ||
641 | priv = kzalloc(sizeof *priv, GFP_KERNEL); | 643 | priv = kzalloc(sizeof *priv, GFP_KERNEL); |
642 | if (!priv) | 644 | if (!priv) |
@@ -675,33 +677,25 @@ add_dataflash_otp(struct spi_device *spi, char *name, | |||
675 | pagesize, otp_tag); | 677 | pagesize, otp_tag); |
676 | dev_set_drvdata(&spi->dev, priv); | 678 | dev_set_drvdata(&spi->dev, priv); |
677 | 679 | ||
678 | if (mtd_has_partitions()) { | 680 | if (mtd_has_cmdlinepart()) { |
679 | struct mtd_partition *parts; | 681 | static const char *part_probes[] = { "cmdlinepart", NULL, }; |
680 | int nr_parts = 0; | ||
681 | 682 | ||
682 | if (mtd_has_cmdlinepart()) { | 683 | nr_parts = parse_mtd_partitions(device, part_probes, &parts, |
683 | static const char *part_probes[] | 684 | 0); |
684 | = { "cmdlinepart", NULL, }; | 685 | } |
685 | |||
686 | nr_parts = parse_mtd_partitions(device, | ||
687 | part_probes, &parts, 0); | ||
688 | } | ||
689 | 686 | ||
690 | if (nr_parts <= 0 && pdata && pdata->parts) { | 687 | if (nr_parts <= 0 && pdata && pdata->parts) { |
691 | parts = pdata->parts; | 688 | parts = pdata->parts; |
692 | nr_parts = pdata->nr_parts; | 689 | nr_parts = pdata->nr_parts; |
693 | } | 690 | } |
694 | 691 | ||
695 | if (nr_parts > 0) { | 692 | if (nr_parts > 0) { |
696 | priv->partitioned = 1; | 693 | priv->partitioned = 1; |
697 | err = add_mtd_partitions(device, parts, nr_parts); | 694 | err = mtd_device_register(device, parts, nr_parts); |
698 | goto out; | 695 | goto out; |
699 | } | 696 | } |
700 | } else if (pdata && pdata->nr_parts) | ||
701 | dev_warn(&spi->dev, "ignoring %d default partitions on %s\n", | ||
702 | pdata->nr_parts, device->name); | ||
703 | 697 | ||
704 | if (add_mtd_device(device) == 1) | 698 | if (mtd_device_register(device, NULL, 0) == 1) |
705 | err = -ENODEV; | 699 | err = -ENODEV; |
706 | 700 | ||
707 | out: | 701 | out: |
@@ -939,10 +933,7 @@ static int __devexit dataflash_remove(struct spi_device *spi) | |||
939 | 933 | ||
940 | DEBUG(MTD_DEBUG_LEVEL1, "%s: remove\n", dev_name(&spi->dev)); | 934 | DEBUG(MTD_DEBUG_LEVEL1, "%s: remove\n", dev_name(&spi->dev)); |
941 | 935 | ||
942 | if (mtd_has_partitions() && flash->partitioned) | 936 | status = mtd_device_unregister(&flash->mtd); |
943 | status = del_mtd_partitions(&flash->mtd); | ||
944 | else | ||
945 | status = del_mtd_device(&flash->mtd); | ||
946 | if (status == 0) { | 937 | if (status == 0) { |
947 | dev_set_drvdata(&spi->dev, NULL); | 938 | dev_set_drvdata(&spi->dev, NULL); |
948 | kfree(flash); | 939 | kfree(flash); |