<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/include/linux/regmap.h, branch linux-4.3.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.3.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.3.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2015-09-04T16:22:10+00:00</updated>
<entry>
<title>Merge remote-tracking branches 'regmap/topic/lockdep' and 'regmap/topic/seq-delay' into regmap-next</title>
<updated>2015-09-04T16:22:10+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2015-09-04T16:22:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=072502a67c9164625288cca17704808e6c06273f'/>
<id>urn:sha1:072502a67c9164625288cca17704808e6c06273f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge remote-tracking branches 'regmap/topic/debugfs' and 'regmap/topic/force-update' into regmap-next</title>
<updated>2015-09-04T16:22:09+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2015-09-04T16:22:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=84fb9015d20dc12a2d36f7d775700a53cc45ad90'/>
<id>urn:sha1:84fb9015d20dc12a2d36f7d775700a53cc45ad90</id>
<content type='text'>
</content>
</entry>
<entry>
<title>regmap: regmap max_raw_read/write getter functions</title>
<updated>2015-08-30T09:19:22+00:00</updated>
<author>
<name>Markus Pargmann</name>
<email>mpa@pengutronix.de</email>
</author>
<published>2015-08-30T07:33:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f50c9eb4e9304cf555206c93152f580c0e7213b2'/>
<id>urn:sha1:f50c9eb4e9304cf555206c93152f580c0e7213b2</id>
<content type='text'>
Add functions to access the maximum size we can read/write using
regmap_raw_read/write().

This helps drivers that need to know how much they can write with the
raw functions without problems. There are some devices (e.g. bmc150)
that have fifos as registers which need to be read in specific chunks
otherwise samples are dropped.

Signed-off-by: Markus Pargmann &lt;mpa@pengutronix.de&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>regmap: Introduce max_raw_read/write for regmap_bulk_read/write</title>
<updated>2015-08-30T09:19:22+00:00</updated>
<author>
<name>Markus Pargmann</name>
<email>mpa@pengutronix.de</email>
</author>
<published>2015-08-30T07:33:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=adaac459759db4a1fd35baddbe47bac700095496'/>
<id>urn:sha1:adaac459759db4a1fd35baddbe47bac700095496</id>
<content type='text'>
There are some buses which have a limit on the maximum number of bytes
that can be send/received. An example for this is
I2C_FUNC_SMBUS_I2C_BLOCK which does not support any reads/writes of more
than 32 bytes. The regmap_bulk operations should still be able to
utilize the full 32 bytes in this case.

Signed-off-by: Markus Pargmann &lt;mpa@pengutronix.de&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>regmap: Add missing comments about struct regmap_bus</title>
<updated>2015-08-21T17:42:48+00:00</updated>
<author>
<name>Markus Pargmann</name>
<email>mpa@pengutronix.de</email>
</author>
<published>2015-08-21T08:26:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c5f58f2d700ef484fc2fbaa9c624c6076109f989'/>
<id>urn:sha1:c5f58f2d700ef484fc2fbaa9c624c6076109f989</id>
<content type='text'>
There are some fields of this struct undocumented or old. This patch
updates the missing comments.

Signed-off-by: Markus Pargmann &lt;mpa@pengutronix.de&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>regmap: Move documentation to regmap.h</title>
<updated>2015-08-11T16:21:44+00:00</updated>
<author>
<name>Nicolas Boichat</name>
<email>drinkcat@chromium.org</email>
</author>
<published>2015-08-11T10:04:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1ed8111443ae8caa455e7107031da36d1a6d351a'/>
<id>urn:sha1:1ed8111443ae8caa455e7107031da36d1a6d351a</id>
<content type='text'>
Init functions defined in regmap*.c files are now prefixed with
__, take lockdep key and class parameters, and should not be
called directly: move the documentation to regmap.h, where the
macros are defined.

