<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/base/regmap/internal.h, branch v3.11.1</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.11.1</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.11.1'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2013-06-30T11:40:03+00:00</updated>
<entry>
<title>Merge remote-tracking branch 'regmap/topic/field' into regmap-next</title>
<updated>2013-06-30T11:40:03+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@linaro.org</email>
</author>
<published>2013-06-30T11:40:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7bc8c4c37aea74332b16ffb5412a8ad355d508ce'/>
<id>urn:sha1:7bc8c4c37aea74332b16ffb5412a8ad355d508ce</id>
<content type='text'>
</content>
</entry>
<entry>
<title>regmap: Add regmap_field APIs</title>
<updated>2013-06-12T15:27:44+00:00</updated>
<author>
<name>Srinivas Kandagatla</name>
<email>srinivas.kandagatla@st.com</email>
</author>
<published>2013-06-11T12:18:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/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>
<entry>
<title>regmap: Make regmap-mmio usable from atomic contexts</title>
<updated>2013-05-25T15:16:02+00:00</updated>
<author>
<name>Lars-Peter Clausen</name>
<email>lars@metafoo.de</email>
</author>
<published>2013-05-24T08:29:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=92ab1aab59c61b3e05200b9aa0e05ab770059142'/>
<id>urn:sha1:92ab1aab59c61b3e05200b9aa0e05ab770059142</id>
<content type='text'>
regmap-mmio uses a spinlock with spin_lock() and spin_unlock() for locking.
To be able to use the regmap API from different contexts (atomic vs non-atomic),
without the risk of race conditions, we need to use spin_lock_irqsave() and
spin_lock_irqrestore() instead. A new field, the spinlock_flags field, is added
to regmap struct to store the flags between regmap_{,un}lock_spinlock(). The
spinlock_flags field itself is also protected by the spinlock.

Thanks to Stephen Warren for the suggestion of this particular solution.

Signed-off-by: Lars-Peter Clausen &lt;lars@metafoo.de&gt;
Reviewed-by: Stephen Warren &lt;swarren@nvidia.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regmap: Add support for discarding parts of the register cache</title>
<updated>2013-05-12T14:46:47+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@opensource.wolfsonmicro.com</email>
</author>
<published>2013-05-08T12:55:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=697e85bc6a9aa44ecd73392586fe9cfd7e0467ba'/>
<id>urn:sha1:697e85bc6a9aa44ecd73392586fe9cfd7e0467ba</id>
<content type='text'>
Allow drivers to discard parts of the register cache, for example if part
of the hardware has been reset.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'regmap/topic/range' into regmap-next</title>
<updated>2013-04-16T15:05:50+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@opensource.wolfsonmicro.com</email>
</author>
<published>2013-04-16T15:05:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=38a817965d2d624b0db68f3bf5ae783ad7f2087a'/>
<id>urn:sha1:38a817965d2d624b0db68f3bf5ae783ad7f2087a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>regmap: cache: Factor out block sync</title>
<updated>2013-03-30T13:52:25+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@opensource.wolfsonmicro.com</email>
</author>
<published>2013-03-29T19:32:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f8bd822cbf953299b2957b45f6a43c08e7931ddc'/>
<id>urn:sha1:f8bd822cbf953299b2957b45f6a43c08e7931ddc</id>
<content type='text'>
The idea of holding blocks of registers in device format is shared between
at least rbtree and lzo cache formats so split out the loop that does the
sync from the rbtree code so optimisations on it can be reused.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Reviewed-by: Dimitris Papastamos &lt;dp@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regmap: cache: Factor out reg_present support from rbtree cache</title>
<updated>2013-03-30T13:49:17+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@opensource.wolfsonmicro.com</email>
</author>
<published>2013-03-29T19:18:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=78493f2d7b51d6f6d03982cee559c62dfab4c292'/>
<id>urn:sha1:78493f2d7b51d6f6d03982cee559c62dfab4c292</id>
<content type='text'>
The idea of maintaining a bitmap of present registers is something that
can usefully be used by other cache types that maintain blocks of cached
registers so move the code out of the rbtree cache and into the generic
regcache code.

Refactor the interface slightly as we go to wrap the set bit and enlarge
bitmap operations (since we never do one without the other) and make it
more robust for reads of uncached registers by bounds checking before we
look at the bitmap.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Reviewed-by: Dimitris Papastamos &lt;dp@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regmap: cache: Provide a get address of value operation</title>
<updated>2013-03-26T21:38:16+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@opensource.wolfsonmicro.com</email>
</author>
<published>2013-03-13T19:29:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8817796b75c8847d63d6d4523c79c24b47748a05'/>
<id>urn:sha1:8817796b75c8847d63d6d4523c79c24b47748a05</id>
<content type='text'>
Provide a helper to do the size based index into a block of registers and
use it when reading a value.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regmap: core: Make raw write available to regcache</title>
<updated>2013-03-26T19:17:32+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@opensource.wolfsonmicro.com</email>
</author>
<published>2013-03-13T19:19:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=584de329ca43cc6d73eb74885e1d5d9fc0549423'/>
<id>urn:sha1:584de329ca43cc6d73eb74885e1d5d9fc0549423</id>
<content type='text'>
This allows the cache to sync values directly to the device when stored
in native format and also allows asynchronous I/O.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regmap: debugfs: Add a registers `range' file</title>
<updated>2013-03-04T02:33:03+00:00</updated>
<author>
<name>Dimitris Papastamos</name>
<email>dp@opensource.wolfsonmicro.com</email>
</author>
<published>2013-02-20T12:15:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=065b4c587557dcd3dc8d3ff1ba2b9ecc6e0c6668'/>
<id>urn:sha1:065b4c587557dcd3dc8d3ff1ba2b9ecc6e0c6668</id>
<content type='text'>
This file lists the register ranges in the register map.  The condition
to split the range is based on whether the block is readable or not.

Ensure that we lock the `debugfs_off_cache' list whenever we access
and modify the list.  There is a possible race otherwise between the
read() operations of the `registers' file and the `range' file.

Signed-off-by: Dimitris Papastamos &lt;dp@opensource.wolfsonmicro.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
</feed>
