diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2010-01-29 20:57:11 +0000 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2010-02-25 11:37:16 +0000 |
commit | f1332ba2f23800bb5d52457ac150c568dfb1f3bf (patch) | |
tree | 1c5c9e3d2727ea39f0bdc03e47b5f895fa0c1b7b /drivers/mtd/mtdcore.h | |
parent | 0040476b0efa99ad0d4ffb81d8e882095420d288 (diff) |
mtd: Introduce and use iteration macro for reading the MTD device table
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd/mtdcore.h')
-rw-r--r-- | drivers/mtd/mtdcore.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/mtd/mtdcore.h b/drivers/mtd/mtdcore.h index a33251f4b872..e2f93a300738 100644 --- a/drivers/mtd/mtdcore.h +++ b/drivers/mtd/mtdcore.h @@ -9,3 +9,18 @@ extern struct mutex mtd_table_mutex; extern struct mtd_info *mtd_table[MAX_MTD_DEVICES]; + +static inline struct mtd_info *__mtd_next_device(int i) +{ + while (i < MAX_MTD_DEVICES) { + if (mtd_table[i]) + return mtd_table[i]; + i++; + } + return NULL; +} + +#define mtd_for_each_device(mtd) \ + for ((mtd) = __mtd_next_device(0); \ + (mtd) != NULL; \ + (mtd) = __mtd_next_device(mtd->index + 1)) |