<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/drivers/i3c, branch master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/drivers/i3c?h=master</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/drivers/i3c?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2022-10-12T21:45:29Z</updated>
<entry>
<title>i3c: master: Remove the wrong place of reattach.</title>
<updated>2022-10-12T21:45:29Z</updated>
<author>
<name>Billy Tsai</name>
<email>billy_tsai@aspeedtech.com</email>
</author>
<published>2022-09-26T10:51:45Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=90f4a09a15239f4a819b2e90a7a0b92a75060655'/>
<id>urn:sha1:90f4a09a15239f4a819b2e90a7a0b92a75060655</id>
<content type='text'>
The reattach should be used when an I3C device has its address changed.
But the modified place in this patch doesn't have the address changed of
the newdev. This wrong reattach will reserve the same address slot twice
and return unexpected -EBUSY when the bus find the duplicate device with
diffent dynamic address.

Signed-off-by: Billy Tsai &lt;billy_tsai@aspeedtech.com&gt;
Link: https://lore.kernel.org/r/20220926105145.8145-2-billy_tsai@aspeedtech.com
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
</content>
</entry>
<entry>
<title>i3c: master: Free the old_dyn_addr when reattach.</title>
<updated>2022-10-12T21:45:29Z</updated>
<author>
<name>Billy Tsai</name>
<email>billy_tsai@aspeedtech.com</email>
</author>
<published>2022-09-26T10:51:44Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=d4fa7d772adc02451076b3ad1f990d8b822909fc'/>
<id>urn:sha1:d4fa7d772adc02451076b3ad1f990d8b822909fc</id>
<content type='text'>
This patch is used to free the old_dyn_addr when the caller want to
reattach the device to the different dynamic address. If the
old_dyn_addr is 0 the function will treat it as no old_dyn_addr is
reserved on the bus. Without the patch, when the driver reattach the i3c
device after setnewda the old_dyn_addr will be permanently occupied.

Signed-off-by: Billy Tsai &lt;billy_tsai@aspeedtech.com&gt;
Link: https://lore.kernel.org/r/20220926105145.8145-1-billy_tsai@aspeedtech.com
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
</content>
</entry>
<entry>
<title>i3c: master: svc: fix returnvar.cocci warning</title>
<updated>2022-05-17T20:34:42Z</updated>
<author>
<name>Guo Zhengkui</name>
<email>guozhengkui@vivo.com</email>
</author>
<published>2022-05-04T16:49:01Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=227fab1ee7ca70c9b4b0915898e81327aeb70414'/>
<id>urn:sha1:227fab1ee7ca70c9b4b0915898e81327aeb70414</id>
<content type='text'>
Fix the following coccicheck warning:

drivers/i3c/master/svc-i3c-master.c:1600:5-8:
Unneeded variable: "ret". Return "0" on line 1605.

Signed-off-by: Guo Zhengkui &lt;guozhengkui@vivo.com&gt;
Reviewed-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Link: https://lore.kernel.org/r/20220504164901.9622-1-guozhengkui@vivo.com
</content>
</entry>
<entry>
<title>i3c/master: simplify the return expression of i3c_hci_remove()</title>
<updated>2022-05-17T20:33:43Z</updated>
<author>
<name>Minghao Chi</name>
<email>chi.minghao@zte.com.cn</email>
</author>
<published>2022-05-05T02:19:54Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=c157a606e7525409208a51bd6663d6da3757d69e'/>
<id>urn:sha1:c157a606e7525409208a51bd6663d6da3757d69e</id>
<content type='text'>
Simplify the return expression.

Reported-by: Zeal Robot &lt;zealci@zte.com.cn&gt;
Signed-off-by: Minghao Chi &lt;chi.minghao@zte.com.cn&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Link: https://lore.kernel.org/r/20220505021954.54524-1-chi.minghao@zte.com.cn
</content>
</entry>
<entry>
<title>i3c: fix uninitialized variable use in i2c setup</title>
<updated>2022-03-08T21:33:52Z</updated>
<author>
<name>Jamie Iles</name>
<email>quic_jiles@quicinc.com</email>
</author>
<published>2022-03-08T13:42:26Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=6cbf8b38dfe3aabe330f2c356949bc4d6a1f034f'/>
<id>urn:sha1:6cbf8b38dfe3aabe330f2c356949bc4d6a1f034f</id>
<content type='text'>
Commit 31b9887c7258 ("i3c: remove i2c board info from i2c_dev_desc")
removed the boardinfo from i2c_dev_desc to decouple device enumeration from
setup but did not correctly lookup the i2c_dev_desc to store the new
device, instead dereferencing an uninitialized variable.

Lookup the device that has already been registered by address to store
the i2c client device.

