At the moment, if the length of the register field format is
N bytes, we can only get anything meaningful back to userspace
by providing a buffer that is N + 2 bytes large. Fix this
so we that we only need to provide a buffer of N bytes.
Signed-off-by: Dimitris Papastamos
---
drivers/base
: I961320c4a56fdd25d74f1a6cc1b470ff22d8dbca
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/internal.h | 1 +
drivers/base/regmap/regmap-debugfs.c | 6 ++
2 files changed, 7 insertions(+)
diff --git a/drivers/base/regmap/internal.h b/drivers/base/regmap/internal.h
index ef61b24
figure out where to start scanning
from.
Change-Id: I2515e0981ef6b17f784dd0e389d0d4a13d47123c
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/regmap-debugfs.c | 14 +-
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/drivers/base/regmap/regmap-debugfs.c
b
: Dimitris Papastamos
---
drivers/base/regmap/internal.h | 1 +
drivers/base/regmap/regmap-debugfs.c | 8
2 files changed, 9 insertions(+)
diff --git a/drivers/base/regmap/internal.h b/drivers/base/regmap/internal.h
index 0ae5b78..5a22bd3 100644
--- a/drivers/base/regmap/internal.h
figure out where to start scanning
from.
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/regmap-debugfs.c | 12 +++-
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/drivers/base/regmap/regmap-debugfs.c
b/drivers/base/regmap/regmap-debugfs.c
index 5fa2e6d..8584fac
On Fri, Feb 08, 2013 at 11:46:55AM +, Mark Brown wrote:
> On Fri, Feb 01, 2013 at 12:05:39PM +0000, Dimitris Papastamos wrote:
>
> > +struct regmap_reg_range {
> > + unsigned int start;
> > + unsigned int end;
> > + unsigned int attr;
> > +};
>
In preparation to support the regmap debugfs ranges functionality
factor this code out to a separate function. We'll need to ensure
that the value has been correctly calculated from two separate places
in the code.
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/regmap-debu
This file lists the register ranges in the register map. The condition
to split the range is based on the actual register attributes. A range
is a contiguous block of registers with the same register attributes.
Signed-off-by: Dimitris Papastamos
---
Hi,
This is applied on top of commit
On Mon, Feb 11, 2013 at 01:16:41PM +, Mark Brown wrote:
> On Mon, Feb 11, 2013 at 10:52:23AM +0000, Dimitris Papastamos wrote:
>
> > +struct regmap_reg_range {
> > + unsigned int start;
> > + unsigned int end;
> > + unsigned int attr;
> > +};
>
This file lists the register ranges in the register map. The condition
to split the range is based on the actual register attributes. A range
is a contiguous block of registers with the same register attributes.
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/internal.h | 1
This file lists the register ranges in the register map. The condition
to split the range is based on the actual register attributes. A range
is a contiguous block of registers with the same register attributes.
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/regmap-debugfs.c | 179
This file lists the register ranges in the register map. The condition
to split the range is based on the actual register attributes. A range
is a contiguous block of registers with the same register attributes.
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/regmap-debugfs.c | 177
This file lists the register ranges in the register map. The condition
to split the range is based on the actual register attributes. A range
is a contiguous block of registers with the same register attributes.
Signed-off-by: Dimitris Papastamos
---
Simplified the code a bit, removed the
We don't need to use any of the file position information
to calculate the base and max register of each block. Just
use the counter directly.
Set `i = base' at the top to avoid GCC flow analysis bugs. The
value of `i' can never be undefined or 0 in the if (c) { ... }.
Signed-o
tions of the `registers' file and the `range' file.
Signed-off-by: Dimitris Papastamos
---
Hi,
Moved the locking of the `debugfs_off_cache' list over to this patch.
I think this should be the final version of the patch.
drivers/base/regmap/internal.h | 1 +
driver
Provide a feel of how much overhead the rbtree cache adds to
the game.
Signed-off-by: Dimitris Papastamos
---
Print the size in bytes instead of kB.
drivers/base/regmap/regcache-rbtree.c | 9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/base/regmap/regcache
On Tue, Mar 12, 2013 at 06:12:47PM +, Mark Brown wrote:
> On Tue, Mar 12, 2013 at 05:26:49PM +0000, Dimitris Papastamos wrote:
>
> > + mem_size = sizeof(*rbtree_ctx);
> > +
> > for (node = rb_first(&rbtree_ctx->root); node != NULL;
> > node
the
ratio `sizeof(*rbnode) / map->cache_word_size' in order to suitably
adjust the block length of each block.
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/regcache-rbtree.c | 42 +--
1 file changed, 40 insertions(+), 2 deletions(-)
diff
On Wed, Mar 13, 2013 at 11:13:26AM +, Mark Brown wrote:
> On Tue, Mar 12, 2013 at 05:26:49PM +0000, Dimitris Papastamos wrote:
> > Provide a feel of how much overhead the rbtree cache adds to
> > the game.
>
> Applied, with a tweak to the log to say "used X bytes&quo
the
ratio `sizeof(*rbnode) / map->cache_word_size' in order to suitably
adjust the block length of each block.
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/regcache-rbtree.c | 63 ++-
1 file changed, 62 insertions(+), 1 deletion(-)
diff
There is no point having this. The space gains are trivial if there
are any at all.
Change-Id: Ib4b1320420f780dcf5b9a1e4b05f5805691c4d9f
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/regcache-rbtree.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/base
On Fri, Mar 15, 2013 at 01:35:34AM +, Mark Brown wrote:
> On Thu, Mar 14, 2013 at 02:52:35PM +0000, Dimitris Papastamos wrote:
>
> > if (rbnode) {
> > reg_tmp = (reg - rbnode->base_reg) / map->reg_stride;
> > + /* Does this re
On Fri, Mar 15, 2013 at 01:36:40AM +, Mark Brown wrote:
> On Thu, Mar 14, 2013 at 03:26:19PM +0000, Dimitris Papastamos wrote:
> > There is no point having this. The space gains are trivial if there
> > are any at all.
>
> Applied, but numbers would have been nice an
the
ratio `sizeof(*rbnode) / map->cache_word_size' in order to suitably
adjust the block length of each block.
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/regcache-rbtree.c | 70 ++-
1 file changed, 69 insertions(+), 1 deletion(-)
diff
On Fri, Mar 15, 2013 at 04:53:51PM +, Mark Brown wrote:
> On Fri, Mar 15, 2013 at 11:16:02AM +0000, Dimitris Papastamos wrote:
>
> > On my system there was no benefit of using it, it just happens
> > that the struct is aligned properly and needs no padding.
>
> OK,
On Mon, Oct 22, 2012 at 08:42:02AM -0700, Greg Kroah-Hartman wrote:
> On Wed, Oct 10, 2012 at 11:56:24AM +0100, Dimitris Papastamos wrote:
> > In preparation to support dynamic listing/updating of firmware
> > paths via procfs, this patch converts the firmware path configuration
&g
-off-by: Dimitris Papastamos
---
drivers/base/firmware_class.c | 55 +++
1 file changed, 55 insertions(+)
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
index d76152b..322fff3 100644
--- a/drivers/base/firmware_class.c
+++ b
Hi Greg, I've rebased these on top of linux-next as you requested.
Dimitris Papastamos (3):
firmware: Convert firmware path setup from an array to a list
firmware: Add /proc/firmware_path entry to list the firmware paths
firmware: Factor out code to add paths to the firmware path
Signed-off-by: Dimitris Papastamos
---
drivers/base/firmware_class.c | 36 ++--
1 file changed, 22 insertions(+), 14 deletions(-)
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
index 322fff3..cf4aa5f 100644
--- a/drivers/base
In preparation to support dynamic listing/updating of firmware
paths via procfs, this patch converts the firmware path configuration
from an array to a list.
Signed-off-by: Dimitris Papastamos
---
drivers/base/firmware_class.c | 74 +--
1 file changed, 65
On Tue, Oct 23, 2012 at 09:08:50PM +0800, Ming Lei wrote:
> On Tue, Oct 23, 2012 at 8:52 PM, Dimitris Papastamos
> wrote:
> > In preparation to support dynamic listing/updating of firmware
> > paths via procfs, this patch converts the firmware path configuration
> >
On Tue, Oct 23, 2012 at 09:37:24PM +0800, Ming Lei wrote:
> On Tue, Oct 23, 2012 at 9:29 PM, Dimitris Papastamos
> wrote:
>
> >
> > Hi sorry for being unclear, I mentioned in the old thread that
> > I've not had time to fix this properly (or think about a proper
&
On Thu, Oct 25, 2012 at 11:48:33AM -0700, Greg Kroah-Hartman wrote:
> On Tue, Oct 23, 2012 at 01:52:55PM +0100, Dimitris Papastamos wrote:
> > This patch provides the aforementioned procfs file that lists
> > the default firmware paths that are used during firmware lookup.
&g
hift the locking up to the user.
Change-Id: I766bdce4ea3415ed87116a937576aa4812aad508
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/regmap.c | 13 -
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index
: Dimitris Papastamos
---
This is an initial implementation of the regdummy driver for regmap.
This is mainly useful for debugging/stress-testing regcache as it
removes the need for real hardware and can be done in an emulated
environment very easily.
There'll be incremental patches adding
hift the locking up to the user.
Signed-off-by: Dimitris Papastamos
---
V2, removed the change id that was automatically.
drivers/base/regmap/regmap.c | 13 -
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index
REGMAP_ALLOW_WRITE_DEBUGFS defined.
Signed-off-by: Dimitris Papastamos
---
This is an initial implementation of the regdummy driver for regmap.
This is mainly useful for debugging/stress-testing regcache as it
removes the need for real hardware and can be done in an emulated
environment very easily.
There'
In preparation to support dynamic listing/updating of firmware
paths via procfs, this patch converts the firmware path configuration
from an array to a list.
Signed-off-by: Dimitris Papastamos
---
drivers/base/firmware_class.c | 72 ++-
1 file changed, 64
-off-by: Dimitris Papastamos
---
drivers/base/firmware_class.c | 55 +++
1 file changed, 55 insertions(+)
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
index 2153eab..22cef4d 100644
--- a/drivers/base/firmware_class.c
+++ b
In preparation to support dynamic listing/updating of firmware
paths via procfs, this patch converts the firmware path configuration
from an array to a list.
Signed-off-by: Dimitris Papastamos
---
drivers/base/firmware_class.c | 72 ++-
1 file changed, 64
er to dynamically configure these paths.
Dimitris Papastamos (2):
firmware: Convert firmware path setup from an array to a list
firmware: Add /proc/fw_path entry to list the firmware paths
drivers/base/firmware_class.c | 127 +++---
1 file changed, 119 inser
-off-by: Dimitris Papastamos
---
drivers/base/firmware_class.c | 55 +++
1 file changed, 55 insertions(+)
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
index 2153eab..22cef4d 100644
--- a/drivers/base/firmware_class.c
+++ b
On Wed, Oct 10, 2012 at 10:36:55PM +0900, Greg Kroah-Hartman wrote:
> On Wed, Oct 10, 2012 at 11:56:25AM +0100, Dimitris Papastamos wrote:
> > This patch provides the aforementioned procfs file that lists
> > the default firmware paths that are used during firmware lookup.
&g
On Wed, Oct 10, 2012 at 10:36:55PM +0900, Greg Kroah-Hartman wrote:
> On Wed, Oct 10, 2012 at 11:56:25AM +0100, Dimitris Papastamos wrote:
> > This patch provides the aforementioned procfs file that lists
> > the default firmware paths that are used during firmware lookup.
&g
On Wed, Aug 21, 2013 at 04:28:23PM +0100, Mark Brown wrote:
> On Wed, Aug 21, 2013 at 05:08:46PM +0200, David Jander wrote:
>
> > This looks better. Not ideal still, but at least the codec works!
>
> > Should I re-send a patch with this fix?
>
> Yes, it's not the fix we actually want (we want to
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/regmap-debugfs.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/base/regmap/regmap-debugfs.c
b/drivers/base/regmap/regmap-debugfs.c
index 6cd1b78a..ee81635 100644
--- a/drivers/base/regmap/regmap
d-off-by: Mark Brown
Looks good.
Reviewed-by: Dimitris Papastamos
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
; Signed-off-by: Mark Brown
Reviewed-by: Dimitris Papastamos
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
On Fri, Mar 29, 2013 at 09:03:44PM +, Mark Brown wrote:
> For code clarity after implementing block writes split out the raw and
> non-raw I/O sync implementations.
>
> Signed-off-by: Mark Brown
Reviewed-by: Dimitris Papastamos
--
To unsubscribe from this list: send the line
s expected that
> hardware which has a register format which can support raw writes will
> support auto incrementing writes, this decision may need to be revised in
> future.
>
> Signed-off-by: Mark Brown
Reviewed-by: Dimitris Papastamos
--
To unsubscribe from this list: send the line
In the rbtree code we are exposing statistics relating to the
number of nodes/registers of the rbtree cache for each of the
devices. Ensure that `map->debugfs' has been initialized before
we attempt to initialize the debugfs entry for the rbtree cache.
Signed-off-by: Dimitris Pa
Provide a feel of how much overhead the rbtree cache adds to
the game.
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/regcache-rbtree.c | 12 ++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/base/regmap/regcache-rbtree.c
b/drivers/base/regmap
On Sat, Aug 04, 2012 at 11:05:23AM +0100, Mark Brown wrote:
> On Fri, Jul 27, 2012 at 02:58:20PM +0100, Dimitris Papastamos wrote:
> > Add a pseudo-driver for debugging and stress-testing the
> > regmap/regcache APIs. A standard set of tools for working
>
> Overall this lo
We don't need to use any of the file position information
to calculate the base and max register of each block. Just
use the counter directly.
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/regmap-debugfs.c | 8 ++--
1 file changed, 2 insertions(+), 6 deletions(-)
diff --
This file lists the register ranges in the register map. The condition
to split the range is based on the actual register attributes. A range
is a contiguous block of registers with the same register attributes.
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/internal.h | 1
There is a possible race between the read operations of the `registers'
file and the `range' file. Close that down by taking the appropriate
locks when modifying/accessing the list.
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/internal.h | 1 +
drivers/base/reg
loop without causing
an integer wrap-around.
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/regmap-debugfs.c | 13 ++---
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/drivers/base/regmap/regmap-debugfs.c
b/drivers/base/regmap/regmap-debugfs.c
index 78d5f20..d8
On Thu, Feb 14, 2013 at 02:14:40PM +, Mark Brown wrote:
> On Thu, Feb 14, 2013 at 02:04:04PM +0000, Dimitris Papastamos wrote:
>
> > - unsigned int i, ret;
> > + unsigned int i = 0, ret;
>
> Coding style and are you sure this is a good default.
Hm, it doesn'
We don't need to use any of the file position information
to calculate the base and max register of each block. Just
use the counter directly.
The `i = base' at the top to avoid GCC flow analysis bugs. The
value of `i' can never be undefined or 0 in the if (c) { ... }.
Signed-o
On Thu, Feb 14, 2013 at 02:54:17PM +, Mark Brown wrote:
> On Thu, Feb 14, 2013 at 12:31:48PM +0000, Dimitris Papastamos wrote:
>
> > There is a possible race between the read operations of the `registers'
> > file and the `range' file. Close that down by taking th
On Thu, Feb 14, 2013 at 02:43:06PM +, Mark Brown wrote:
> On Thu, Feb 14, 2013 at 12:31:44PM +0000, Dimitris Papastamos wrote:
>
> > @@ -96,6 +116,7 @@ static unsigned int regmap_debugfs_get_dump_start(struct
> > regmap *map,
> >
We don't need to use any of the file position information
to calculate the base and max register of each block. Just
use the counter directly.
Set `i = base' at the top to avoid GCC flow analysis bugs. The
value of `i' can never be undefined or 0 in the if (c) { ... }.
Signed-o
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.
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/regmap-debugfs.c | 76
1 file changed, 76 insertions
There is a possible race between the read operations of the `registers'
file and the `range' file. Close that down by taking the appropriate
locks when modifying/accessing the list.
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/internal.h | 1 +
drivers/base/reg
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/regmap-mmio.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/base/regmap/regmap-mmio.c
b/drivers/base/regmap/regmap-mmio.c
index d64a7fc..f05fc74 100644
--- a/drivers/base/regmap/regmap-mmio.c
+++ b/drivers
This is useful when we want to use regmap with character devices.
Signed-off-by: Dimitris Papastamos
---
drivers/base/regmap/regmap-debugfs.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/base/regmap/regmap-debugfs.c
b/drivers/base/regmap/regmap-debugfs.c
> Charles (or someone else from Wolfson), you commented on previous
> versions of this - are you still OK with it?
Looks good to me.
Privacy & Confidentiality Notice
-
This message and any attachments contain privileged and confidential
information
67 matches
Mail list logo