<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/i2c/muxes, branch linux-4.4.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-11-26T08:54:52Z</updated>
<entry>
<title>i2c: mux: fix up dependencies</title>
<updated>2016-11-26T08:54:52Z</updated>
<author>
<name>Linus Walleij</name>
</author>
<published>2016-11-14T14:34:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=936d157fa7ae3085a37bfce53c6aad8a2ad3b405'/>
<id>urn:sha1:936d157fa7ae3085a37bfce53c6aad8a2ad3b405</id>
<content type='text'>
commit 93d710a65ef02fb7fd48ae207e78f460bd7a6089 upstream.

We get the following build error from UM Linux after adding
an entry to drivers/iio/gyro/Kconfig that issues "select I2C_MUX":

ERROR: "devm_ioremap_resource"
   [drivers/i2c/muxes/i2c-mux-reg.ko] undefined!
ERROR: "of_address_to_resource"
   [drivers/i2c/muxes/i2c-mux-reg.ko] undefined!

It appears that the I2C mux core code depends on HAS_IOMEM
for historical reasons, while CONFIG_I2C_MUX_REG does *not*
have a direct dependency on HAS_IOMEM.

This creates a situation where a allyesconfig or allmodconfig
for UM Linux will select I2C_MUX, and will implicitly enable
I2C_MUX_REG as well, and the compilation will fail for the
register driver.

Fix this up by making I2C_MUX_REG depend on HAS_IOMEM and
removing the dependency from I2C_MUX.

Reported-by: kbuild test robot &lt;fengguang.wu@intel.com&gt;
Reported-by: Jonathan Cameron &lt;jic23@jic23.retrosnub.co.uk&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Acked-by: Jonathan Cameron &lt;jic23@kernel.org&gt;
Acked-by: Peter Rosin &lt;peda@axentia.se&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>i2c: mux: reg: wrong condition checked for of_address_to_resource return value</title>
<updated>2016-08-10T09:49:29Z</updated>
<author>
<name>Lukasz Gemborowski</name>
</author>
<published>2016-06-27T10:57:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1b0b5ca8f498a29c8646a3fd3bd5accbb8f8a156'/>
<id>urn:sha1:1b0b5ca8f498a29c8646a3fd3bd5accbb8f8a156</id>
<content type='text'>
commit 22ebf00eb56fe77922de8138aa9af9996582c2b3 upstream.

of_address_to_resource return 0 on successful call but
devm_ioremap_resource is called only if it returns non-zero value

Signed-off-by: Lukasz Gemborowski &lt;lukasz.gemborowski@nokia.com&gt;
Reviewed-by: Alexander Sverdlin &lt;alexander.sverdlin@nokia.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>i2c: mux: reg Change ioread endianness for readback</title>
<updated>2015-09-03T09:58:42Z</updated>
<author>
<name>York Sun</name>
</author>
<published>2015-09-02T16:40:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5a73882fd2c3a86b502d54da532d373a1f2db15e'/>
<id>urn:sha1:5a73882fd2c3a86b502d54da532d373a1f2db15e</id>
<content type='text'>
Reading the register (if allowed) after writing is to ensure writing
is completed on a posted bus. The endianness of reading doesn't matter.

Signed-off-by: York Sun &lt;yorksun@freescale.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: mux: reg: fix compilation warnings</title>
<updated>2015-09-03T09:56:23Z</updated>
<author>
<name>Mike Rapoport</name>
</author>
<published>2015-09-02T08:03:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a05a34e7f6ff4a942186e99932885b10c6bc1d1a'/>
<id>urn:sha1:a05a34e7f6ff4a942186e99932885b10c6bc1d1a</id>
<content type='text'>
With CONFIG_OF=n, the following warnings occur when compiling
drivers/i2c/muxes/i2c-mux-reg.c:

  CC      drivers/i2c/muxes/i2c-mux-reg.o
drivers/i2c/muxes/i2c-mux-reg.c:170:13: warning: ‘struct gpiomux’ declared inside parameter list [enabled by default]
      struct platform_device *pdev)
             ^
drivers/i2c/muxes/i2c-mux-reg.c:170:13: warning: its scope
is only this definition or declaration, which is probably not what you want [enabled by default]
drivers/i2c/muxes/i2c-mux-reg.c: In function ‘i2c_mux_reg_probe’:
drivers/i2c/muxes/i2c-mux-reg.c:201:3: warning: passing argument 1 of ‘i2c_mux_reg_probe_dt’ from incompatible pointer type [enabled by default]
   ret = i2c_mux_reg_probe_dt(mux, pdev);
   ^

