<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/i2c/i2c-core.c, branch linux-4.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-01-10T08:27:06Z</updated>
<entry>
<title>i2c: always enable RuntimePM for the adapter device</title>
<updated>2016-01-10T08:27:06Z</updated>
<author>
<name>Wolfram Sang</name>
</author>
<published>2015-12-23T17:19:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9f924169c0358f630f9b6d26bb3de97360d8647b'/>
<id>urn:sha1:9f924169c0358f630f9b6d26bb3de97360d8647b</id>
<content type='text'>
The adapter device is a logical device. Because of that, it already uses
pm_runtime_no_callbacks() in the core. To ensure proper propagation from
the children (i2c devices) to the parent of the adapter (the HW device),
make sure RuntimePM is enabled in any case.

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: make i2c_parse_fw_timings() always visible</title>
<updated>2015-12-17T19:36:39Z</updated>
<author>
<name>Wolfram Sang</name>
</author>
<published>2015-12-17T12:32:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=54177ccfbe95fcf250a89508a705bfe4706e3b86'/>
<id>urn:sha1:54177ccfbe95fcf250a89508a705bfe4706e3b86</id>
<content type='text'>
This function used to be DT only, so it lived inside a CONFIG_OF block.
Now it uses device attributes and must be moved outside of it. No
further code changes, only one whitespace improvement.

Reported-by: Jim Davis &lt;jim.epost@gmail.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Reviewed-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: add generic routine to parse DT for timing information</title>
<updated>2015-12-14T09:51:07Z</updated>
<author>
<name>Wolfram Sang</name>
</author>
<published>2015-12-08T09:37:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e1dba01ca620bb0b3864d5237c1c597d9e012ebf'/>
<id>urn:sha1:e1dba01ca620bb0b3864d5237c1c597d9e012ebf</id>
<content type='text'>
Inspired from the i2c-rk3x driver (thanks guys!) but refactored and
extended. See built-in docs for further information.

Signed-off-by: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Reviewed-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: fix wakeup irq parsing</title>
<updated>2015-11-20T15:19:08Z</updated>
<author>
<name>Grygorii Strashko</name>
</author>
<published>2015-11-12T13:42:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c18fba23061f16dde128e10d4869ba4e88e0e81a'/>
<id>urn:sha1:c18fba23061f16dde128e10d4869ba4e88e0e81a</id>
<content type='text'>
This patch fixes obvious copy-past error in wake up irq parsing
code which leads to the fact that dev_pm_set_wake_irq() will
be called with wrong IRQ number when "wakeup" IRQ is not
defined in DT.

Fixes: 3fffd1283927 ("i2c: allow specifying separate wakeup interrupt in device tree")
Signed-off-by: Grygorii Strashko &lt;grygorii.strashko@ti.com&gt;
Acked-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v4.3
</content>
</entry>
<entry>
<title>Merge branch 'i2c/for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux</title>
<updated>2015-11-10T19:58:25Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2015-11-10T19:58:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d55fc37856244c929965c190c8e9dcb49e2c07aa'/>
<id>urn:sha1:d55fc37856244c929965c190c8e9dcb49e2c07aa</id>
<content type='text'>
Pull i2c updates from Wolfram Sang:

 - New drivers: UniPhier (with and without FIFO)

 - some drivers got some bigger rework: ismt, designware, img-scb (rcar
   had to be reverted because issues were showing up just lately)

 - ACPI: reworked the device scanning and added support for muxes

... and quite a lot of driver bugfixes and cleanups this time.  All
files touched outside of the i2c realm have proper acks.

* 'i2c/for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (70 commits)
  i2c: rcar: Revert the latest refactoring series
  i2c: pnx: remove superfluous assignment
  MAINTAINERS: i2c: drop i2c-pnx maintainer
  MAINTAINERS: i2c: mark also subdirectories as maintained
  i2c: cadence: enable driver for ARM64
  i2c: i801: Document Intel DNV and Broxton
  i2c: at91: manage unexpected RXRDY flag when starting a transfer
  i2c: pnx: Use setup_timer instead of open coding it
  i2c: add ACPI support for I2C mux ports
  acpi: add acpi_preset_companion() stub
  i2c: pxa: Add support for pxa910/988 &amp; new configuration features
  i2c: au1550: Convert to devm_kzalloc and devm_ioremap_resource
  i2c-dev: Fix I2C_SLAVE ioctl comment
  i2c-dev: Fix typo in ioctl name reference
  i2c: sirf: tune the divider to make i2c bus freq more accurate
  i2c: imx: Use -ENXIO as error in the NACK case
  i2c: i801: Add support for Intel Broxton
  i2c: i801: Add support for Intel DNV
  i2c: mediatek: add i2c resume support
  i2c: imx: implement bus recovery
  ...
</content>
</entry>
<entry>
<title>i2c: add ACPI support for I2C mux ports</title>
<updated>2015-10-25T14:49:46Z</updated>
<author>
<name>Dustin Byford</name>
</author>
<published>2015-10-23T19:27:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8eb5c87a92c065aaca39ac3e841b07906a4959a2'/>
<id>urn:sha1:8eb5c87a92c065aaca39ac3e841b07906a4959a2</id>
<content type='text'>
Although I2C mux devices are easily enumerated using ACPI (_HID/_CID or
device property compatible string match), enumerating I2C client devices
connected through an I2C mux needs a little extra work.

