diff options
author | Huang Shijie <b32955@freescale.com> | 2014-02-24 18:37:40 +0800 |
---|---|---|
committer | Brian Norris <computersforpeace@gmail.com> | 2014-04-14 11:22:58 -0700 |
commit | 0d8c11c01274bde227d368daa8954911dd324a9f (patch) | |
tree | 74a5cea5d6cbe628aba708aa2117d344ca6475c1 | |
parent | 03e296f613affcc2671c1e86d8c25ecad867204e (diff) | |
download | op-kernel-dev-0d8c11c01274bde227d368daa8954911dd324a9f.zip op-kernel-dev-0d8c11c01274bde227d368daa8954911dd324a9f.tar.gz |
mtd: spi-nor: add a helper to find the spi_device_id
Add the spi_nor_match_id() to find the proper spi_device_id with the
NOR flash's name in the spi_nor_ids table.
Signed-off-by: Huang Shijie <b32955@freescale.com>
Acked-by: Marek Vasut <marex@denx.de>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
-rw-r--r-- | drivers/mtd/spi-nor/spi-nor.c | 12 | ||||
-rw-r--r-- | include/linux/mtd/spi-nor.h | 12 |
2 files changed, 24 insertions, 0 deletions
diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index 50b9290..f7c9e63 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -1082,6 +1082,18 @@ int spi_nor_scan(struct spi_nor *nor, const struct spi_device_id *id, return 0; } +const struct spi_device_id *spi_nor_match_id(char *name) +{ + const struct spi_device_id *id = spi_nor_ids; + + while (id->name[0]) { + if (!strcmp(name, id->name)) + return id; + id++; + } + return NULL; +} + MODULE_LICENSE("GPL"); MODULE_AUTHOR("Huang Shijie <shijie8@gmail.com>"); MODULE_AUTHOR("Mike Lavender"); diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h index 16d8409..41dae78 100644 --- a/include/linux/mtd/spi-nor.h +++ b/include/linux/mtd/spi-nor.h @@ -182,4 +182,16 @@ int spi_nor_scan(struct spi_nor *nor, const struct spi_device_id *id, enum read_mode mode); extern const struct spi_device_id spi_nor_ids[]; +/** + * spi_nor_match_id() - find the spi_device_id by the name + * @name: the name of the spi_device_id + * + * The drivers use this function to find the spi_device_id + * specified by the @name. + * + * Return: returns the right spi_device_id pointer on success, + * and returns NULL on failure. + */ +const struct spi_device_id *spi_nor_match_id(char *name); + #endif |