Signed-off-by: Nicolas Boichat &lt;drinkcat@chromium.org&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>regmap: Use different lockdep class for each regmap init call</title>
<updated>2015-08-07T13:50:59+00:00</updated>
<author>
<name>Nicolas Boichat</name>
<email>drinkcat@chromium.org</email>
</author>
<published>2015-07-08T06:30:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3cfe7a74d42b7e3644f8b2b26aa20146d4f90f0f'/>
<id>urn:sha1:3cfe7a74d42b7e3644f8b2b26aa20146d4f90f0f</id>
<content type='text'>
Lockdep validator complains about recursive locking and deadlock
when two different regmap instances are called in a nested order.
That happens anytime a regmap read/write call needs to access
another regmap.

This is because, for performance reason, lockdep groups all locks
initialized by the same mutex_init() in the same lock class.
Therefore all regmap mutexes are in the same lock class, leading
to lockdep "nested locking" warnings if a regmap accesses another
regmap.

In general, it is impossible to establish in advance the hierarchy
of regmaps, so we make sure that each regmap init call initializes
its own static lock_class_key. This is done by wrapping all
regmap_init calls into macros.

This also allows us to give meaningful names to the lock_class_key.
For example, in rt5677 case, we have in /proc/lockdep_chains:
irq_context: 0
[ffffffc0018d2198] &amp;dev-&gt;mutex
[ffffffc0018d2198] &amp;dev-&gt;mutex
[ffffffc001bd7f60] rt5677:5104:(&amp;rt5677_regmap)-&gt;_lock
[ffffffc001bd7f58] rt5677:5096:(&amp;rt5677_regmap_physical)-&gt;_lock
[ffffffc001b95448] &amp;(&amp;base-&gt;lock)-&gt;rlock

The above would have resulted in a lockdep recursive warning
previously. This is not the case anymore as the lockdep validator
now clearly identifies the 2 regmaps as separate.

Signed-off-by: Nicolas Boichat &lt;drinkcat@chromium.org&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>regmap: Apply optional delay in multi_reg_write/register_patch</title>
<updated>2015-07-16T21:02:55+00:00</updated>
<author>
<name>Nariman Poushin</name>
<email>nariman@opensource.wolfsonmicro.com</email>
</author>
<published>2015-07-16T15:36:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2de9d6006c190bb0f706e8404de94cd94293801f'/>
<id>urn:sha1:2de9d6006c190bb0f706e8404de94cd94293801f</id>
<content type='text'>
Add an optional delay_us field in reg_sequence to allow the client to
specify a delay (in microseconds) to be applied after any given write
in a sequence of writes.

We treat a delay in a sequence the same way we treat a page change as
they are logically similar in that you can coalesce all write before
a delay (in the same way you can coalesce all writes before a page
change is needed)

Signed-off-by: Nariman Poushin &lt;nariman@opensource.wolfsonmicro.com&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>regmap: Use reg_sequence for multi_reg_write / register_patch</title>
<updated>2015-07-16T21:02:55+00:00</updated>
<author>
<name>Nariman Poushin</name>
<email>nariman@opensource.wolfsonmicro.com</email>
</author>
<published>2015-07-16T15:36:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8019ff6cfc0440415fcfb6352c58c3951e6ab053'/>
<id>urn:sha1:8019ff6cfc0440415fcfb6352c58c3951e6ab053</id>
<content type='text'>
Separate the functionality using sequences of register writes from the
functions that take register defaults. This change renames the arguments
in order to support the extension of reg_sequence to take an optional
delay to be applied after any given register in a sequence is written.
This avoids adding an int to all register defaults, which could
substantially increase memory usage for regmaps with large default tables.

This also updates all the clients of multi_reg_write/register_patch.

Signed-off-by: Nariman Poushin &lt;nariman@opensource.wolfsonmicro.com&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>regmap: add regmap_fields_force_write()</title>
<updated>2015-07-10T10:38:00+00:00</updated>
<author>
<name>Kuninori Morimoto</name>
<email>kuninori.morimoto.gx@renesas.com</email>
</author>
<published>2015-06-16T08:52:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e874e6c7edc43436f73cf84157d9221f8b807c36'/>
<id>urn:sha1:e874e6c7edc43436f73cf84157d9221f8b807c36</id>
<content type='text'>
regmap_fields_force_write() is similar to regmap_fields_write(),
but regmap_fields_force_write() write data to register even though
it is same value.

Signed-off-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
</feed>
