<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/drivers/i2c/algos/i2c-algo-bit.c, branch master</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2026-07-29T18:51:16+00:00</updated>
<entry>
<title>i2c: algo: bit: Allow to skip bit test</title>
<updated>2026-07-29T18:51:16+00:00</updated>
<author>
<name>Markus Stockhausen</name>
<email>markus.stockhausen@gmx.de</email>
</author>
<published>2026-07-14T16:29:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a40498ebe1b456a2f5e9e1c4182c636786963505'/>
<id>urn:sha1:a40498ebe1b456a2f5e9e1c4182c636786963505</id>
<content type='text'>
An I2C bus can make use of shared resources. E.g. two GPIO based buses
that share a single SCL line. To synchronize access to the bus the driver
might use locking with the help of i2c_lock_operations(). While this
works for normal transfers it is not available during initialization.

Especially if i2c-algo-bit module is loaded with parameter bit_test
it will issue some basic sanity checks that will access the bus without
locking. This might interfere badly with concurrent transfers. Even
if these are well synchronized via locks.

Allow the consumer of an algorithm to override if the bit_test is allowed
or not. For this add a new boolean attribute named skip_bit_test to
i2c_algo_bit_data. If set the test is not run.

Signed-off-by: Markus Stockhausen &lt;markus.stockhausen@gmx.de&gt;
Reviewed-by: Bartosz Golaszewski &lt;bartosz.golaszewski@oss.qualcomm.com&gt;
Reviewed-by: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Tested-by: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Signed-off-by: Andi Shyti &lt;andi.shyti@kernel.org&gt;
Link: https://lore.kernel.org/r/20260714162915.3018703-2-markus.stockhausen@gmx.de
</content>
</entry>
<entry>
<title>i2c: algo: bit: use str_plural helper in bit_xfer</title>
<updated>2026-06-16T21:58:35+00:00</updated>
<author>
<name>Thorsten Blum</name>
<email>thorsten.blum@linux.dev</email>
</author>
<published>2026-05-11T10:49:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=bb0301f856bfc0ea8192b8d2bd5a79bdc6d3d3f1'/>
<id>urn:sha1:bb0301f856bfc0ea8192b8d2bd5a79bdc6d3d3f1</id>
<content type='text'>
Replace the manual ternary "s" pluralizations with str_plural() to
simplify the code.

Signed-off-by: Thorsten Blum &lt;thorsten.blum@linux.dev&gt;
Signed-off-by: Andi Shyti &lt;andi.shyti@kernel.org&gt;
Link: https://lore.kernel.org/r/20260511104911.183606-3-thorsten.blum@linux.dev
</content>
</entry>
<entry>
<title>i2c: use inclusive callbacks in struct i2c_algorithm</title>
<updated>2025-06-12T08:05:31+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>wsa+renesas@sang-engineering.com</email>
</author>
<published>2025-06-12T07:27:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=614b1c3cbfb0ecbafd40284d2f8e67c865818714'/>
<id>urn:sha1:614b1c3cbfb0ecbafd40284d2f8e67c865818714</id>
<content type='text'>
Convert the I2C subsystem to drop using the 'master_'-prefixed callbacks
in favor of the simplified ones. Fix alignment of '=' while here.

Signed-off-by: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
</content>
</entry>
<entry>
<title>i2c: algo: bit: allow getsda to be NULL</title>
<updated>2023-01-23T22:15:49+00:00</updated>
<author>
<name>Heiner Kallweit</name>
<email>hkallweit1@gmail.com</email>
</author>
<published>2023-01-18T21:54:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9dfee1487c271b7904e38dea5bed8f6e2d058dc3'/>
<id>urn:sha1:9dfee1487c271b7904e38dea5bed8f6e2d058dc3</id>
<content type='text'>
This is in preparation of supporting write-only SDA in i2c-gpio.

Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@kernel.org&gt;
</content>
</entry>
<entry>
<title>i2c: algo: bit: use new macro to specifiy capabilities</title>
<updated>2021-01-22T08:59:21+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>wsa+renesas@sang-engineering.com</email>
</author>
<published>2021-01-09T12:43:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=58d23305db951feb0e4b597c91bd642d521aea01'/>
<id>urn:sha1:58d23305db951feb0e4b597c91bd642d521aea01</id>
<content type='text'>
Let's use the new macro for emulating SMBus with RECV_LEN support.

