<feed xmlns='http://www.w3.org/2005/Atom'>
<title>starfive-tech/linux.git/include/linux/i2c.h, branch visionfive_v1_5.13</title>
<subtitle>StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)</subtitle>
<id>https://git.radix-linux.su/starfive-tech/linux.git/atom?h=visionfive_v1_5.13</id>
<link rel='self' href='https://git.radix-linux.su/starfive-tech/linux.git/atom?h=visionfive_v1_5.13'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/'/>
<updated>2021-04-10T19:59:21+00:00</updated>
<entry>
<title>i2c: ensure timely release of driver-allocated resources</title>
<updated>2021-04-10T19:59:21+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2021-03-22T01:38:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=5b5475826c5265cead7ce4ca6d34ec0c566c70aa'/>
<id>urn:sha1:5b5475826c5265cead7ce4ca6d34ec0c566c70aa</id>
<content type='text'>
More and more drivers rely on devres to manage their resources, however
if bus' probe() and release() methods are not trivial and control some
of resources as well (for example enable or disable clocks, or attach
device to a power domain), we need to make sure that driver-allocated
resources are released immediately after driver's remove() method
returns, and not postponed until driver core gets around to releasing
resources. To fix that we open a new devres group before calling
driver's probe() and explicitly release it when we return from driver's
remove().

Tested-by: Jeff LaBundy &lt;jeff@labundy.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@kernel.org&gt;
</content>
</entry>
<entry>
<title>i2c: core: add api to provide frequency mode strings</title>
<updated>2021-04-10T19:53:51+00:00</updated>
<author>
<name>Yicong Yang</name>
<email>yangyicong@hisilicon.com</email>
</author>
<published>2021-04-08T11:17:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=3b4c747cd32078172dd238929e38a43cfed83580'/>
<id>urn:sha1:3b4c747cd32078172dd238929e38a43cfed83580</id>
<content type='text'>
Some I2C drivers like Designware and HiSilicon will print the
bus frequency mode information, so add a public one that everyone
can make use of.

Tested-by: Jarkko Nikula &lt;jarkko.nikula@linux.intel.com&gt;
Reviewed-by: Jarkko Nikula &lt;jarkko.nikula@linux.intel.com&gt;
Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Signed-off-by: Yicong Yang &lt;yangyicong@hisilicon.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@kernel.org&gt;
</content>
</entry>
<entry>
<title>i2c: core: add managed function for adding i2c adapters</title>
<updated>2021-04-10T19:53:49+00:00</updated>
<author>
<name>Yicong Yang</name>
<email>yangyicong@hisilicon.com</email>
</author>
<published>2021-04-08T11:17:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=07740c92ae57ca21204f1e0c6f59272cdf3190cc'/>
<id>urn:sha1:07740c92ae57ca21204f1e0c6f59272cdf3190cc</id>
<content type='text'>
Some I2C controller drivers will only unregister the I2C
adapter in their .remove() callback, which can be done
by simply using a managed variant to add the I2C adapter.

So add the managed functions for adding the I2C adapter.

Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Reviewed-by: Dmitry Osipenko &lt;digetx@gmail.com&gt;
Signed-off-by: Yicong Yang &lt;yangyicong@hisilicon.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'i2c/software-nodes' into i2c/for-5.13</title>
<updated>2021-04-10T19:48:34+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>wsa@kernel.org</email>
</author>
<published>2021-04-10T19:48:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=2375843b50d6139b82648499daaad2034576905b'/>
<id>urn:sha1:2375843b50d6139b82648499daaad2034576905b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>i2c: Remove support for dangling device properties</title>
<updated>2021-04-10T19:43:02+00:00</updated>
<author>
<name>Heikki Krogerus</name>
<email>heikki.krogerus@linux.intel.com</email>
</author>
<published>2021-03-29T10:50:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=4b2b4cc50ba6d607d1611ea6b2046a58d16e45eb'/>
<id>urn:sha1:4b2b4cc50ba6d607d1611ea6b2046a58d16e45eb</id>
<content type='text'>
From now on only accepting complete software nodes.

Signed-off-by: Heikki Krogerus &lt;heikki.krogerus@linux.intel.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@kernel.org&gt;
</content>
</entry>
<entry>
<title>i2c: Add support for software nodes</title>
<updated>2021-04-08T21:45:55+00:00</updated>
<author>
<name>Heikki Krogerus</name>
<email>heikki.krogerus@linux.intel.com</email>
</author>
<published>2021-03-29T10:50:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=714638e02d94fa28c9e030d13d03e663fe24925e'/>
<id>urn:sha1:714638e02d94fa28c9e030d13d03e663fe24925e</id>
<content type='text'>
This makes it possible for the drivers to assign complete
software fwnodes to the devices instead of only the device
properties in those nodes.

