<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/base/regmap, branch v3.16</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/base/regmap?h=v3.16</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/base/regmap?h=v3.16'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-06-02T16:07:42Z</updated>
<entry>
<title>Merge remote-tracking branch 'regmap/topic/smbus' into regmap-next</title>
<updated>2014-06-02T16:07:42Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@linaro.org</email>
</author>
<published>2014-06-02T16:07:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ef98ae45e6b3ea17d3ed27cec9afdd7e46f916ae'/>
<id>urn:sha1:ef98ae45e6b3ea17d3ed27cec9afdd7e46f916ae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge remote-tracking branches 'regmap/topic/irq', 'regmap/topic/le', 'regmap/topic/mmio' and 'regmap/topic/rbtree' into regmap-next</title>
<updated>2014-06-02T16:07:39Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@linaro.org</email>
</author>
<published>2014-06-02T16:07:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=522168d178208ff821b9bc37ffcd2442b80f6e6d'/>
<id>urn:sha1:522168d178208ff821b9bc37ffcd2442b80f6e6d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>regmap: mmio: Fix regmap_mmio_write for uneven counts</title>
<updated>2014-05-26T15:56:02Z</updated>
<author>
<name>Philipp Zabel</name>
<email>p.zabel@pengutronix.de</email>
</author>
<published>2014-05-16T14:25:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2e804b7c72d4efd2318428a2c1e40fd0e173c487'/>
<id>urn:sha1:2e804b7c72d4efd2318428a2c1e40fd0e173c487</id>
<content type='text'>
Commit 932580409a9dacbf42215fa737bf06ae2c0aa624
"regmap: mmio: Add support for 1/2/8 bytes wide register address."
broke regmap_mmio_write for uneven counts, for example 32-bit register
addresses with no padding and 8-byte values (count = 5).
Fix this by allowing all counts large enough to include some value.
This check was BUG_ON(count &lt; 4) before the last change.

Signed-off-by: Philipp Zabel &lt;p.zabel@pengutronix.de&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
</content>
</entry>
<entry>
<title>regmap: irq: Fix possible ZERO_SIZE_PTR pointer dereferencing error.</title>
<updated>2014-05-26T15:37:04Z</updated>
<author>
<name>Xiubo Li</name>
<email>Li.Xiubo@freescale.com</email>
</author>
<published>2014-05-19T07:13:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e12892070184ee782c207f09722a93d0236be955'/>
<id>urn:sha1:e12892070184ee782c207f09722a93d0236be955</id>
<content type='text'>
Since we cannot make sure the 'chip-&gt;num_regs' will always be none zero
from the users, and then if 'chip-&gt;num_regs' equals to zero by mistake
or other reasons, the kzalloc() will return ZERO_SIZE_PTR, which equals
to ((void *)16).

So this patch fix this with just checking the 'chip-&gt;num_regs' before
calling kzalloc().

This also sorts the header files in alphabetical order at the same time.

Signed-off-by: Xiubo Li &lt;Li.Xiubo@freescale.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
</content>
</entry>
<entry>
<title>regmap: Add missing initialization of this_page</title>
<updated>2014-05-01T03:45:58Z</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert@linux-m68k.org</email>
</author>
<published>2014-04-22T10:47:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b48d13988bee440e43a510ea8878f1f329cee189'/>
<id>urn:sha1:b48d13988bee440e43a510ea8878f1f329cee189</id>
<content type='text'>
drivers/base/regmap/regmap.c: In function ‘_regmap_range_multi_paged_reg_write’:
drivers/base/regmap/regmap.c:1665: warning: ‘this_page’ may be used uninitialized in this function

Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
</content>
</entry>
<entry>
<title>regmap: Fix possible ZERO_SIZE_PTR pointer dereferencing error.</title>
<updated>2014-05-01T03:33:57Z</updated>
<author>
<name>Xiubo Li</name>
<email>Li.Xiubo@freescale.com</email>
</author>
<published>2014-04-30T09:31:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f5727cd31283aa478f7f9396c6eb7b5aceebb869'/>
<id>urn:sha1:f5727cd31283aa478f7f9396c6eb7b5aceebb869</id>
<content type='text'>
Since we cannot make sure the 'len = pair_size * num_regs' will always
be none zero from the users, and then if 'num_regs' equals to zero by
mistake or other reasons, the kzalloc() will return ZERO_SIZE_PTR, which
equals to ((void *)16).