Signed-off-by: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@kernel.org&gt;
</content>
</entry>
<entry>
<title>i2c: algo: bit: add flag to whitelist atomic transfers</title>
<updated>2019-04-16T11:08:16+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>wsa+renesas@sang-engineering.com</email>
</author>
<published>2019-04-03T12:40:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8927fbf481248954ca1fc5e652171936b94905ac'/>
<id>urn:sha1:8927fbf481248954ca1fc5e652171936b94905ac</id>
<content type='text'>
Use the new xfer_atomic callback to check a newly introduced flag to
whitelist atomic transfers. This will report configurations which
worked accidently.

Signed-off-by: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: algo-bit: convert to SPDX header</title>
<updated>2019-02-05T13:05:03+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>wsa+renesas@sang-engineering.com</email>
</author>
<published>2019-01-19T12:16:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=738ac0679b969776a638daf2cfb5011049d467da'/>
<id>urn:sha1:738ac0679b969776a638daf2cfb5011049d467da</id>
<content type='text'>
And use kernel style for the remaining comments in the header.

Signed-off-by: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Reviewed-by: Simon Horman &lt;horms+renesas@verge.net.au&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: algos: bit: make the error messages grepable</title>
<updated>2018-08-30T21:11:42+00:00</updated>
<author>
<name>Jan Kundrát</name>
<email>jan.kundrat@cesnet.cz</email>
</author>
<published>2018-08-28T08:07:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1204d12a494cf5dff497859a5febf2ae30a28970'/>
<id>urn:sha1:1204d12a494cf5dff497859a5febf2ae30a28970</id>
<content type='text'>
Yep, I went looking for one of these, and I wasn't able to find it
easily.  That's worse than a line which is 82-chars long, IMHO.

Signed-off-by: Jan Kundrát &lt;jan.kundrat@cesnet.cz&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: algos: bit: mention our experience about initial states</title>
<updated>2018-06-29T06:19:51+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>wsa+renesas@sang-engineering.com</email>
</author>
<published>2018-06-16T13:37:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2173ed0adc7f0473e6b6ad636d8684a0d82da5e9'/>
<id>urn:sha1:2173ed0adc7f0473e6b6ad636d8684a0d82da5e9</id>
<content type='text'>
So, if somebody wants to re-implement this in the future, we pinpoint to
a problem case.

Signed-off-by: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Acked-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>Revert "i2c: algo-bit: init the bus to a known state"</title>
<updated>2018-06-29T06:19:41+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>wsa+renesas@sang-engineering.com</email>
</author>
<published>2018-06-16T13:37:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2a2c8ee2d72c4f1ba0f7fbb02dc74f971df0f934'/>
<id>urn:sha1:2a2c8ee2d72c4f1ba0f7fbb02dc74f971df0f934</id>
<content type='text'>
This reverts commit 3e5f06bed72fe72166a6778f630241a893f67799. As per
bugzilla #200045, this caused a regression. I don't really see a way to
fix it without having the hardware. So, revert the patch and I will fix
the issue I was seeing originally in the i2c-gpio driver itself. I
couldn't find new users of this algorithm since, so there should be no
one depending on the new behaviour.

Reported-by: Sergey Larin &lt;cerg2010cerg2010@mail.ru&gt;
Fixes: 3e5f06bed72f ("i2c: algo-bit: init the bus to a known state")
Signed-off-by: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Acked-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Tested-by: Sergey Larin &lt;cerg2010cerg2010@mail.ru&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
Cc: stable@kernel.org
</content>
</entry>
</feed>
