Message ID | 1594684888-19090-1-git-send-email-gurus@codeaurora.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v1,1/1] nvmem: qcom-spmi-sdam: Enable multiple devices | expand |
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@codeaurora.org> > --- > 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; >
On Mon, Jul 20, 2020 at 09:49:22AM +0100, Srinivas Kandagatla wrote: > > > 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@codeaurora.org> > >--- > > 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. Thank you for pointing this out, I've uploaded a v2 using this flag. Thank you. Guru Das.
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; sdam->sdam_config.owner = THIS_MODULE, sdam->sdam_config.stride = 1; sdam->sdam_config.word_size = 1;
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@codeaurora.org> --- drivers/nvmem/qcom-spmi-sdam.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)