Fixes: 31b9887c7258 ("i3c: remove i2c board info from i2c_dev_desc")
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Cc: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Jamie Iles &lt;quic_jiles@quicinc.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Link: https://lore.kernel.org/r/20220308134226.1042367-1-quic_jiles@quicinc.com
</content>
</entry>
<entry>
<title>i3c: support dynamically added i2c devices</title>
<updated>2022-03-04T10:39:03Z</updated>
<author>
<name>Jamie Iles</name>
<email>quic_jiles@quicinc.com</email>
</author>
<published>2022-01-17T17:48:16Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=72a4501b5d089772671360a6ec74d5350acf8c2e'/>
<id>urn:sha1:72a4501b5d089772671360a6ec74d5350acf8c2e</id>
<content type='text'>
I2C devices can be added to the system dynamically through several
sources other than static board info including device tree overlays and
sysfs i2c new_device.

Add an I2C bus notifier to attach the clients at runtime if they were
not defined in the board info.  For DT devices find the LVR in the reg
property, for user-space new_device additions we synthesize a
conservative setting of no spike filters and fast mode only.

Cc: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Jamie Iles &lt;quic_jiles@quicinc.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Link: https://lore.kernel.org/r/20220117174816.1963463-3-quic_jiles@quicinc.com
</content>
</entry>
<entry>
<title>i3c: remove i2c board info from i2c_dev_desc</title>
<updated>2022-03-04T10:39:03Z</updated>
<author>
<name>Jamie Iles</name>
<email>quic_jiles@quicinc.com</email>
</author>
<published>2022-01-17T17:48:15Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=31b9887c7258ca47d9c665a80f19f006c86756b1'/>
<id>urn:sha1:31b9887c7258ca47d9c665a80f19f006c86756b1</id>
<content type='text'>
I2C board info is only required during adapter setup so there is no
requirement to keeping a pointer to it once running.  To support dynamic
device addition we can't rely on board info - user-space creation
through sysfs won't have a boardinfo.

Cc: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Jamie Iles &lt;quic_jiles@quicinc.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Link: https://lore.kernel.org/r/20220117174816.1963463-2-quic_jiles@quicinc.com
</content>
</entry>
<entry>
<title>i3c: master: dw: check return of dw_i3c_master_get_free_pos()</title>
<updated>2022-01-13T01:05:50Z</updated>
<author>
<name>Tom Rix</name>
<email>trix@redhat.com</email>
</author>
<published>2022-01-08T15:09:48Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=13462ba1815db5a96891293a9cfaa2451f7bd623'/>
<id>urn:sha1:13462ba1815db5a96891293a9cfaa2451f7bd623</id>
<content type='text'>
Clang static analysis reports this problem
dw-i3c-master.c:799:9: warning: The result of the left shift is
  undefined because the left operand is negative
                      COMMAND_PORT_DEV_INDEX(pos) |
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~

pos can be negative because dw_i3c_master_get_free_pos() can return an
error.  So check for an error.

Fixes: 1dd728f5d4d4 ("i3c: master: Add driver for Synopsys DesignWare IP")
Signed-off-by: Tom Rix &lt;trix@redhat.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Link: https://lore.kernel.org/r/20220108150948.3988790-1-trix@redhat.com
</content>
</entry>
<entry>
<title>i3c: master: mipi-i3c-hci: correct the config reference for endianness</title>
<updated>2022-01-05T08:54:54Z</updated>
<author>
<name>Lukas Bulwahn</name>
<email>lukas.bulwahn@gmail.com</email>
</author>
<published>2022-01-03T09:45:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=7a2bccd1a27f0c8fc87e4ed56abd6ea9fa7314a6'/>
<id>urn:sha1:7a2bccd1a27f0c8fc87e4ed56abd6ea9fa7314a6</id>
<content type='text'>
The referred config BIG_ENDIAN does not exist. The config for the
endianness of the CPU architecture is called CPU_BIG_ENDIAN.

Correct the config name to the existing config for the endianness.

Signed-off-by: Lukas Bulwahn &lt;lukas.bulwahn@gmail.com&gt;
Acked-by: Nicolas Pitre &lt;npitre@baylibre.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Link: https://lore.kernel.org/r/20220103094504.3602-1-lukas.bulwahn@gmail.com
</content>
</entry>
<entry>
<title>i3c: master: svc: enable the interrupt in the enable ibi function</title>
<updated>2022-01-05T08:53:44Z</updated>
<author>
<name>Clark Wang</name>
<email>xiaoning.wang@nxp.com</email>
</author>
<published>2021-12-27T07:45:29Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=7ff730ca458e841dbcdc87f264d7afe3eaed525e'/>
<id>urn:sha1:7ff730ca458e841dbcdc87f264d7afe3eaed525e</id>
<content type='text'>
If enable interrupt in the svc_i3c_master_bus_init() but do not call
enable ibi in the device driver, it will cause a kernel dump in the
svc_i3c_master_handle_ibi() when a slave start occurs on the i3c bus,
because the data-&gt;ibi_pool is not initialized.
So only enable the interrupt in svc_i3c_master_enable_ibi() function.

Signed-off-by: Clark Wang &lt;xiaoning.wang@nxp.com&gt;
Reviewed-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Link: https://lore.kernel.org/r/20211227074529.1660398-9-xiaoning.wang@nxp.com
</content>
</entry>
</feed>
