Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
7798b582
Commit
7798b582
authored
Feb 14, 2013
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'regmap/topic/flat' into regmap-next
parents
43280026
2ac902ce
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
77 additions
and
2 deletions
+77
-2
drivers/base/regmap/Makefile
drivers/base/regmap/Makefile
+1
-1
drivers/base/regmap/internal.h
drivers/base/regmap/internal.h
+1
-0
drivers/base/regmap/regcache-flat.c
drivers/base/regmap/regcache-flat.c
+72
-0
drivers/base/regmap/regcache.c
drivers/base/regmap/regcache.c
+1
-0
include/linux/regmap.h
include/linux/regmap.h
+2
-1
No files found.
drivers/base/regmap/Makefile
View file @
7798b582
obj-$(CONFIG_REGMAP)
+=
regmap.o regcache.o
obj-$(CONFIG_REGMAP)
+=
regcache-rbtree.o regcache-lzo.o
obj-$(CONFIG_REGMAP)
+=
regcache-rbtree.o regcache-lzo.o
regcache-flat.o
obj-$(CONFIG_DEBUG_FS)
+=
regmap-debugfs.o
obj-$(CONFIG_REGMAP_I2C)
+=
regmap-i2c.o
obj-$(CONFIG_REGMAP_SPI)
+=
regmap-spi.o
...
...
drivers/base/regmap/internal.h
View file @
7798b582
...
...
@@ -196,5 +196,6 @@ void regmap_async_complete_cb(struct regmap_async *async, int ret);
extern
struct
regcache_ops
regcache_rbtree_ops
;
extern
struct
regcache_ops
regcache_lzo_ops
;
extern
struct
regcache_ops
regcache_flat_ops
;
#endif
drivers/base/regmap/regcache-flat.c
0 → 100644
View file @
7798b582
/*
* Register cache access API - flat caching support
*
* Copyright 2012 Wolfson Microelectronics plc
*
* Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/slab.h>
#include <linux/device.h>
#include <linux/seq_file.h>
#include "internal.h"
static
int
regcache_flat_init
(
struct
regmap
*
map
)
{
int
i
;
unsigned
int
*
cache
;
map
->
cache
=
kzalloc
(
sizeof
(
unsigned
int
)
*
(
map
->
max_register
+
1
),
GFP_KERNEL
);
if
(
!
map
->
cache
)
return
-
ENOMEM
;
cache
=
map
->
cache
;
for
(
i
=
0
;
i
<
map
->
num_reg_defaults
;
i
++
)
cache
[
map
->
reg_defaults
[
i
].
reg
]
=
map
->
reg_defaults
[
i
].
def
;
return
0
;
}
static
int
regcache_flat_exit
(
struct
regmap
*
map
)
{
kfree
(
map
->
cache
);
map
->
cache
=
NULL
;
return
0
;
}
static
int
regcache_flat_read
(
struct
regmap
*
map
,
unsigned
int
reg
,
unsigned
int
*
value
)
{
unsigned
int
*
cache
=
map
->
cache
;
*
value
=
cache
[
reg
];
return
0
;
}
static
int
regcache_flat_write
(
struct
regmap
*
map
,
unsigned
int
reg
,
unsigned
int
value
)
{
unsigned
int
*
cache
=
map
->
cache
;
cache
[
reg
]
=
value
;
return
0
;
}
struct
regcache_ops
regcache_flat_ops
=
{
.
type
=
REGCACHE_FLAT
,
.
name
=
"flat"
,
.
init
=
regcache_flat_init
,
.
exit
=
regcache_flat_exit
,
.
read
=
regcache_flat_read
,
.
write
=
regcache_flat_write
,
};
drivers/base/regmap/regcache.c
View file @
7798b582
...
...
@@ -22,6 +22,7 @@
static
const
struct
regcache_ops
*
cache_types
[]
=
{
&
regcache_rbtree_ops
,
&
regcache_lzo_ops
,
&
regcache_flat_ops
,
};
static
int
regcache_hw_init
(
struct
regmap
*
map
)
...
...
include/linux/regmap.h
View file @
7798b582
...
...
@@ -28,7 +28,8 @@ struct regmap_range_cfg;
enum
regcache_type
{
REGCACHE_NONE
,
REGCACHE_RBTREE
,
REGCACHE_COMPRESSED
REGCACHE_COMPRESSED
,
REGCACHE_FLAT
,
};
/**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment