From: "Przemysław Gaj" <pgaj@cadence.com>
To: <bbrezillon@kernel.org>
Cc: linux-i3c@lists.infradead.org, Przemyslaw Gaj <pgaj@cadence.com>,
rafalc@cadence.com, stable@vger.kernel.org,
vitor.soares@synopsys.com
Subject: [PATCH v4 1/6] i3c: master: make sure ->boardinfo is initialized in add_i3c_dev_locked()
Date: Tue, 10 Dec 2019 11:14:57 +0100 [thread overview]
Message-ID: <20191210101502.8401-2-pgaj@cadence.com> (raw)
In-Reply-To: <20191210101502.8401-1-pgaj@cadence.com>
From: Vitor Soares <vitor.soares@synopsys.com>
The newdev->boardinfo assignment was missing in
i3c_master_add_i3c_dev_locked() and hence the ->of_node info isn't
propagated to i3c_dev_desc.
Fix this by trying to initialize device i3c_dev_boardinfo if available.
Cc: <stable@vger.kernel.org>
Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure")
Signed-off-by: Vitor Soares <vitor.soares@synopsys.com>
Signed-off-by: Przemyslaw Gaj <pgaj@cadence.com>
---
Change in v4:
- Remove addrstatus check, this will be sent as a separate patch
Change in v3:
- None
Changes in v2:
- Change commit message
- Change i3c_master_search_i3c_boardinfo(newdev) to i3c_master_init_i3c_dev_boardinfo(newdev)
- Add fixes, stable tags
---
drivers/i3c/master.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
mode change 100644 => 100755 drivers/i3c/master.c
diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c
index 043691656245..5c06c41e6660
--- a/drivers/i3c/master.c
+++ b/drivers/i3c/master.c
@@ -1774,6 +1774,22 @@ i3c_master_search_i3c_dev_duplicate(struct i3c_dev_desc *refdev)
return NULL;
}
+static void i3c_master_init_i3c_dev_boardinfo(struct i3c_dev_desc *dev)
+{
+ struct i3c_master_controller *master = i3c_dev_get_master(dev);
+ struct i3c_dev_boardinfo *boardinfo;
+
+ if (dev->boardinfo)
+ return;
+
+ list_for_each_entry(boardinfo, &master->boardinfo.i3c, node) {
+ if (dev->info.pid == boardinfo->pid) {
+ dev->boardinfo = boardinfo;
+ return;
+ }
+ }
+}
+
/**
* i3c_master_add_i3c_dev_locked() - add an I3C slave to the bus
* @master: master used to send frames on the bus
@@ -1854,6 +1870,8 @@ int i3c_master_add_i3c_dev_locked(struct i3c_master_controller *master,
if (ret)
goto err_detach_dev;
+ i3c_master_init_i3c_dev_boardinfo(newdev);
+
/*
* Depending on our previous state, the expected dynamic address might
* differ:
--
2.14.0
_______________________________________________
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c
next prev parent reply other threads:[~2019-12-10 10:15 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-10 10:14 [PATCH v4 0/6] I3C device addresing adjustments Przemysław Gaj
2019-12-10 10:14 ` Przemysław Gaj [this message]
2019-12-10 10:14 ` [PATCH v4 2/6] i3c: master: pre-reserve boardinfo->init_dyn_addr when available Przemysław Gaj
2019-12-10 13:29 ` Boris Brezillon
2019-12-10 15:24 ` Vitor Soares
2019-12-11 8:51 ` Przemysław Gaj
2019-12-10 10:14 ` [PATCH v4 3/6] i3c: master: make sure the PID is set before registering the device Przemysław Gaj
2019-12-10 10:15 ` [PATCH v4 4/6] dt-bindings: i3c: Make 'assigned-address' valid if static address == 0 Przemysław Gaj
2019-12-10 10:15 ` [PATCH v4 5/6] dt-bindings: i3c: add a note for no guarantee of 'assigned-address' use Przemysław Gaj
2019-12-10 10:15 ` [PATCH v4 6/6] i3c: master: dw: reattach device on first available location of address table Przemysław Gaj
2019-12-10 14:40 ` Vitor Soares
2019-12-10 14:43 ` Przemysław Gaj
2019-12-10 14:52 ` Boris Brezillon
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=20191210101502.8401-2-pgaj@cadence.com \
--to=pgaj@cadence.com \
--cc=bbrezillon@kernel.org \
--cc=linux-i3c@lists.infradead.org \
--cc=rafalc@cadence.com \
--cc=stable@vger.kernel.org \
--cc=vitor.soares@synopsys.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox