Re: [PATCH v1 1/1] nvmem: qcom-spmi-sdam: Enable multiple devices

From: Srinivas Kandagatla
Date: Mon Jul 20 2020 - 04:49:36 EST




On 14/07/2020 01:01, Guru Das Srinagesh wrote:
Specifying the name of the nvmem device while registering it with the
nvmem framework has the side effect of causing the second instance of a
device using this driver to fail probe with the following error message:

sysfs: cannot create duplicate filename '/bus/nvmem/devices/spmi_sdam'

Removing the name allows the nvmem framework to assign a monotonically
increasing integer id to each instance of this driver automatically,
like so:

/sys/bus/nvmem/devices # ls
nvmem0 nvmem1 nvmem2

Signed-off-by: Guru Das Srinagesh <gurus@xxxxxxxxxxxxxx>
---
drivers/nvmem/qcom-spmi-sdam.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/nvmem/qcom-spmi-sdam.c b/drivers/nvmem/qcom-spmi-sdam.c
index 8682cda..6275f14 100644
--- a/drivers/nvmem/qcom-spmi-sdam.c
+++ b/drivers/nvmem/qcom-spmi-sdam.c
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
- * Copyright (c) 2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017, 2020 The Linux Foundation. All rights reserved.
*/
#include <linux/device.h>
@@ -140,8 +140,6 @@ static int sdam_probe(struct platform_device *pdev)
sdam->size = val * 32;
sdam->sdam_config.dev = &pdev->dev;
- sdam->sdam_config.name = "spmi_sdam";
- sdam->sdam_config.id = pdev->id;

Please use new flag NVMEM_DEVID_AUTO introduced in https://git.kernel.org/pub/scm/linux/kernel/git/srini/nvmem.git/commit/?h=for-next&id=93ac5fdba1eddc679e9694b64f2fa321317df988 instead of pdev->id, which should fix the issue.

--srini

sdam->sdam_config.owner = THIS_MODULE,
sdam->sdam_config.stride = 1;
sdam->sdam_config.word_size = 1;