So this patch fix this with just doing the 'len' zero check before calling
kzalloc().

Signed-off-by: Xiubo Li &lt;Li.Xiubo@freescale.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
</content>
</entry>
<entry>
<title>regmap: i2c: fallback to SMBus if the adapter does not support standard I2C</title>
<updated>2014-04-22T11:57:28Z</updated>
<author>
<name>Boris BREZILLON</name>
<email>boris.brezillon@free-electrons.com</email>
</author>
<published>2014-04-21T20:56:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b42261078a91db8a8307db42cad41a619077d1df'/>
<id>urn:sha1:b42261078a91db8a8307db42cad41a619077d1df</id>
<content type='text'>
Some I2C adapters are only compatible with the SMBus protocol and do not
support standard I2C transfers.

Fallback to SMBus transfers if we encounter such kind of adapters.
The transfer type is chosen according to the val_bits field in the regmap
config.

Signed-off-by: Boris BREZILLON &lt;boris.brezillon@free-electrons.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
</content>
</entry>
<entry>
<title>regmap: add reg_read/reg_write callbacks to regmap_bus struct</title>
<updated>2014-04-18T15:07:22Z</updated>
<author>
<name>Boris BREZILLON</name>
<email>boris.brezillon@free-electrons.com</email>
</author>
<published>2014-04-17T09:40:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3ac170376f2c5123414e0267aa0f9cf218965e24'/>
<id>urn:sha1:3ac170376f2c5123414e0267aa0f9cf218965e24</id>
<content type='text'>
Some busses do not support sending/receiving multiple registers in one go.
Such kind of busses just unpack the registers that have been previously
packed by the regmap core or pack registers that will be later unpacked by
the core code.

Add reg_write and reg_read callbacks in order to optimize access through
this kind of busses.

Signed-off-by: Boris BREZILLON &lt;boris.brezillon@free-electrons.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
</content>
</entry>
<entry>
<title>regmap: rbtree: improve 64bits memory alignment</title>
<updated>2014-04-14T15:59:48Z</updated>
<author>
<name>Jean-Christophe PINCE</name>
<email>jean-christophe.pince@intel.com</email>
</author>
<published>2014-04-01T20:26:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=70d383b7fefc40179da3eadbeb79c222d21987df'/>
<id>urn:sha1:70d383b7fefc40179da3eadbeb79c222d21987df</id>
<content type='text'>
Change regcache_rbtree_node strcuture fields order to align the pointers on
64bits architectures.

Signed-off-by: Jean-Christophe PINCE &lt;jean-christophe.pince@intel.com&gt;
Signed-off-by: David Cohen &lt;david.a.cohen@linux.intel.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
</content>
</entry>
<entry>
<title>regmap: mmio: Fix the bug of 'offset' value parsing.</title>
<updated>2014-04-14T15:58:54Z</updated>
<author>
<name>Xiubo Li</name>
<email>Li.Xiubo@freescale.com</email>
</author>
<published>2014-04-02T02:20:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=88cb32c657ed13dc29561d0f4aa154e0fd25759f'/>
<id>urn:sha1:88cb32c657ed13dc29561d0f4aa154e0fd25759f</id>
<content type='text'>
'offset = *(u32 *)reg;'
This will be okey for 32/64-bits register device, but for 8/16-bits
register ones, the 'offset' value will overflow, for example:

The IMX2 Watchdog, whose registers and values are all 16-bits:

If the IO base virtual address is ctx-&gt;regs = 0x888c0000, and the now
doing the 0x00 register accessing:
Using 'offset = *(u32 *)reg' the offset value will possiblly be 0x77310000,
Using 'offset = *(u16 *)reg' the offset value will be 0x0000.

In the regmap_mmio_gather_write(), ctx-&gt;regs + 0x7731000 will be 0xffbd0000,
but actually it should be ctx-&gt;regs + 0x0000 = 0x888c0000.

Signed-off-by: Xiubo Li &lt;Li.Xiubo@freescale.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
</content>
</entry>
</feed>