Signed-off-by: Mike Rapoport &lt;mike.rapoport@gmail.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: mux: reg: simplify register size checking</title>
<updated>2015-09-03T09:54:41Z</updated>
<author>
<name>Wolfram Sang</name>
</author>
<published>2015-08-20T21:40:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fce388afd633cdf20844e17f47b0d97c7ee06e69'/>
<id>urn:sha1:fce388afd633cdf20844e17f47b0d97c7ee06e69</id>
<content type='text'>
Checking was done at three different locations, just do it once and
properly at probing time.

Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
Tested-by: York Sun &lt;yorksun@freescale.com&gt;
</content>
</entry>
<entry>
<title>i2c: muxes: fix leaked i2c adapter device node references</title>
<updated>2015-08-31T20:40:34Z</updated>
<author>
<name>Vladimir Zapolskiy</name>
</author>
<published>2015-08-26T20:59:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bdbf4a29ee5bbe5b6743ba47bc7b10ec2cba8b21'/>
<id>urn:sha1:bdbf4a29ee5bbe5b6743ba47bc7b10ec2cba8b21</id>
<content type='text'>
Every call of of_parse_phandle() increments user count of found device
node, if OF_DYNAMIC is enabled.

The change fixes all similar addressed cases in drivers/i2c.

Signed-off-by: Vladimir Zapolskiy &lt;vz@mleia.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: mux: Add register-based mux i2c-mux-reg</title>
<updated>2015-08-24T12:05:18Z</updated>
<author>
<name>York Sun</name>
</author>
<published>2015-08-17T18:53:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b3fdd32799d834e2626fae087906e886037350c6'/>
<id>urn:sha1:b3fdd32799d834e2626fae087906e886037350c6</id>
<content type='text'>
Based on i2c-mux-gpio driver, similarly the register-based mux
switch from one bus to another by setting a single register.
The register can be on PCIe bus, local bus, or any memory-mapped
address. The endianness of such register can be specified in device
tree if used, or in platform data.

Signed-off-by: York Sun &lt;yorksun@freescale.com&gt;
Acked-by: Alexander Sverdlin &lt;alexander.sverdlin@nokia.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: arb-gpio-challenge: use of_get_i2c_adapter_by_node interface</title>
<updated>2015-08-10T06:37:36Z</updated>
<author>
<name>Vladimir Zapolskiy</name>
</author>
<published>2015-07-27T14:30:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0d1ad98dd837c069572d16faf77fa7f50748c7d5'/>
<id>urn:sha1:0d1ad98dd837c069572d16faf77fa7f50748c7d5</id>
<content type='text'>
This change is needed to properly lock I2C parent bus driver.

Prior to this change i2c_put_adapter() is misused, which may lead
to an overflow over zero of I2C bus driver user counter.

Signed-off-by: Vladimir Zapolskiy &lt;vladimir_zapolskiy@mentor.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: Drop owner assignment from i2c_driver</title>
<updated>2015-08-10T06:37:35Z</updated>
<author>
<name>Krzysztof Kozlowski</name>
</author>
<published>2015-07-10T05:52:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=069d5b745b2a98ebc8c239fe0b7bdb6c5ff0f475'/>
<id>urn:sha1:069d5b745b2a98ebc8c239fe0b7bdb6c5ff0f475</id>
<content type='text'>
i2c_driver does not need to set an owner because i2c_register_driver()
will set it.

Signed-off-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: mux: pca954x: Use __i2c_transfer because of quirks</title>
<updated>2015-06-17T12:35:38Z</updated>
<author>
<name>Alexander Sverdlin</name>
</author>
<published>2015-06-12T12:41:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0a8237ae319ab5988d40a7a9b33d68846aae34b4'/>
<id>urn:sha1:0a8237ae319ab5988d40a7a9b33d68846aae34b4</id>
<content type='text'>
pca9541 and pca954x are calling master_xfer() of the parent adapter directly
thus bypassing the quirks checks of the adapter. Use __i2c_transfer() instead.

Signed-off-by: Alexander Sverdlin &lt;alexander.sverdlin@nokia.com&gt;
Tested-by: Łukasz Gemborowski &lt;lukasz.gemborowski@nokia.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Reviewed-by: Jisheng Zhang &lt;jszhang@marvell.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
Cc: stable@kernel.org
Fixes: b7f625840267b1 ("i2c: add quirk checks to core")
</content>
</entry>
</feed>
