All of lore.kernel.org
 help / color / mirror / Atom feed
From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
To: gregkh@linuxfoundation.org
Cc: linux-kernel@vger.kernel.org,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	Shawn Guo <shawn.guo@linaro.org>
Subject: [PATCH 08/14] nvmem: qfprom: use NVMEM_DEVID_AUTO for multiple instances
Date: Wed, 22 Jul 2020 11:06:59 +0100	[thread overview]
Message-ID: <20200722100705.7772-9-srinivas.kandagatla@linaro.org> (raw)
In-Reply-To: <20200722100705.7772-1-srinivas.kandagatla@linaro.org>

There could be multiple qfprom devices on some SoCs.  For example, on
MSM8939, qfprom@58000 holds efuse bits for Core Power Reduction (CPR),
and qfprom@5c000 holds bits for TSENS.  Registering multiple nvmem
devices with the same id results in the following failure on the second
device.

[    1.682731] sysfs: cannot create duplicate filename /bus/nvmem/devices/qfprom0
[    1.685889] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.19.107-00567-g11c887ce2838-dirty #334
[    1.693191] Hardware name: Square, Inc. T2 Devkit (DT)
[    1.701610] Call trace:
[    1.706673]  dump_backtrace+0x0/0x158
[    1.708987]  show_stack+0x14/0x20
[    1.712810]  dump_stack+0x98/0xbc
[    1.716114]  sysfs_warn_dup+0x60/0x78
[    1.719401]  sysfs_do_create_link_sd.isra.0+0xdc/0xe8
[    1.723047]  sysfs_create_link+0x20/0x40
[    1.728088]  bus_add_device+0x68/0x130
[    1.732083]  device_add+0x3f8/0x628
[    1.735639]  nvmem_register.part.4+0x150/0x348
[    1.739018]  devm_nvmem_register+0x4c/0xa8
[    1.743532]  qfprom_probe+0x94/0xb8
[    1.747615]  platform_drv_probe+0x50/0xa0
[    1.750998]  really_probe+0x1b8/0x298
[    1.755164]  driver_probe_device+0x58/0x100
[    1.758810]  __driver_attach+0xe0/0xe8
[    1.762802]  bus_for_each_dev+0x74/0xc8
[    1.766622]  driver_attach+0x20/0x28
[    1.770354]  bus_add_driver+0x1ac/0x218
[    1.774175]  driver_register+0x60/0x110
[    1.777734]  __platform_driver_register+0x40/0x48
[    1.781570]  qfprom_driver_init+0x18/0x20
[    1.786416]  do_one_initcall+0x5c/0x178
[    1.790418]  kernel_init_freeable+0x198/0x244
[    1.794062]  kernel_init+0x10/0x108
[    1.798567]  ret_from_fork+0x10/0x18
[    1.802084] qcom,qfprom: probe of 5c000.qfprom failed with error -17

Fix this issue by using NVMEM_DEVID_AUTO.

Reported-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
---
 drivers/nvmem/qfprom.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/nvmem/qfprom.c b/drivers/nvmem/qfprom.c
index 8a91717600be..8b425f8d847d 100644
--- a/drivers/nvmem/qfprom.c
+++ b/drivers/nvmem/qfprom.c
@@ -31,6 +31,7 @@ static struct nvmem_config econfig = {
 	.name = "qfprom",
 	.stride = 1,
 	.word_size = 1,
+	.id = NVMEM_DEVID_AUTO,
 	.reg_read = qfprom_reg_read,
 };
 
-- 
2.21.0


  parent reply	other threads:[~2020-07-22 10:08 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-22 10:06 [PATCH 00/14] nvmem: patches (set 1) for 5.9 Srinivas Kandagatla
2020-07-22 10:06 ` [PATCH 01/14] nvmem: sprd: Fix return value of sprd_efuse_probe() Srinivas Kandagatla
2020-07-22 10:06 ` [PATCH 02/14] MAINTAINERS: Add git tree for NVMEM FRAMEWORK Srinivas Kandagatla
2020-07-22 10:06 ` [PATCH 03/14] nvmem: Enforce nvmem stride in the sysfs interface Srinivas Kandagatla
2020-07-22 10:06 ` [PATCH 04/14] nvmem: sc27xx: add sc2730 efuse support Srinivas Kandagatla
2020-07-22 10:06 ` [PATCH 05/14] nvmem: core: Grammar fixes for help text Srinivas Kandagatla
2020-07-22 10:06 ` [PATCH 06/14] nvmem: core: Add nvmem_cell_read_u8() Srinivas Kandagatla
2020-07-22 10:06 ` [PATCH 07/14] nvmem: core: add support to auto devid Srinivas Kandagatla
2020-07-22 10:06 ` Srinivas Kandagatla [this message]
2020-07-22 10:07 ` [PATCH 09/14] dt-bindings: nvmem: qfprom: Convert to yaml Srinivas Kandagatla
2020-07-22 10:07 ` [PATCH 10/14] dt-bindings: nvmem: Add properties needed for blowing fuses Srinivas Kandagatla
2020-07-22 10:07 ` [PATCH 11/14] nvmem: qfprom: Add fuse blowing support Srinivas Kandagatla
2020-07-22 10:07 ` [PATCH 12/14] nvmem: update Kconfig description Srinivas Kandagatla
2020-07-22 10:07 ` [PATCH 13/14] dt-bindings: nvmem: SID: add binding for A100's SID controller Srinivas Kandagatla
2020-07-22 10:07 ` [PATCH 14/14] nvmem: qcom-spmi-sdam: Enable multiple devices Srinivas Kandagatla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200722100705.7772-9-srinivas.kandagatla@linaro.org \
    --to=srinivas.kandagatla@linaro.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=shawn.guo@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.