<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/base/regmap, branch v3.11</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v3.11</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v3.11'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2013-08-21T16:03:54Z</updated>
<entry>
<title>regmap: rbtree: Fix overlapping rbnodes.</title>
<updated>2013-08-21T16:03:54Z</updated>
<author>
<name>David Jander</name>
<email>david@protonic.nl</email>
</author>
<published>2013-08-21T15:37:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4e67fb5f5e336250db944921e3c68057d6203034'/>
<id>urn:sha1:4e67fb5f5e336250db944921e3c68057d6203034</id>
<content type='text'>
Avoid overlapping register regions by making the initial blklen of a new
node 1. If a register write occurs to a yet uncached register, that is
lower than but near an existing node's base_reg, a new node is created
and it's blklen is set to an arbitrary value (sizeof(*rbnode)). That may
cause this node to overlap with another node. Those nodes should be merged,
but this merge doesn't happen yet, so this patch at least makes the initial
blklen small enough to avoid hitting the wrong node, which may otherwise
lead to severe breakage.

Signed-off-by: David Jander &lt;david@protonic.nl&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>regmap: cache: Make sure to sync the last register in a block</title>
<updated>2013-08-05T14:51:09Z</updated>
<author>
<name>Lars-Peter Clausen</name>
<email>lars@metafoo.de</email>
</author>
<published>2013-08-05T09:21:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2d49b5987561e480bdbd8692b27fc5f49a1e2f0b'/>
<id>urn:sha1:2d49b5987561e480bdbd8692b27fc5f49a1e2f0b</id>
<content type='text'>
regcache_sync_block_raw_flush() expects the address of the register after last
register that needs to be synced as its parameter. But the last call to
regcache_sync_block_raw_flush() in regcache_sync_block_raw() passes the address
of the last register in the block. This effectively always skips over the last
register in a block, even if it needs to be synced. In order to fix it increase
the address by one register.

The issue was introduced in commit 75a5f89 ("regmap: cache: Write consecutive
registers in a single block write").

Cc: stable@vger.kernel.org # 3.10+
Signed-off-by: Lars-Peter Clausen &lt;lars@metafoo.de&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'regmap-v3.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap</title>
<updated>2013-07-15T22:44:58Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-07-15T22:44:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f2ec26a3d41c8a07861aed23bc8c8eb7d9445d62'/>
<id>urn:sha1:f2ec26a3d41c8a07861aed23bc8c8eb7d9445d62</id>
<content type='text'>
Pull regmap fix from Mark Brown:
 "Fix regmap crash for async operation on busless maps

  This fixes a crash if something tries to do an asynchronous operation
  on busless maps which was introduced during the merge window"

* tag 'regmap-v3.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
  regmap: cache: bail in regmap_async_complete() for bus-less maps
</content>
</entry>
<entry>
<title>regmap: cache: bail in regmap_async_complete() for bus-less maps</title>
<updated>2013-07-04T12:54:44Z</updated>
<author>
<name>Daniel Mack</name>
<email>zonque@gmail.com</email>
</author>
<published>2013-07-04T11:11:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f2e055e7c9c6084bfbaa68701e52562acf96419e'/>
<id>urn:sha1:f2e055e7c9c6084bfbaa68701e52562acf96419e</id>
<content type='text'>
Commit f8bd822cb ("regmap: cache: Factor out block sync") made
regcache_rbtree_sync() call regmap_async_complete(), which in turn does
not check for map-&gt;bus before dereferencing it.

This causes a NULL pointer dereference on bus-less maps.

Signed-off-by: Daniel Mack &lt;zonque@gmail.com&gt;
Cc: stable@vger.kernel.org [v3.10 only]
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'regmap/topic/field' into regmap-next</title>
<updated>2013-06-30T11:40:03Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@linaro.org</email>
</author>
<published>2013-06-30T11:40:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=7bc8c4c37aea74332b16ffb5412a8ad355d508ce'/>
<id>urn:sha1:7bc8c4c37aea74332b16ffb5412a8ad355d508ce</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'regmap/topic/debugfs' into regmap-next</title>
<updated>2013-06-30T11:40:02Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@linaro.org</email>
</author>
<published>2013-06-30T11:40:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ad4f496b445eac30bb6ddc72599bf6dd73529cd2'/>
<id>urn:sha1:ad4f496b445eac30bb6ddc72599bf6dd73529cd2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'regmap/topic/core' into regmap-next</title>
<updated>2013-06-30T11:40:02Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@linaro.org</email>
</author>
<published>2013-06-30T11:40:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=912af52f31e7debfeb19c024c8280900a3c4e1a2'/>
<id>urn:sha1:912af52f31e7debfeb19c024c8280900a3c4e1a2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'regmap/topic/cache' into regmap-next</title>
<updated>2013-06-30T11:40:01Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@linaro.org</email>
</author>
<published>2013-06-30T11:40:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=feff98f5507f98c0422252caec41c3be9e6b6399'/>
<id>urn:sha1:feff98f5507f98c0422252caec41c3be9e6b6399</id>
<content type='text'>
</content>
</entry>
<entry>
<title>regmap: debugfs: Suppress cache for partial register files</title>
<updated>2013-06-19T09:18:09Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@opensource.wolfsonmicro.com</email>
</author>
<published>2013-05-29T14:54:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d6814a7dafa590ec5fe0597922ea76354f9bec59'/>
<id>urn:sha1:d6814a7dafa590ec5fe0597922ea76354f9bec59</id>
<content type='text'>
The cache is based on the full register map so confuses things if used
for a partial map.

Reported-by: Bard Liao &lt;bardliao@realtek.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regmap: Add regmap_field APIs</title>
<updated>2013-06-12T15:27:44Z</updated>
<author>
<name>Srinivas Kandagatla</name>
<email>srinivas.kandagatla@st.com</email>
</author>
<published>2013-06-11T12:18:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=67252287871113deba96adf7e4df1752f3f08688'/>
<id>urn:sha1:67252287871113deba96adf7e4df1752f3f08688</id>
<content type='text'>
It is common to access regmap registers at bit level, using
regmap_update_bits or regmap_read functions, however the end user has to
take care of a mask or shifting. This becomes overhead when such use
cases are high. Having a common function to do this is much convenient
and less error prone.

The idea of regmap_field is simple, regmap_field gives a logical
structure to bits of the regmap register, and the driver can use this
logical entity without the knowledge of the bit positions and masks all
over the code. This way code looks much neat and it need not handle the
masks, shifts every time it access the those entities.

With this new regmap_field_read/write apis the end user can setup a
regmap field using regmap_field_init and use the return regmap_field to
read write the register field without worrying about the masks or
shifts.

Also this apis will be useful for drivers which are based on regmaps,
like some clocks or pinctrls which can work on the regmap_fields
directly without having to worry about bit positions.

Signed-off-by: Srinivas Kandagatla &lt;srinivas.kandagatla@st.com&gt;
Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
</content>
</entry>
</feed>
