diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2009-03-04 15:01:41 -0500 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2009-03-20 09:16:44 -0400 |
commit | a4b6d516a6079c6ba8dc97d185371439035a35d0 (patch) | |
tree | b53616a18b80d9d35a865ece4d4e3711c8dea074 | |
parent | 7ed8c7d440d497913a2218831a67b5897e0e86e1 (diff) |
[MTD] partitioning utility predicates
Move mtd_has_partitions() and mtd_has_cmdlinepart() inlines from a
DaVinci-specific driver to the <linux/mtd/partitions.h> header.
Use those to eliminate #ifdefs in two drivers which had their own
definitions of mtd_has_partitions().
Quite a lot of other MTD drivers could benefit from using use one or both
of these to remove #ifdeffery. Maybe some Janitors would like to help.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
-rw-r--r-- | drivers/mtd/devices/m25p80.c | 17 | ||||
-rw-r--r-- | drivers/mtd/devices/mtd_dataflash.c | 16 | ||||
-rw-r--r-- | drivers/mtd/nand/davinci_nand.c | 13 | ||||
-rw-r--r-- | include/linux/mtd/partitions.h | 12 |
4 files changed, 24 insertions, 34 deletions
diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c index 7c3fc766dcf1..98b0faf6696d 100644 --- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c | |||
@@ -65,12 +65,6 @@ | |||
65 | #define FAST_READ_DUMMY_BYTE 0 | 65 | #define FAST_READ_DUMMY_BYTE 0 |
66 | #endif | 66 | #endif |
67 | 67 | ||
68 | #ifdef CONFIG_MTD_PARTITIONS | ||
69 | #define mtd_has_partitions() (1) | ||
70 | #else | ||
71 | #define mtd_has_partitions() (0) | ||
72 | #endif | ||
73 | |||
74 | /****************************************************************************/ | 68 | /****************************************************************************/ |
75 | 69 | ||
76 | struct m25p { | 70 | struct m25p { |
@@ -708,12 +702,13 @@ static int __devinit m25p_probe(struct spi_device *spi) | |||
708 | struct mtd_partition *parts = NULL; | 702 | struct mtd_partition *parts = NULL; |
709 | int nr_parts = 0; | 703 | int nr_parts = 0; |
710 | 704 | ||
711 | #ifdef CONFIG_MTD_CMDLINE_PARTS | 705 | if (mtd_has_cmdlinepart()) { |
712 | static const char *part_probes[] = { "cmdlinepart", NULL, }; | 706 | static const char *part_probes[] |
707 | = { "cmdlinepart", NULL, }; | ||
713 | 708 | ||
714 | nr_parts = parse_mtd_partitions(&flash->mtd, | 709 | nr_parts = parse_mtd_partitions(&flash->mtd, |
715 | part_probes, &parts, 0); | 710 | part_probes, &parts, 0); |
716 | #endif | 711 | } |
717 | 712 | ||
718 | if (nr_parts <= 0 && data && data->parts) { | 713 | if (nr_parts <= 0 && data && data->parts) { |
719 | parts = data->parts; | 714 | parts = data->parts; |
diff --git a/drivers/mtd/devices/mtd_dataflash.c b/drivers/mtd/devices/mtd_dataflash.c index 6d9f810565c8..d95f74a93bce 100644 --- a/drivers/mtd/devices/mtd_dataflash.c +++ b/drivers/mtd/devices/mtd_dataflash.c | |||
@@ -98,12 +98,6 @@ struct dataflash { | |||
98 | struct mtd_info mtd; | 98 | struct mtd_info mtd; |
99 | }; | 99 | }; |
100 | 100 | ||
101 | #ifdef CONFIG_MTD_PARTITIONS | ||
102 | #define mtd_has_partitions() (1) | ||
103 | #else | ||
104 | #define mtd_has_partitions() (0) | ||
105 | #endif | ||
106 | |||
107 | /* ......................................................................... */ | 101 | /* ......................................................................... */ |
108 | 102 | ||
109 | /* | 103 | /* |
@@ -682,11 +676,13 @@ add_dataflash_otp(struct spi_device *spi, char *name, | |||
682 | struct mtd_partition *parts; | 676 | struct mtd_partition *parts; |
683 | int nr_parts = 0; | 677 | int nr_parts = 0; |
684 | 678 | ||
685 | #ifdef CONFIG_MTD_CMDLINE_PARTS | 679 | if (mtd_has_cmdlinepart()) { |
686 | static const char *part_probes[] = { "cmdlinepart", NULL, }; | 680 | static const char *part_probes[] |
681 | = { "cmdlinepart", NULL, }; | ||
687 | 682 | ||
688 | nr_parts = parse_mtd_partitions(device, part_probes, &parts, 0); | 683 | nr_parts = parse_mtd_partitions(device, |
689 | #endif | 684 | part_probes, &parts, 0); |
685 | } | ||
690 | 686 | ||
691 | if (nr_parts <= 0 && pdata && pdata->parts) { | 687 | if (nr_parts <= 0 && pdata && pdata->parts) { |
692 | parts = pdata->parts; | 688 | parts = pdata->parts; |
diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c index 4034ac945041..81f7ecd23c60 100644 --- a/drivers/mtd/nand/davinci_nand.c +++ b/drivers/mtd/nand/davinci_nand.c | |||
@@ -38,19 +38,6 @@ | |||
38 | #include <asm/mach-types.h> | 38 | #include <asm/mach-types.h> |
39 | 39 | ||
40 | 40 | ||
41 | #ifdef CONFIG_MTD_PARTITIONS | ||
42 | static inline int mtd_has_partitions(void) { return 1; } | ||
43 | #else | ||
44 | static inline int mtd_has_partitions(void) { return 0; } | ||
45 | #endif | ||
46 | |||
47 | #ifdef CONFIG_MTD_CMDLINE_PARTS | ||
48 | static inline int mtd_has_cmdlinepart(void) { return 1; } | ||
49 | #else | ||
50 | static inline int mtd_has_cmdlinepart(void) { return 0; } | ||
51 | #endif | ||
52 | |||
53 | |||
54 | /* | 41 | /* |
55 | * This is a device driver for the NAND flash controller found on the | 42 | * This is a device driver for the NAND flash controller found on the |
56 | * various DaVinci family chips. It handles up to four SoC chipselects, | 43 | * various DaVinci family chips. It handles up to four SoC chipselects, |
diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h index a45dd831b3f8..7535a74083b9 100644 --- a/include/linux/mtd/partitions.h +++ b/include/linux/mtd/partitions.h | |||
@@ -76,4 +76,16 @@ int __devinit of_mtd_parse_partitions(struct device *dev, | |||
76 | struct device_node *node, | 76 | struct device_node *node, |
77 | struct mtd_partition **pparts); | 77 | struct mtd_partition **pparts); |
78 | 78 | ||
79 | #ifdef CONFIG_MTD_PARTITIONS | ||
80 | static inline int mtd_has_partitions(void) { return 1; } | ||
81 | #else | ||
82 | static inline int mtd_has_partitions(void) { return 0; } | ||
83 | #endif | ||
84 | |||
85 | #ifdef CONFIG_MTD_CMDLINE_PARTS | ||
86 | static inline int mtd_has_cmdlinepart(void) { return 1; } | ||
87 | #else | ||
88 | static inline int mtd_has_cmdlinepart(void) { return 0; } | ||
89 | #endif | ||
90 | |||
79 | #endif | 91 | #endif |