diff options
author | Anton Vorontsov <anton.vorontsov@linaro.org> | 2012-07-09 17:10:40 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-07-17 09:51:38 -0700 |
commit | 897dba027445be93f40e5caf550556ca38c48c51 (patch) | |
tree | 22b28b1681dd32d9ff9686009c16a5540ce5bc90 /include/linux/pstore.h | |
parent | b2ad368bebc0f772613668e893fa176396e9094c (diff) | |
download | lwn-897dba027445be93f40e5caf550556ca38c48c51.tar.gz lwn-897dba027445be93f40e5caf550556ca38c48c51.zip |
pstore: Introduce write_buf backend callback
For function tracing we need to stop using pstore.buf directly, since
in a tracing callback we can't use spinlocks, and thus we can't safely
use the global buffer.
With write_buf callback, backends no longer need to access pstore.buf
directly, and thus we can pass any buffers (e.g. allocated on stack).
Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/pstore.h')
-rw-r--r-- | include/linux/pstore.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/pstore.h b/include/linux/pstore.h index 1bd014b8e432..b107484192fc 100644 --- a/include/linux/pstore.h +++ b/include/linux/pstore.h @@ -48,6 +48,10 @@ struct pstore_info { int (*write)(enum pstore_type_id type, enum kmsg_dump_reason reason, u64 *id, unsigned int part, size_t size, struct pstore_info *psi); + int (*write_buf)(enum pstore_type_id type, + enum kmsg_dump_reason reason, u64 *id, + unsigned int part, const char *buf, size_t size, + struct pstore_info *psi); int (*erase)(enum pstore_type_id type, u64 id, struct pstore_info *psi); void *data; |