diff options
author | Andrey Smirnov <andrew.smirnov@gmail.com> | 2019-08-12 13:19:13 -0700 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-08-14 10:37:34 +0200 |
commit | e015a29fc9804afc0ce7baae4654dc1eee0c63a2 (patch) | |
tree | 20d07640af01c090f066817718848a603a3993f2 | |
parent | f3a5f5cdf7d9bfe98e4d97d9f73ac986bb21cd6a (diff) | |
download | barebox-e015a29fc9804afc0ce7baae4654dc1eee0c63a2.tar.gz barebox-e015a29fc9804afc0ce7baae4654dc1eee0c63a2.tar.xz |
nvmem: Parse partitions information
Add code to parse partition information that might be specified as a
part of the DT config.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/nvmem/core.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 122aac5990..25924872ef 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -92,6 +92,7 @@ static int nvmem_register_cdev(struct nvmem_device *nvmem, const char *name) struct device_d *dev = &nvmem->dev; struct cdev *cdev = &nvmem->cdev; const char *alias; + int ret; alias = of_alias_get(dev->device_node); @@ -100,7 +101,14 @@ static int nvmem_register_cdev(struct nvmem_device *nvmem, const char *name) cdev->dev = dev; cdev->size = nvmem->size; - return devfs_create(cdev); + ret = devfs_create(cdev); + if (ret) + return ret; + + of_parse_partitions(cdev, dev->device_node); + of_partitions_register_fixup(cdev); + + return 0; } static struct nvmem_device *of_nvmem_find(struct device_node *nvmem_np) |