Signed-off-by: Heikki Krogerus &lt;heikki.krogerus@linux.intel.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@kernel.org&gt;
</content>
</entry>
<entry>
<title>i2c: Add I2C_AQ_NO_REP_START adapter quirk</title>
<updated>2021-04-05T20:40:59+00:00</updated>
<author>
<name>Bence Csókás</name>
<email>bence98@sch.bme.hu</email>
</author>
<published>2021-03-31T19:19:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=aca01415e076aa96cca0f801f4420ee5c10c660d'/>
<id>urn:sha1:aca01415e076aa96cca0f801f4420ee5c10c660d</id>
<content type='text'>
This quirk signifies that the adapter cannot do a repeated
START, it always issues a STOP condition after transfers.

Suggested-by: Wolfram Sang &lt;wsa@kernel.org&gt;
Signed-off-by: Bence Csókás &lt;bence98@sch.bme.hu&gt;
Signed-off-by: Wolfram Sang &lt;wsa@kernel.org&gt;
</content>
</entry>
<entry>
<title>i2c: Switch to using the new API kobj_to_dev()</title>
<updated>2020-09-21T09:45:43+00:00</updated>
<author>
<name>Tian Tao</name>
<email>tiantao6@hisilicon.com</email>
</author>
<published>2020-09-15T01:38:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=b1d4dc15b2f430a4f541ab6c91e63a71cf230b7d'/>
<id>urn:sha1:b1d4dc15b2f430a4f541ab6c91e63a71cf230b7d</id>
<content type='text'>
Switch to using the new API kobj_to_dev().

Signed-off-by: Tian Tao &lt;tiantao6@hisilicon.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'i2c/for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux</title>
<updated>2020-08-14T01:41:00+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2020-08-14T01:41:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=e764a1e32337aaf325fc5b14a5bbd06eabba4699'/>
<id>urn:sha1:e764a1e32337aaf325fc5b14a5bbd06eabba4699</id>
<content type='text'>
Pull i2c updates from Wolfram Sang:

 - bus recovery can now be given a pinctrl handle and the I2C core will
   do all the steps to switch to/from GPIO which can save quite some
   boilerplate code from drivers

 - "fallthrough" conversion

 - driver updates, mostly ID additions

* 'i2c/for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (32 commits)
  i2c: iproc: fix race between client unreg and isr
  i2c: eg20t: use generic power management
  i2c: eg20t: Drop PCI wakeup calls from .suspend/.resume
  i2c: mediatek: Fix i2c_spec_values description
  i2c: mediatek: Add i2c compatible for MediaTek MT8192
  dt-bindings: i2c: update bindings for MT8192 SoC
  i2c: mediatek: Add access to more than 8GB dram in i2c driver
  i2c: mediatek: Add apdma sync in i2c driver
  i2c: i801: Add support for Intel Tiger Lake PCH-H
  i2c: i801: Add support for Intel Emmitsburg PCH
  i2c: bcm2835: Replace HTTP links with HTTPS ones
  Documentation: i2c: dev: 'block process call' is supported
  i2c: at91: Move to generic GPIO bus recovery
  i2c: core: treat EPROBE_DEFER when acquiring SCL/SDA GPIOs
  i2c: core: add generic I2C GPIO recovery
  dt-bindings: i2c: add generic properties for GPIO bus recovery
  i2c: rcar: avoid race when unregistering slave
  i2c: tegra: Avoid tegra_i2c_init_dma() for Tegra210 vi i2c
  i2c: tegra: Fix runtime resume to re-init VI I2C
  i2c: tegra: Fix the error path in tegra_i2c_runtime_resume
  ...
</content>
</entry>
<entry>
<title>i2c: core: add generic I2C GPIO recovery</title>
<updated>2020-08-05T09:52:27+00:00</updated>
<author>
<name>Codrin Ciubotariu</name>
<email>codrin.ciubotariu@microchip.com</email>
</author>
<published>2020-08-04T09:59:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/starfive-tech/linux.git/commit/?id=75820314de26b00aaea0d0e79269c0d17914c5c4'/>
<id>urn:sha1:75820314de26b00aaea0d0e79269c0d17914c5c4</id>
<content type='text'>
Multiple I2C bus drivers use similar bindings to obtain information needed
for I2C recovery. For example, for platforms using device-tree, the
properties look something like this:

&amp;i2c {
	...
	pinctrl-names = "default", "gpio";
	pinctrl-0 = &lt;&amp;pinctrl_i2c_default&gt;;
	pinctrl-1 = &lt;&amp;pinctrl_i2c_gpio&gt;;
	sda-gpios = &lt;&amp;pio 0 GPIO_ACTIVE_HIGH&gt;;
	scl-gpios = &lt;&amp;pio 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)&gt;;
	...
}

For this reason, we can add this common initialization in the core. This
way, other I2C bus drivers will be able to support GPIO recovery just by
providing a pointer to platform's pinctrl and calling i2c_recover_bus()
when SDA is stuck low.

Signed-off-by: Codrin Ciubotariu &lt;codrin.ciubotariu@microchip.com&gt;
[wsa: inverted one logic for better readability, minor update to kdoc]
Signed-off-by: Wolfram Sang &lt;wsa@kernel.org&gt;
</content>
</entry>
</feed>