This change implements a method for describing an I2C device hierarchy that
includes mux devices by using an ACPI Device() for each mux channel along
with an _ADR to set the channel number for the device.  See
Documentation/acpi/i2c-muxes.txt for a simple example.

To make this work the ismt, i801, and designware pci/platform devs now
share an ACPI companion with their I2C adapter dev similar to how it's done
in OF.  This is done on the assumption that power management functions will
not be called directly on the I2C dev that is sharing the ACPI node.

Acked-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
Tested-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
Signed-off-by: Dustin Byford &lt;dustin@cumulusnetworks.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c / ACPI: Rework I2C device scanning</title>
<updated>2015-10-20T14:51:14Z</updated>
<author>
<name>Mika Westerberg</name>
</author>
<published>2015-10-07T10:18:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=166c2ba398640278ae6037be4aa5562c03cf3d24'/>
<id>urn:sha1:166c2ba398640278ae6037be4aa5562c03cf3d24</id>
<content type='text'>
The way we currently scan I2C devices behind an I2C host controller does not
work in cases where the I2C device in question is not declared directly below
the host controller ACPI node.

This is perfectly legal according the ACPI 6.0 specification and some existing
systems are doing this.

To be able to enumerate all devices which are connected to a certain I2C host
controller we need to rework the current I2C scanning routine a bit. Instead of
scanning directly below the host controller we scan the whole ACPI namespace
for present devices with valid I2cSerialBus() connection pointing to the host
controller in question.

Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Tested-by: Dustin Byford &lt;dustin@cumulusnetworks.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: return probe deferred status on dev_pm_domain_attach</title>
<updated>2015-10-15T11:35:32Z</updated>
<author>
<name>Kieran Bingham</name>
</author>
<published>2015-10-12T20:54:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=74cedd30522819d87131715ca0e7d041748b2721'/>
<id>urn:sha1:74cedd30522819d87131715ca0e7d041748b2721</id>
<content type='text'>
A change of return status was introduced in commit 3fffd1283927
("i2c: allow specifying separate wakeup interrupt in device tree")

The commit prevents the defer status being passed up the call stack
appropriately when dev_pm_domain_attach returns -EPROBE_DEFER.

Catch the PROBE_DEFER and clear up the IRQ wakeup status

Signed-off-by: Kieran Bingham &lt;kieranbingham@gmail.com&gt;
Fixes: 3fffd1283927 ("i2c: allow specifying separate wakeup interrupt in device tree")
Reviewed-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: allow specifying separate wakeup interrupt in device tree</title>
<updated>2015-08-26T16:47:58Z</updated>
<author>
<name>Dmitry Torokhov</name>
</author>
<published>2015-08-18T06:52:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3fffd12839273429a185d68431f117f0a3654b07'/>
<id>urn:sha1:3fffd12839273429a185d68431f117f0a3654b07</id>
<content type='text'>
Instead of having each i2c driver individually parse device tree data in
case it or platform supports separate wakeup interrupt, and handle
enabling and disabling wakeup interrupts in their power management
routines, let's have i2c core do that for us.

Platforms wishing to specify separate wakeup interrupt for the device
should use named interrupt syntax in their DTSes:

	interrupt-parent = &lt;&amp;intc1&gt;;
	interrupts = &lt;5 0&gt;, &lt;6 0&gt;;
	interrupt-names = "irq", "wakeup";

This patch is inspired by work done by Vignesh R &lt;vigneshr@ti.com&gt; for
pixcir_i2c_ts driver.

Note that the original code tried to preserve any existing wakeup
settings from userspace but was not quite right in that regard:
it would preserve wakeup flag set by userspace upon driver rebinding;
but it would re-arm the wakeup flag if it was disabled by userspace.

We think that resetting the flag upon re-binding the driver is proper
behavior as the driver is responsible for setting up and handling
wakeups.

Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
Tested-by: Vignesh R &lt;vigneshr@ti.com&gt;
[wsa: updated the commit message]
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: core: Add support for best effort block read emulation</title>
<updated>2015-08-24T12:05:19Z</updated>
<author>
<name>Irina Tirdea</name>
</author>
<published>2015-08-12T14:31:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=01eef96e37d77cd89156e5f51aab81a9d5c96539'/>
<id>urn:sha1:01eef96e37d77cd89156e5f51aab81a9d5c96539</id>
<content type='text'>
There are devices that need to handle block transactions
regardless of the capabilities exported by the adapter.
For performance reasons, they need to use i2c read blocks
if available, otherwise emulate the block transaction with word
or byte transactions.

Add support for a helper function that would read a data block
using the best transfer available: I2C_FUNC_SMBUS_READ_I2C_BLOCK,
I2C_FUNC_SMBUS_READ_WORD_DATA or I2C_FUNC_SMBUS_READ_BYTE_DATA.

Signed-off-by: Irina Tirdea &lt;irina.tirdea@intel.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
</feed>
